jira-confluence-mcp 0.5.9
jira-confluence-mcp is a Model Context Protocol (MCP) server that provides a standardized way for AI models to access and interact with resources from Jira and Confluence.
Requires Python: >=3.12

# Jira Confluence MCP Server

jira-confluence-mcp is a Model Context Protocol (MCP) server that provides a standardized way for AI models to access and interact with resources from Jira and Confluence.

## Configuration

```json
{
  "mcpServers": {
    "jira-confluence-mcp": {
      "command": "uvx",
      "args": [
        "jira-confluence-mcp"
      ],
      "env": {
        "AZURE_OPENAI_API_KEY": "",
        "AZURE_OPENAI_API_VERSION": "",
        "AZURE_OPENAI_CHAT_DEPLOYMENT_NAME": "",
        "AZURE_OPENAI_ENDPOINT": "",
        "CONFLUENCE_BASE_URL": "",
        "CONFLUENCE_PERSONAL_ACCESS_TOKEN": "",
        "JIRA_BASE_URL": "",
        "JIRA_PERSONAL_ACCESS_TOKEN": ""
      }
    }
  }
}
```

## Tools

### create_page_confluence

    When to use:
        Use this function to create a Confluence page.

    Args:
        parent_page_id (str): The ID of the parent page under which to create the page.
        title (str): The title of the new page to be created.
        body (str): The body of the page to be created.

    Returns:
        dict[str, Any]: Information about the created Confluence page as a dictionary, including:
            _expandable (dict): API paths for accessing additional information, such as metadata, operations, children, restrictions, descendants, etc.
            ancestors (list): List of ancestor pages, each containing details such as id, title, type, status, extensions, _expandable, and _links.
            body (dict): The content of the newly created page, including storage representation and value.
            container (dict): The container space to which this page belongs.
            extensions (dict): The position of the page within its space.
            history (dict): Information about the creation history, including createdBy and createdDate.
            id (str): The ID of the created page.
            links (dict): Various endpoint links related to the page, including webui, edit, tinyui, collection, base, context, and self.
            space (dict): The space to which the page belongs.
            status (str): The status of the page (usually "current").
            title (str): The title of the created page.
            type (str): The type of the content item (usually "page").
            version (dict): Versioning details of the page, such as version number, updatedBy, updateDate, and minorEdit.

### describe_image_confluence

    When to use:
        Use this function to ask a prompt about the contents of an image attachment in a Confluence page and retrieve the answer.

    Args:
        page_id (str): The ID of the Confluence page that contains the image attachment.
        filename (str): The filename of the attached image.
        prompt (str): The prompt about the image.

    Returns:
        str: The answer returned after processing the prompt about the image. The response is generated by a LLM model based on the provided image and prompt, and contains a textual interpretation, description, or analysis of the image content, depending on the prompt. The result may include details such as detected objects, structure, layout, or other relevant information found in the image as interpreted by the model.

### get_page_id_confluence

    When to use:
        Use this function to retrieve the page ID in Confluence.

    Args:
        space_key (str): The space key of the page to retrieve.
        title (str): The title of the page to retrieve.

    Returns:
        str: The ID of the retrieved page.

### get_page_tree_confluence

    When to use:
        Use this function to retrieve all descendant pages of a Confluence page.

    Args:
        page_id (str): The page ID of the page to retrieve descendants for.
        title (str, optional): The title of the page. Default is an empty string.

    Returns:
        dict[str, Any]: Information about all descendant pages as a dictionary, including:
            children (list): The child nodes of the current node. Each child node is a dictionary with keys 'id', 'title', and 'children'.
            id (str): The page ID of the current node.
            title (str): The title of the current node.

### get_page_content_confluence

    When to use:
        Use this function to retrieve the contents of a Confluence page. If a Gliffy diagram is included in the page body,
        the corresponding Gliffy file will be displayed inline within the body as JSON.

    Args:
        page_id (str): The page ID of the page to retrieve.

    Returns:
        dict[str, Any]: Information about the retrieved Confluence page as a dictionary, including:
            _expandable (dict): Related API paths for accessing additional information such as content, children, container, descendants, editor, export_view, history, metadata, operations, restrictions, space, styled_view, and version.
            _links (dict): Various endpoint links related to the page, including base, collection, context, edit, self, tinyui, and webui.
            body (dict): The content of the retrieved page, including storage representation and value. Gliffy diagrams are displayed as JSON code blocks inline.
            extensions (dict): The position of the retrieved page within the space.
            id (str): The ID of the retrieved page.
            status (str): The status of the retrieved page (usually "current").
            title (str): The title of the retrieved page.
            type (str): The type of the content item (usually "page").

### update_page_confluence

    When to use:
        Use this function to update the fields of a Confluence page.

    Args:
        page_id (str): The ID of the Confluence page to update.
        body (str, optional): The updated body for the page. Default is an empty string.
        title (str, optional): The updated title for the page. Default is an empty string.

    Returns:
        dict[str, Any]: Information about the updated Confluence page as a dictionary, including:
            _expandable (dict): Related API paths for accessing additional information such as children, descendants, metadata, operations, and restrictions.
            _links (dict): Various endpoint links related to the page, including base, collection, context, edit, self, tinyui, and webui.
            ancestors (list): List of ancestor pages, each containing details such as id, status, title, type, extensions, _expandable, and _links.
            body (dict): The content of the updated page, including storage representation and value.
            container (dict): The container space to which this page belongs.
            extensions (dict): The position of the page within its space.
            history (dict): Information about the creation history, including createdBy, createdDate, latest, _expandable, and _links.
            id (str): The ID of the updated page.
            space (dict): The space to which the page belongs, including id, key, name, type, _expandable, and _links.
            status (str): The status of the page (usually "current").
            title (str): The title of the updated page.
            type (str): The type of the content item (usually "page").
            version (dict): Versioning details of the page, such as by, when, number, minorEdit, hidden, _expandable, and _links.

### create_issue_jira

    When to use:
        Use this function to create a new Jira issue.

    Args:
        project (str): The key of the project where the issue will be created.
        issue_type (str): The type of issue to create. Available types are Bug, Story, or Task.
            Bug: A problem which impairs or prevents the functions of a product.
            Story: The smallest unit of work that needs to be done.
            Task: Represents work that needs to be done.
        summary (str): A brief summary of the issue to create.
        description (str): A detailed description of the issue to create.

    Returns:
        dict[str, Any]: Information about the created Jira issue as a dictionary, including:
            id (str): The id of the created issue.
            key (str): The key of the created issue.
            self (str): The URL of the created issue.

### describe_image_jira

    When to use:
        Use this function to ask a prompt about the contents of an image attachment in a Jira issue and retrieve the answer.

    Args:
        url (str): The URL of the attached file.
        prompt (str): The prompt about the image.

    Returns:
        str: The answer returned after processing the prompt about the image.

### get_issue_jira

    When to use:
        Use this function to retrieve the contents of a Jira issue.

    Args:
        issue_id_or_key (str): The id or key of the Jira issue to retrieve.

    Returns:
        dict[str, Any]: Information about the retrieved Jira issue as a dictionary, including:
            assignee (dict): The person to whom the issue is currently assigned.
            attachment (list): Files attached to the issue.
            comment (dict): Comments on the issue. Includes individual comments, authors, timestamps, and content.
            components (list): Project components to which this issue relates.
            created (str): The time and date when this issue was created.
            description (str): A detailed description of the issue.
            expand (str): Additional fields that can be requested.
            fields (dict): Details of the issue, including all other keys in this section.
            id (str): The id of the retrieved issue.
            issuetype (dict): The type of the issue (e.g. Bug, Story, Task).
            key (str): The key of the retrieved issue.
            labels (list): Labels to which this issue relates.
            reporter (dict): The person who created the issue.
            self (str): The URL of the retrieved issue.
            status (dict): The current status of the issue in its workflow.
            summary (str): A brief one-line summary of the issue.
            updated (str): The time and date when this issue was last updated.

### search_jira

    When to use:
        Use this function to search for Jira issues using JQL (Jira Query Language).

    Args:
        jql (str): The JQL query string to use for searching issues.
        start_at (int): The index of the first issue to return.
        max_results (int): The maximum number of issues to return.

    Returns:
        dict[str, Any]: Information about the searched Jira issues as a dictionary, including:
            expand (str): Additional fields that can be requested.
            issues (list): List of matching Jira issues. Each issue includes:
                expand (str): Additional fields that can be requested.
                fields (dict): Details of the issue, including:
                    assignee (dict): The person to whom the issue is currently assigned.
                    attachment (list): Files attached to the issue.
                    comment (dict): Comments on the issue.
                    components (list): Project components to which this issue relates.
                    created (str): The time and date when this issue was created.
                    description (str): A detailed description of the issue.
                    issuetype (dict): The type of the issue.
                    labels (list): Labels to which this issue relates.
                    reporter (dict): The person who created the issue.
                    status (dict): The current status of the issue in its workflow.
                    summary (str): A brief one-line summary of the issue.
                    updated (str): The time and date when this issue was last updated.
                id (str): The id of the issue.
                key (str): The key of the issue.
                self (str): The URL of the issue.
            maxResults (int): The maximum number of issues returned.
            startAt (int): The index of the first returned issue.
            total (int): The total number of results matching the JQL query.

### update_issue_jira

    When to use:
        Use this function to update the fields of a Jira issue.

    Args:
        issue_id_or_key (str): The id or key of the Jira issue to update.
        fields (dict[str, Any]): A dictionary containing the fields to update in the issue.

    Returns:
        int: The HTTP status code of the update operation.