MCP Atlassian
Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira). This integration supports both Confluence & Jira Cloud and Server/Data Center deployments.
Example Usage
Ask your AI assistant to:
- 📝 Automatic Jira Updates - "Update Jira from our meeting notes"
- 🔍 AI-Powered Confluence Search - "Find our OKR guide in Confluence and summarize it"
- 🐛 Smart Jira Issue Filtering - "Show me urgent bugs in PROJ project from last week"
- 📄 Content Creation & Management - "Create a tech design doc for XYZ feature"
Feature Demo
https://github.com/user-attachments/assets/35303504-14c6-4ae4-913b-7c25ea511c3e
Compatibility
| Product | Deployment Type | Support Status |
|---|---|---|
| Confluence | Cloud | ✅ Fully supported |
| Confluence | Server/Data Center | ✅ Supported (version 6.0+) |
| Jira | Cloud | ✅ Fully supported |
| Jira | Server/Data Center | ✅ Supported (version 8.14+) |
Quick Start Guide
1. Authentication Setup
First, generate the necessary authentication tokens for Confluence & Jira:
For Cloud
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click Create API token, name it
- Copy the token immediately
For Server/Data Center
- Go to your profile (avatar) → Profile → Personal Access Tokens
- Click Create token, name it, set expiry
- Copy the token immediately
2. Installation
MCP Atlassian is distributed as a Docker image. This is the recommended way to run the server, especially for IDE integration. Ensure you have Docker installed.
# Pull Pre-built Image
docker pull ghcr.io/sooperset/mcp-atlassian:latest
IDE Integration
MCP Atlassian is designed to be used with AI assistants through IDE integration.
Configuration Methods
There are two main approaches to configure the Docker container:
- Passing Variables Directly (shown in examples below)
- Using an Environment File with
--env-fileflag (shown in collapsible sections)
Configuration Examples
Method 1 (Passing Variables Directly):
{
"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": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_confluence_api_token",
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_jira_api_token"
}
}
}
}
Alternative: Using Environment File
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/your/mcp-atlassian.env",
"ghcr.io/sooperset/mcp-atlassian:latest"
]
}
}
}
Server/Data Center Configuration
For Server/Data Center deployments, use direct variable passing:
{
"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"
}
}
}
}
Single Service Configurations
For Confluence Cloud only:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_USERNAME",
"-e", "CONFLUENCE_API_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_api_token"
}
}
}
}
For Confluence Server/DC, use:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_PERSONAL_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://confluence.your-company.com",
"CONFLUENCE_PERSONAL_TOKEN": "your_personal_token"
}
}
}
}
For Jira Cloud only:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "JIRA_URL",
"-e", "JIRA_USERNAME",
"-e", "JIRA_API_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_api_token"
}
}
}
}
For Jira Server/DC, use:
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "JIRA_URL",
"-e", "JIRA_PERSONAL_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"JIRA_URL": "https://jira.your-company.com",
"JIRA_PERSONAL_TOKEN": "your_personal_token"
}
}
}
}
SSE Transport Configuration
Using SSE Instead of stdio
-
Start the server manually in a terminal:
docker run --rm -p 9000:9000 \ --env-file /path/to/your/.env \ ghcr.io/sooperset/mcp-atlassian:latest \ --transport sse --port 9000 -vv
-
Configure your IDE to connect to the running server via its URL:
{ "mcpServers": { "mcp-atlassian-sse": { "url": "http://localhost:9000/sse" } } }
Tools
Key Tools
Confluence Tools
confluence_search: Search Confluence content using CQLconfluence_get_page: Get content of a specific pageconfluence_create_page: Create a new pageconfluence_update_page: Update an existing page
Jira Tools
jira_get_issue: Get details of a specific issuejira_search: Search issues using JQLjira_create_issue: Create a new issuejira_update_issue: Update an existing issuejira_transition_issue: Transition an issue to a new statusjira_add_comment: Add a comment to an issue
View All Tools
| Confluence Tools | Jira Tools |
|---|---|
confluence_search |
jira_get_issue |
confluence_get_page |
jira_search |
confluence_get_page_children |
jira_get_project_issues |
confluence_get_page_ancestors |
jira_get_epic_issues |
confluence_get_comments |
jira_create_issue |
confluence_create_page |
jira_batch_create_issues |
confluence_update_page |
jira_update_issue |
confluence_delete_page |
jira_delete_issue |
jira_get_transitions |
|
jira_transition_issue |
|
jira_add_comment |
|
jira_add_worklog |
|
jira_get_worklog |
|
jira_download_attachments |
|
jira_link_to_epic |
|
jira_get_agile_boards |
|
jira_get_board_issues |
|
jira_get_sprints_from_board |
|
jira_get_sprint_issues |
|
jira_update_sprint |
|
jira_create_issue_link |
|
jira_remove_issue_link |
Troubleshooting & Debugging
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_USERNAMEandCONFLUENCE_API_TOKEN(where token is your password)
- SSL Certificate Issues: If using Server/Data Center and encounter SSL errors, set
CONFLUENCE_SSL_VERIFY=falseorJIRA_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 ...
# For local development version
npx @modelcontextprotocol/inspector uv --directory /path/to/your/mcp-atlassian run mcp-atlassian ...
# View logs
# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\logs\mcp*.log | more
Security
- Never share API tokens
- Keep .env files secure and private
- See SECURITY.md for best practices
Contributing
We welcome contributions to MCP Atlassian! If you'd like to contribute:
- Check out our CONTRIBUTING.md guide for detailed development setup instructions.
- Make changes and submit a pull request.
We use pre-commit hooks for code quality and follow semantic versioning for releases.
License
Licensed under MIT - see LICENSE file. This is not an official Atlassian product.
Metadata
Release files for mcp-atlassian 0.8.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_atlassian-0.8.3.tar.gz | 485.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_atlassian-0.8.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 612.2 kB
Release files / mcp_atlassian-0.8.3.tar.gz
| Download URL | mcp_atlassian-0.8.3.tar.gz |
|---|---|
| Size | 485.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d71f8227129c65ed93b66c0246d6b1974a50878663f883adb8d5fcab6c1e59e4
|
|
BLAKE2b-256 checksum How to use checksums |
ec74991dd104748f9b3d3128f2a064c49cb20a5ea625cbd2b0ce9e36efe1c525
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.0
|
Release files / mcp_atlassian-0.8.3-py3-none-any.whl
| Download URL | mcp_atlassian-0.8.3-py3-none-any.whl |
|---|---|
| Size | 127.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19b7a05aa0d2b77f378c4c2c3ae37dc9072327769865159fa70229d443bea80c
|
|
BLAKE2b-256 checksum How to use checksums |
5c66a034f3b876951d8c22191713bebc077349814abd6023ee7f4bf95671bef2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.0
|