Atlassian Cloud MCP server

Access Confluence pages and Jira issues via Atlassian API.
Back to servers
Provider
sooperset
Release date
Dec 03, 2024
Language
Python
Package
Stats
224.4K downloads
1.5K stars

MCP Atlassian is a Model Context Protocol server that connects AI assistants to Atlassian products like Confluence and Jira. It enables AI-powered interactions with your Atlassian workspaces, supporting both Cloud and Server/Data Center deployments for seamless information retrieval and content management.

Authentication Setup

MCP Atlassian supports three authentication methods depending on your Atlassian deployment:

API Token Authentication (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

Personal Access Token (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

OAuth 2.0 Authentication (Cloud)

  1. Go to Atlassian Developer Console
  2. Create an "OAuth 2.0 (3LO) integration" app
  3. Configure Permissions (scopes) for Jira/Confluence
  4. Set Callback URL (e.g., http://localhost:8080/callback)
  5. Run setup wizard:
    docker run --rm -i \
      -p 8080:8080 \
      -v "${HOME}/.mcp-atlassian:/home/app/.mcp-atlassian" \
      ghcr.io/sooperset/mcp-atlassian:latest --oauth-setup -v
    
  6. Follow prompts for Client ID, Secret, URI, and Scope
  7. Complete browser authorization

Installation

The recommended installation method is using Docker:

# Pull Pre-built Image
docker pull ghcr.io/sooperset/mcp-atlassian:latest

IDE Integration

MCP Atlassian integrates with AI assistants through your IDE. Here's how to configure it:

Configuration Examples

Basic configuration with API token authentication:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "CONFLUENCE_URL",
        "-e", "CONFLUENCE_USERNAME",
        "-e", "CONFLUENCE_API_TOKEN",
        "-e", "JIRA_URL",
        "-e", "JIRA_USERNAME",
        "-e", "JIRA_API_TOKEN",
        "ghcr.io/sooperset/mcp-atlassian:latest"
      ],
      "env": {
        "CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
        "CONFLUENCE_USERNAME": "[email protected]",
        "CONFLUENCE_API_TOKEN": "your_confluence_api_token",
        "JIRA_URL": "https://your-company.atlassian.net",
        "JIRA_USERNAME": "[email protected]",
        "JIRA_API_TOKEN": "your_jira_api_token"
      }
    }
  }
}

Server/Data Center configuration with Personal Access Tokens:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "CONFLUENCE_URL",
        "-e", "CONFLUENCE_PERSONAL_TOKEN",
        "-e", "CONFLUENCE_SSL_VERIFY",
        "-e", "JIRA_URL",
        "-e", "JIRA_PERSONAL_TOKEN",
        "-e", "JIRA_SSL_VERIFY",
        "ghcr.io/sooperset/mcp-atlassian:latest"
      ],
      "env": {
        "CONFLUENCE_URL": "https://confluence.your-company.com",
        "CONFLUENCE_PERSONAL_TOKEN": "your_confluence_pat",
        "CONFLUENCE_SSL_VERIFY": "false",
        "JIRA_URL": "https://jira.your-company.com",
        "JIRA_PERSONAL_TOKEN": "your_jira_pat",
        "JIRA_SSL_VERIFY": "false"
      }
    }
  }
}

Environment Variables

Common environment variables include:

  • CONFLUENCE_SPACES_FILTER: Filter by space keys (e.g., "DEV,TEAM,DOC")
  • JIRA_PROJECTS_FILTER: Filter by project keys (e.g., "PROJ,DEV,SUPPORT")
  • READ_ONLY_MODE: Set to "true" to disable write operations
  • MCP_VERBOSE: Set to "true" for more detailed logging
  • ENABLED_TOOLS: Comma-separated list of tool names to enable

Available Tools

Jira Tools

  • jira_get_issue: Get details of a specific issue
  • jira_search: Search issues using JQL
  • jira_create_issue: Create a new issue
  • jira_update_issue: Update an existing issue
  • jira_transition_issue: Transition an issue to a new status
  • jira_add_comment: Add a comment to an issue

Confluence Tools

  • confluence_search: Search Confluence content using CQL
  • confluence_get_page: Get content of a specific page
  • confluence_create_page: Create a new page
  • confluence_update_page: Update an existing page

HTTP Transport Configuration

Instead of using stdio, you can run the server as a persistent HTTP service:

# For SSE transport
docker run --rm -p 9000:9000 \
  --env-file /path/to/your/.env \
  ghcr.io/sooperset/mcp-atlassian:latest \
  --transport sse --port 9000 -vv

IDE configuration with HTTP transport:

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

Troubleshooting

Common Issues

  • Authentication Failures:
    • For Cloud: Check your API tokens (not your account password)
    • For Server/Data Center: Verify your personal access token is valid and not expired
    • For older Confluence servers: Some older versions require basic authentication with CONFLUENCE_USERNAME and CONFLUENCE_API_TOKEN (where token is your password)
  • SSL Certificate Issues: If using Server/Data Center and encounter SSL errors, set CONFLUENCE_SSL_VERIFY=false or JIRA_SSL_VERIFY=false
  • Permission Errors: Ensure your Atlassian account has sufficient permissions to access the spaces/projects

Debugging Tools

# Using MCP Inspector for testing
npx @modelcontextprotocol/inspector uvx mcp-atlassian ...

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

# View logs (Windows)
type %APPDATA%\Claude\logs\mcp*.log | more

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later