Confluence
STDIOMCP server for Confluence integration, enabling AI assistants to interact with Confluence content.
MCP server for Confluence integration, enabling AI assistants to interact with Confluence content.
A Model Context Protocol (MCP) server for Confluence, enabling AI assistants to interact with Confluence content through a standardized interface.
ℹ️ There is a separate MCP server for Jira
# Clone the repository git clone https://github.com/cosmix/confluence-mcp.git cd confluence-mcp # Install dependencies bun install # Build the project bun run build
To use this MCP server, you need to set the following environment variables:
CONFLUENCE_API_TOKEN=your_api_token
CONFLUENCE_BASE_URL=your_confluence_instance_url  # e.g., https://your-domain.atlassian.net/wiki
CONFLUENCE_USER_EMAIL=your_email
Add this configuration to your settings file:
{ "mcpServers": { "confluence": { "command": "bun", "args": ["/absolute/path/to/confluence-mcp/dist/index.js"], "env": { "CONFLUENCE_API_TOKEN": "your_api_token", "CONFLUENCE_BASE_URL": "your_confluence_instance_url/wiki", "CONFLUENCE_USER_EMAIL": "your_email" } } } }
# Run in development mode bun run dev # Run tests bun test
The Confluence MCP server exposes the following tools:
Retrieve a Confluence page by ID. Format refers to the return format of the content and can be text or markdown. The includeMarkup parameter allows retrieving the original Confluence Storage Format (XHTML) markup, which is useful for updating pages while preserving formatting.
{ "pageId": "123456", "format": "text", "includeMarkup": true }
Search for Confluence pages using CQL (Confluence Query Language). Format refers to the return format of the content and can be text or markdown. The includeMarkup parameter allows retrieving the original Confluence Storage Format (XHTML) markup for each page.
{ "query": "space = DEV and label = documentation", "limit": 10, "format": "text", "includeMarkup": true }
List all available Confluence spaces.
{ "limit": 50 }
Create a new Confluence page. The parentId is optional and can be used to create a child page under an existing page.
{ "spaceKey": "DEV", "title": "New Page Title", "content": "<p>Page content in Confluence Storage Format (XHTML)</p>", "parentId": "123456" }
Update an existing Confluence page.
{ "pageId": "123456", "title": "Updated Page Title", "content": "<p>Updated content in Confluence Storage Format (XHTML)</p>", "version": 1 }
Retrieve comments for a specific Confluence page. Format refers to the return format of the content and can be text or markdown.
{ "pageId": "123456", "limit": 25, "format": "text" }
Add a comment to a Confluence page. The parentId is optional for creating threaded replies.
{ "pageId": "123456", "content": "<p>This is a new comment.</p>", "parentId": "789012" }
Retrieve attachments for a specific Confluence page.
{ "pageId": "123456", "limit": 25 }
Add an attachment to a Confluence page. The fileContentBase64 should be the base64 encoded string of the file content.
{ "pageId": "123456", "filename": "document.pdf", "fileContentBase64": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+P...", "comment": "Uploaded new version of the document" }
This project is licensed under the MIT License - see the LICENCE file for details.