A Model Context Protocol (MCP) server that provides secure access to Atlassian Confluence through its REST API.
To use this MCP server with Claude Code, add it to your MCP configuration file:
The easiest way to add this server is using the claude mcp add-json command:
# First, build the server
npm run build
# Then add it using claude mcp add-json
claude mcp add-json confluenceWhen prompted, paste the following JSON configuration:
{
"command": "node",
"args": ["/path/to/confluence_mcp/dist/index.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}Alternatively, you can manually edit your MCP configuration file (~/.config/claude-code/mcp_servers_config.json):
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["/path/to/confluence_mcp/dist/index.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}
}
}For development or if you prefer running TypeScript directly:
{
"command": "npx",
"args": ["tsx", "/path/to/confluence_mcp/src/index.ts"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-domain.atlassian.net",
"CONFLUENCE_USERNAME": "your-email@domain.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"ALLOWED_SPACES": "SPACE1,SPACE2,SPACE3"
}
}- Replace the environment variables with your actual Confluence credentials
- The
ALLOWED_SPACESshould be a comma-separated list of space keys you want to allow access to - Restart Claude Code after updating the configuration
- Make sure you have built the project first with
npm run buildif using Option 1
Once configured, you can use commands like:
- "Search for API documentation in Confluence"
- "Create a new page in the DEV space"
- "Show me all pages in the PROJ space"
-
Install dependencies:
npm install
-
Configure environment:
cp .env.example .env # Edit .env with your Confluence credentials -
Build and run:
npm run build npm start
Or for development:
npm run dev
Create a .env file with your Confluence credentials:
CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
CONFLUENCE_USERNAME=your-email@domain.com
CONFLUENCE_API_TOKEN=your-api-token
ALLOWED_SPACES=SPACE1,SPACE2,SPACE3
DEBUG=false- Go to Atlassian Account Settings
- Click "Create API token"
- Give it a descriptive label
- Copy the generated token (save it securely!)
- search_confluence - Search content across allowed spaces
- get_page - Retrieve a specific page by ID
- create_page - Create a new page
- update_page - Update an existing page
- delete_page - Delete a page
- list_spaces - List accessible spaces
- get_space_content - Get pages from a specific space
- API Token Authentication - Secure access using Atlassian API tokens
- Space Restrictions - Configurable allowed spaces list
- Permission Validation - Respects Confluence permissions
- Request Validation - Input validation and sanitization
# Type checking
npm run typecheck
# Linting
npm run lint
# Testing
npm test
# Build
npm run build