@zereight/mcp-confluence

1.0.7 • Public • Published

Better Confluence Communication Server

Overview

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

How to use

smithery badge

confluence-mcp MCP server

Using with Claude App, Cline, Roo Code

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
      }
    }
  }
}

Using with Cursor

Installing via Smithery

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.
  • CONFLUENCE_IS_CLOUD: Determines Confluence version (Cloud or Server)
    • Default: true (Cloud version)
    • Set to 'false' explicitly for Server/Data Center version
    • Affects API endpoint paths:
      • Cloud: /wiki/rest/api
      • Server: /rest/api

Confluence Tools

  • 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"]
      }

Jira Tools

  • 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: Changes the status of a Jira issue.

    • Description: Changes the status of a Jira issue using transition ID.
    • 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"]
      }
  • get_board_sprints: Get all sprints from a Jira board.

    • Description: Retrieves all sprints from a specified Jira board.
    • Input Schema:
      {
        "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.

    • Description: Retrieves all issues from a specified sprint.
    • Input Schema:
      {
        "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.

    • Description: Retrieves the current active sprint and its issues from a specified board.
    • Input Schema:
      {
        "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.

    • Description: Retrieves all issues that belong to a specified epic.
    • Input Schema:
      {
        "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.

    • Description: Retrieves all issues associated with a specific user in a board.
    • Input Schema:
      {
        "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"]
      }

Readme

Keywords

none

Package Sidebar

Install

npm i @zereight/mcp-confluence

Weekly Downloads

51

Version

1.0.7

License

MIT

Unpacked Size

56.1 kB

Total Files

3

Last publish

Collaborators

  • zereight