Confluence集成
STDIO提供更稳定可靠的Confluence集成服务
提供更稳定可靠的Confluence集成服务
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:
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", "CONFLUENCE_IS_CLOUD": "true" // Set to "false" for Server/Data Center } } } }
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=[email protected] 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.CONFLUENCE_IS_CLOUD
: Determines Confluence version (Cloud or Server)
/wiki/rest/api
/rest/api
execute_cql_search: Executes a CQL query on Confluence to search pages.
{ "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.
{ "type": "object", "properties": { "pageId": { "type": "string", "description": "Confluence Page ID" } }, "required": ["pageId"] }
create_page: Creates a new Confluence page.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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: Changes the status of a Jira issue.
{ "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"] }
get_board_sprints: Get all sprints from a Jira board.
{ "type": "object", "properties": { "boardId": { "type": "string", "description": "Jira board ID" }, "state": { "type": "string", "description": "Filter sprints by state (active, future, closed)", "enum": ["active", "future", "closed"] } }, "required": ["boardId"] }
get_sprint_issues: Get all issues from a sprint.
{ "type": "object", "properties": { "sprintId": { "type": "string", "description": "Sprint ID" }, "fields": { "type": "array", "items": { "type": "string" }, "description": "List of fields to return for each issue" } }, "required": ["sprintId"] }
get_current_sprint: Get current active sprint from a board with its issues.
{ "type": "object", "properties": { "boardId": { "type": "string", "description": "Jira board ID" }, "includeIssues": { "type": "boolean", "description": "Whether to include sprint issues in the response", "default": true } }, "required": ["boardId"] }
get_epic_issues: Get all issues belonging to an epic.
{ "type": "object", "properties": { "epicKey": { "type": "string", "description": "Epic issue key (e.g. CONNECT-1234)" }, "fields": { "type": "array", "items": { "type": "string" }, "description": "List of fields to return for each issue" } }, "required": ["epicKey"] }
get_user_issues: Get all issues assigned to or reported by a specific user in a board.
{ "type": "object", "properties": { "boardId": { "type": "string", "description": "Jira board ID" }, "username": { "type": "string", "description": "Username to search issues for" }, "type": { "type": "string", "description": "Type of user association with issues", "enum": ["assignee", "reporter"], "default": "assignee" }, "status": { "type": "string", "description": "Filter by issue status", "enum": ["open", "in_progress", "done", "all"], "default": "all" } }, "required": ["boardId", "username"] }