mcp-atlassian
sooperset/mcp-atlassianUpdated Apr 050646

Remote#Atlassian#Confluence#JiraLicense: MIT LicenseLanguage: Python

MCP Atlassian

PyPI Version PyPI - Downloads PePy - Total Downloads License smithery badge

Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). This integration supports both Confluence & Jira Cloud and Server/Data Center deployments.

Feature Demo

Jira Demo

Confluence Demo

https://github.com/user-attachments/assets/7fe9c488-ad0c-4876-9b54-120b666bb785

Compatibility

ProductDeployment TypeSupport Status
ConfluenceCloud✅ Fully supported
ConfluenceServer/Data Center✅ Supported (version 6.0+)
JiraCloud✅ Fully supported
JiraServer/Data Center✅ Supported (version 8.14+)

Setup Guide

1. Authentication Setup

First, generate the necessary authentication tokens for Confluence & Jira:

For Cloud

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click Create API token, name it
  3. Copy the token immediately

For Server/Data Center

  1. Go to your profile (avatar) → ProfilePersonal Access Tokens
  2. Click Create token, name it, set expiry
  3. Copy the token immediately

2. Installation

Choose one of these installation methods:

# Using uv (recommended)
brew install uv
uvx mcp-atlassian

# Using pip
pip install mcp-atlassian

# Using Docker
git clone https://github.com/sooperset/mcp-atlassian.git
cd mcp-atlassian
docker build -t mcp/atlassian .

# Using Smithery
npx -y @smithery/cli install mcp-atlassian --client claude

3. Configuration and Usage

You can configure the MCP server using command line arguments. The server supports using either Confluence, Jira, or both services - include only the arguments needed for your use case.

Required Arguments

For Cloud:

uvx mcp-atlassian \
  --confluence-url https://your-company.atlassian.net/wiki \
  --confluence-username your.email@company.com \
  --confluence-token your_api_token \
  --jira-url https://your-company.atlassian.net \
  --jira-username your.email@company.com \
  --jira-token your_api_token

For Server/Data Center:

uvx mcp-atlassian \
  --confluence-url https://confluence.your-company.com \
  --confluence-personal-token your_token \
  --jira-url https://jira.your-company.com \
  --jira-personal-token your_token

Note: You can configure just Confluence, just Jira, or both services. Simply include only the arguments for the service(s) you want to use. For example, to use only Confluence Cloud, you would only need --confluence-url, --confluence-username, and --confluence-token.

Optional Arguments

  • --transport: Choose transport type (stdio [default] or sse)
  • --port: Port number for SSE transport (default: 8000)
  • --[no-]confluence-ssl-verify: Toggle SSL verification for Confluence Server/DC
  • --[no-]jira-ssl-verify: Toggle SSL verification for Jira Server/DC
  • --confluence-spaces-filter: Comma-separated list of space keys to filter Confluence search results (e.g., "DEV,TEAM,DOC")
  • --jira-projects-filter: Comma-separated list of project keys to filter Jira search results (e.g., "PROJ,DEV,SUPPORT")
  • --read-only: Run in read-only mode (disables all write operations)
  • --verbose: Increase logging verbosity (can be used multiple times, default is WARNING level)
    • -v or --verbose: Set logging to INFO level
    • -vv or --verbose --verbose: Set logging to DEBUG level

Note: All configuration options can also be set via environment variables. See the .env.example file in the repository for the full list of available environment variables.

IDE Integration

Claude Desktop Setup

Using uvx (recommended) - Cloud:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}
Using uvx (recommended) - Server/Data Center
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://confluence.your-company.com",
        "--confluence-personal-token=your_token",
        "--jira-url=https://jira.your-company.com",
        "--jira-personal-token=your_token"
      ]
    }
  }
}
Using uvx - Confluence with Basic Auth (older servers)
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://confluence.your-company.com",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_password"
      ]
    }
  }
}
Using uvx - Confluence only
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token"
      ]
    }
  }
}
Using uvx - Jira only
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}
Using pip

Note: Examples below use Cloud configuration. For Server/Data Center, use the corresponding arguments (--confluence-personal-token, --jira-personal-token) as shown in the Configuration section above.

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "mcp-atlassian",
      "args": [
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}
Using docker

Note: Examples below use Cloud configuration. For Server/Data Center, use the corresponding arguments (--confluence-personal-token, --jira-personal-token) as shown in the Configuration section above.

There are two ways to configure the Docker environment:

  1. Using cli arguments directly in the config:
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/atlassian",
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}
  1. Using an environment file:
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--env-file",
        "/path/to/your/.env",
        "mcp/atlassian"
      ]
    }
  }
}

Cursor IDE Setup

  1. Open Cursor Settings
  2. Navigate to Features > MCP Servers (or directly to MCP)
  3. Click + Add new global MCP server

This will create or edit the ~/.cursor/mcp.json file with your MCP server configuration.

Cursor MCP Configuration

JSON Configuration for stdio Transport

For Cloud:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}
Server/Data Center Configuration
{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://confluence.your-company.com",
        "--confluence-personal-token=your_token",
        "--jira-url=https://jira.your-company.com",
        "--jira-personal-token=your_token"
      ]
    }
  }
}

SSE Transport Configuration

For SSE transport, first start the server with its configuration provided via command-line arguments or server-side environment variables (e.g., from a .env file):

# Example starting the server with Cloud configuration
uvx mcp-atlassian --transport sse --port 9000 \
  --confluence-url https://your-company.atlassian.net/wiki \
  --confluence-username your.email@company.com \
  --confluence-token your_api_token \
  --jira-url https://your-company.atlassian.net \
  --jira-username your.email@company.com \
  --jira-token your_api_token

Then configure only the URL in Cursor's ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mcp-atlassian-sse": {
      "url": "http://localhost:9000/sse"
    }
  }
}

Resources

Note: The MCP server filters resources to only show Confluence spaces and Jira projects that the user is actively interacting with, based on their contributions and assignments.

  • confluence://{space_key}: Access Confluence spaces
  • jira://{project_key}: Access Jira projects

Available Tools

ToolDescription
confluence_searchSearch Confluence content using CQL
confluence_get_pageGet content of a specific Confluence page
confluence_get_page_childrenGet child pages of a specific Confluence page
confluence_get_page_ancestorsGet parent pages of a specific Confluence page
confluence_get_commentsGet comments for a specific Confluence page
confluence_create_pageCreate a new Confluence page
confluence_update_pageUpdate an existing Confluence page
confluence_delete_pageDelete an existing Confluence page
confluence_attach_contentAttach content to a Confluence page
jira_get_issueGet details of a specific Jira issue
jira_searchSearch Jira issues using JQL
jira_get_project_issuesGet all issues for a specific Jira project
jira_get_epic_issuesGet all issues linked to a specific Epic
jira_create_issueCreate a new issue in Jira
jira_update_issueUpdate an existing Jira issue
jira_delete_issueDelete an existing Jira issue
jira_get_transitionsGet available status transitions for a Jira issue
jira_transition_issueTransition a Jira issue to a new status
jira_add_commentAdd a comment to a Jira issue
jira_add_worklogAdd a worklog entry to a Jira issue
jira_get_worklogGet worklog entries for a Jira issue
jira_download_attachmentsDownload attachments from a Jira issue
jira_link_to_epicLink an issue to an Epic
jira_get_agile_boardsGet Jira agile boards by name, project key, or type
jira_get_board_issuesGet all issues linked to a specific board
jira_get_sprints_from_boardGet Jira sprints from board by state
jira_get_sprint_issuesGet Jira issues from sprint

Development & Debugging

Local Development Setup

If you've cloned the repository and want to run a local version:

For Cloud:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/your/mcp-atlassian",
        "run", "mcp-atlassian",
        "--confluence-url=https://your-domain.atlassian.net/wiki",
        "--confluence-username=your.email@domain.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-domain.atlassian.net",
        "--jira-username=your.email@domain.com",
        "--jira-token=your_api_token"
      ]
    }
  }
}

Debugging Tools

# Using MCP Inspector
# For installed package
npx @modelcontextprotocol/inspector uvx mcp-atlassian ...

# For local development version
npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-atlassian run mcp-atlassian ...

# View logs
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Security

  • Never share API tokens
  • Keep .env files secure and private
  • See SECURITY.md for best practices

License

Licensed under MIT - see LICENSE file. This is not an official Atlassian product.

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Run locally with the following command:
Terminal
Add the following config to your client:
JSON
{
  "mcpServers": {
    "mcp-atlassian": {
      "env": {},
      "args": [
        "mcp-atlassian",
        "--confluence-url=https://your-company.atlassian.net/wiki",
        "--confluence-username=your.email@company.com",
        "--confluence-token=your_api_token",
        "--jira-url=https://your-company.atlassian.net",
        "--jira-username=your.email@company.com",
        "--jira-token=your_api_token"
      ],
      "command": "uvx"
    }
  }
}

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord