
Confluence MCP Server
A Model Context Protocol (MCP) server that provides secure access to Atlassian Confluence through its REST API.
Using with Claude Code
To use this MCP server with Claude Code, add it to your MCP configuration file:
Option 1: Using claude mcp add-json (recommended)
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"
}
}Option 2: Manual configuration
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"
}
}
}
}Option 3: Using tsx for development
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"
}
}Configuration Notes
- 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"
Available Tools
- 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
Security Features
- 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
Development
# Type checking
npm run typecheck
# Linting
npm run lint
# Testing
npm test
# Build
npm run buildnpm installBefore it works, you'll need: CONFLUENCE_BASE_URLCONFLUENCE_USERNAMECONFLUENCE_API_TOKENALLOWED_SPACES
Quick Start
-
Install dependencies:
npm install -
Configure environment:
cp .env.example .env # Edit .env with your Confluence credentials -
Build and run:
npm run build npm startOr for development:
npm run dev
Configuration
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=falseGetting an API Token
- Go to Atlassian Account Settings
- Click "Create API token"
- Give it a descriptive label
- Copy the generated token (save it securely!)
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.