mcp-atlassian
Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments.
MCP Atlassian
Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments.
Feature Demo
Compatibility
| Product | Deployment Type | Support Status | |---------|----------------|----------------| | Confluence | Cloud | ✅ Fully supported | | Confluence | Server/Data Center | ❌ Not yet supported | | Jira | Cloud | ✅ Fully supported | | Jira | Server/Data Center | ✅ Supported (version 8.14+) |
Installation
Using uv (recommended)
On macOS:
brew install uv
When using uv, no specific installation is needed. We will use uvx to directly run mcp-atlassian.
uvx mcp-atlassian
Using PIP
Alternatively you can install mcp-atlassian via pip:
pip install mcp-atlassian
Configuration
The MCP Atlassian integration supports using either Confluence, Jira, or both services. You only need to provide the environment variables for the service(s) you want to use.
Authentication
For Atlassian Cloud (Confluence and Jira Cloud)
Generate an API token for Atlassian Cloud:
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click Create API token, name it
- Copy the token immediately (it won't be shown again)
For Jira Server/Data Center
Generate a Personal Access Token in Jira Server/Data Center (v8.14+):
- Go to your profile (avatar) → Profile → Personal Access Tokens
- Click Create token, name it, set expiry
- Copy the token immediately after generation (it won't be shown again)
Usage with Claude Desktop
Note: For all configuration methods, include only the environment variables needed for your services:
- For Confluence only (Cloud): Include
CONFLUENCE_URL,CONFLUENCE_USERNAME, andCONFLUENCE_API_TOKEN- For Jira Cloud: Include
JIRA_URL,JIRA_USERNAME, andJIRA_API_TOKEN- For Jira Server/Data Center: Include
JIRA_URLandJIRA_PERSONAL_TOKEN- For multiple services: Include the variables for each service you want to use
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@domain.com",
"CONFLUENCE_API_TOKEN": "your_api_token",
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your.email@domain.com",
"JIRA_API_TOKEN": "your_api_token"
}
}
}
}
For Jira Server/Data Center:
{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@domain.com",
"CONFLUENCE_API_TOKEN": "your_api_token",
"JIRA_URL": "https://jira.your-company.com",
"JIRA_PERSONAL_TOKEN": "your_personal_access_token"
}
}
}
}
{
"mcpServers": {
"mcp-atlassian": {
"command": "python",
"args": ["-m", "mcp-atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@domain.com",
"CONFLUENCE_API_TOKEN": "your_api_token",
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your.email@domain.com",
"JIRA_API_TOKEN": "your_api_token"
}
}
}
}
There are two ways to configure the Docker environment:
- Using environment variables directly in the config:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp/atlassian"],
"env": {
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@domain.com",
"CONFLUENCE_API_TOKEN": "your_api_token",
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your.email@domain.com",
"JIRA_API_TOKEN": "your_api_token"
}
}
}
}
- Using an environment file:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/your/.env",
"mcp/atlassian"
]
}
}
}
The .env file should contain:
# Confluence
CONFLUENCE_URL=https://your-domain.atlassian.net/wiki # Your Confluence cloud URL
CONFLUENCE_USERNAME=your.email@domain.com # Your Atlassian account email
CONFLUENCE_API_TOKEN=your_api_token # API token for Confluence
#
# Jira Cloud
JIRA_URL=https://your-domain.atlassian.net # Your Jira cloud URL
JIRA_USERNAME=your.email@domain.com # Your Atlassian account email
JIRA_API_TOKEN=your_api_token # API token for Jira Cloud
# Jira Server/Data Center (alternative to JIRA_USERNAME and JIRA_API_TOKEN)
# JIRA_URL=https://jira.your-company.com # Your Jira Server/Data Center URL
# JIRA_PERSONAL_TOKEN=your_personal_access_token # Personal Access Token for Jira Server/Data Center
# JIRA_SSL_VERIFY=true # Set to 'false' for self-signed certificates
Cursor IDE Configuration
To integrate the MCP server with Cursor IDE:
Configure the server:
- Open Cursor Settings
- Navigate to
Features>MCP Servers - Click
Add new MCP server - Enter this configuration:
name: mcp-atlassian type: command command: uvx 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
Using a Local Development Version
If you've cloned the repository and want to run a local version of mcp-atlassian:
Configure in Claude Desktop:
{
"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"
]
}
}
}
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 spacesjira://{project_key}: Access Jira projects
Available Tools
| Tool | Description |
|------|-------------|
| confluence_search | Search Confluence content using CQL |
| confluence_get_page | Get content of a specific Confluence page |
| confluence_get_comments | Get comments for a specific Confluence page |
| confluence_create_page | Create a new Confluence page |
| confluence_update_page | Update an existing Confluence page |
| jira_get_issue | Get details of a specific Jira issue |
| jira_search | Search Jira issues using JQL |
| jira_get_project_issues | Get all issues for a specific Jira project |
| jira_create_issue | Create a new issue in Jira |
| jira_update_issue | Update an existing Jira issue |
| jira_delete_issue | Delete an existing Jira issue |
| jira_get_transitions | Get available status transitions for a Jira issue |
| jira_transition_issue | Transition a Jira issue to a new status |
| jira_add_worklog | Add a worklog entry to a Jira issue |
| jira_get_worklog | Get worklog entries for a Jira issue |
| jira_link_to_epic | Link an issue to an Epic |
| jira_get_epic_issues | Get all issues linked to a specific Epic |
Debugging
You can use the MCP inspector to debug the server:
npx @modelcontextprotocol/inspector uvx mcp-atlassian
For development installations:
cd path/to/mcp-atlassian
npx @modelcontextprotocol/inspector uv run mcp-atlassian
View logs with:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Build
Docker build:
docker build -t mcp/atlassian .
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.