Confluence MCP Server
A Model Context Protocol server that provides secure access to Atlassian Confluence, allowing users to search, create, update, and manage Confluence pages and spaces through natural language commands.
README Documentation
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 confluence
When 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_SPACES
should 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 build
if 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"
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 start
Or 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=false
Getting an API Token
- Go to Atlassian Account Settings
- Click "Create API token"
- Give it a descriptive label
- Copy the generated token (save it securely!)
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 build