Confluence Integration
STDIOMCP server enabling AI assistants to interact with Confluence content through standardized interface.
MCP server enabling AI assistants to interact with Confluence content through standardized interface.
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.