This server implements the Model Context Protocol (MCP) for Confluence integration. This version addresses and fixes bugs found in the existing Confluence server, providing a more stable and reliable experience. It provides functionalities to execute CQL queries and retrieve page content from Confluence.
This server follows the MCP client-server architecture:
- Acts as an MCP server providing Confluence functionalities
- Connects to Confluence as a data source
- Communicates with MCP clients through a standardized protocol
When using with the Claude App, you need to set up your API key and URLs directly.
{
"mcpServers": {
"Confluence communication server": {
"command": "npx",
"args": ["-y", "@zereight/mcp-confluence"],
"env": {
"CONFLUENCE_URL": "https://XXXXXXXX.atlassian.net",
"JIRA_URL": "https://XXXXXXXX.atlassian.net",
"CONFLUENCE_API_MAIL": "Your email",
"CONFLUENCE_API_KEY": "KEY_FROM: https://id.atlassian.com/manage-profile/security/api-tokens"
}
}
}
}
To install Confluence communication server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zereight/confluence-mcp --client claude
When using with Cursor, you can set up environment variables and run the server as follows:
env CONFLUENCE_API_MAIL=your@email.com CONFLUENCE_API_KEY=your-key CONFLUENCE_URL=your-confluence-url JIRA_URL=your-jira-url npx -y @zereight/mcp-confluence
CONFLUENCE_API_MAIL
: Your email address for the Confluence API.CONFLUENCE_API_KEY
: Your Confluence API key.CONFLUENCE_URL
: Your Confluence URL.JIRA_URL
: Your JIRA URL.
-
execute_cql_search: Executes a CQL query on Confluence to search pages.
- Description: Executes a CQL query on the Confluence instance to search for pages.
- Input Schema:
{ "type": "object", "properties": { "cql": { "type": "string", "description": "CQL query string" }, "limit": { "type": "integer", "description": "Number of results to return", "default": 10 } }, "required": ["cql"] }
-
get_page_content: Retrieves the content of a specific Confluence page.
- Description: Gets the content of a Confluence page using the page ID.
- Input Schema:
{ "type": "object", "properties": { "pageId": { "type": "string", "description": "Confluence Page ID" } }, "required": ["pageId"] }
-
create_page: Creates a new Confluence page.
- Description: Creates a new page in the specified Confluence space.
- Input Schema:
{ "type": "object", "properties": { "spaceKey": { "type": "string", "description": "Space key where the page will be created" }, "title": { "type": "string", "description": "Page title" }, "content": { "type": "string", "description": "Page content in storage format" }, "parentId": { "type": "string", "description": "Parent page ID (optional)" } }, "required": ["spaceKey", "title", "content"] }
-
update_page: Updates an existing Confluence page.
- Description: Updates the content of an existing Confluence page.
- Input Schema:
{ "type": "object", "properties": { "pageId": { "type": "string", "description": "ID of the page to update" }, "content": { "type": "string", "description": "New page content in storage format" }, "title": { "type": "string", "description": "New page title (optional)" } }, "required": ["pageId", "content"] }
-
execute_jql_search: Executes a JQL query on Jira to search issues.
- Description: Executes a JQL query on the Jira instance to search for issues.
- Input Schema:
{ "type": "object", "properties": { "jql": { "type": "string", "description": "JQL query string" }, "limit": { "type": "integer", "description": "Number of results to return", "default": 10 } }, "required": ["jql"] }
-
create_jira_issue: Creates a new Jira issue.
- Description: Creates a new issue in the specified Jira project.
- Input Schema:
{ "type": "object", "properties": { "project": { "type": "string", "description": "Project key" }, "summary": { "type": "string", "description": "Issue summary" }, "description": { "type": "string", "description": "Issue description" }, "issuetype": { "type": "string", "description": "Issue type name" }, "assignee": { "type": "string", "description": "Assignee account ID" }, "priority": { "type": "string", "description": "Priority ID" } }, "required": ["project", "summary", "issuetype"] }
-
update_jira_issue: Updates an existing Jira issue.
- Description: Updates fields of an existing Jira issue.
- Input Schema:
{ "type": "object", "properties": { "issueKey": { "type": "string", "description": "Issue key (e.g., PROJ-123)" }, "summary": { "type": "string", "description": "New issue summary" }, "description": { "type": "string", "description": "New issue description" }, "assignee": { "type": "string", "description": "New assignee account ID" }, "priority": { "type": "string", "description": "New priority ID" } }, "required": ["issueKey"] }
-
transition_jira_issue: Transitions the status of a Jira issue.
- Description: Changes the workflow status of a Jira issue.
- Input Schema:
{ "type": "object", "properties": { "issueKey": { "type": "string", "description": "Issue key (e.g., PROJ-123)" }, "transitionId": { "type": "string", "description": "Transition ID to change the issue status" } }, "required": ["issueKey", "transitionId"] }