confluence mcp server
Enables querying and retrieving content from Confluence through CQL searches and page content fetching, allowing Claude to seamlessly access information stored in Confluence workspaces.
Enables querying and retrieving content from Confluence through CQL searches and page content fetching, allowing Claude to seamlessly access information stored in Confluence workspaces.
Interact with Confluence
This is a TypeScript-based MCP server that provides tools to interact with Confluence. It demonstrates core MCP concepts by providing:
execute_cql_search
cql
, limit
(default: 10).get_page_content
pageId
.Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"Confluence communication server": {
"command": "node",
"args": [
"/PATH_TO_THE_PROJECT/build/index.js"
],
"env": {
"CONFLUENCE_URL": "https://XXXXXXXX.atlassian.net/wiki",
"CONFLUENCE_API_MAIL": "Your email",
"CONFLUENCE_API_KEY": "KEY_FROM: https://id.atlassian.com/manage-profile/security/api-tokens"
}
}
}
}
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
[
{
"description": "Execute a CQL query on Confluence to search pages",
"inputSchema": {
"properties": {
"cql": {
"description": "CQL query string",
"type": "string"
},
"limit": {
"default": 10,
"description": "Number of results to return",
"type": "integer"
}
},
"required": [
"cql"
],
"type": "object"
},
"name": "execute_cql_search"
},
{
"description": "Get the content of a Confluence page",
"inputSchema": {
"properties": {
"pageId": {
"description": "Confluence Page ID",
"type": "string"
}
},
"required": [
"pageId"
],
"type": "object"
},
"name": "get_page_content"
}
]