Extended MCP tools for Jira and Confluence — attachments, agile boards, sprints, calendars
Project description
mcp-atlassian-extended
mcp-atlassian-extended is a Model Context Protocol (MCP) server that extends mcp-atlassian with 23 additional tools for Jira and Confluence: issue creation with custom fields, issue links, attachments, agile boards, sprints, backlog management, user search, calendars, time-off tracking, and sprint capacity planning. Works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code Copilot, and any MCP-compatible client.
Built with FastMCP, httpx, and Pydantic.
Relationship to mcp-atlassian
This project runs alongside mcp-atlassian, not as a replacement. Configure both servers:
- mcp-atlassian handles: issues, search, transitions, comments, worklog, pages, Confluence search
- mcp-atlassian-extended handles: attachments, agile, users, fields, calendars, time-off
There is no tool overlap — this server only implements tools that mcp-atlassian lacks.
1-Click Installation
💡 Tip: For other AI assistants (Claude Code, Windsurf, IntelliJ), visit the Atlassian Extended MCP Installation Gateway.
Manual Setup Guides (Click to expand)
Prerequisite: Install
uvfirst (required for alluvxinstall flows). Install uv.
Claude Code
claude mcp add atlassian-extended -- uvx mcp-atlassian-extended
Windsurf & IntelliJ
Windsurf: Add to ~/.codeium/windsurf/mcp_config.json
IntelliJ: Add to Settings | Tools | MCP Servers
Note: The actual server config starts at
atlassian-extendedinside themcpServersobject.
{
"mcpServers": {
"atlassian-extended": {
"command": "uvx",
"args": ["mcp-atlassian-extended"],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_api_token",
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_api_token"
}
}
}
}
pip / uv
uv pip install mcp-atlassian-extended
Configuration
Jira Cloud (Basic Auth)
| Variable | Required | Default | Description |
|---|---|---|---|
JIRA_URL |
Yes | - | Jira instance URL (e.g. https://your-company.atlassian.net) |
JIRA_USERNAME |
Yes | - | Email address for Jira Cloud |
JIRA_API_TOKEN |
Yes | - | API token from id.atlassian.com/manage-profile/security/api-tokens |
Jira Data Center / Self-Hosted (Bearer Token)
| Variable | Required | Default | Description |
|---|---|---|---|
JIRA_URL |
Yes | - | Jira instance URL |
JIRA_PAT |
Yes | - | Personal access token |
Also accepts: JIRA_PERSONAL_TOKEN, JIRA_TOKEN
Confluence Cloud (Basic Auth)
| Variable | Required | Default | Description |
|---|---|---|---|
CONFLUENCE_URL |
Yes | - | Confluence URL (e.g. https://your-company.atlassian.net/wiki) |
CONFLUENCE_USERNAME |
Yes | - | Email address for Confluence Cloud |
CONFLUENCE_API_TOKEN |
Yes | - | API token (same as Jira if same Atlassian account) |
Confluence Data Center / Self-Hosted (Bearer Token)
| Variable | Required | Default | Description |
|---|---|---|---|
CONFLUENCE_URL |
Yes | - | Confluence instance URL |
CONFLUENCE_PAT |
Yes | - | Personal access token |
Also accepts: CONFLUENCE_PERSONAL_TOKEN, CONFLUENCE_TOKEN
Optional settings
| Variable | Default | Description |
|---|---|---|
ATLASSIAN_READ_ONLY |
false |
Set to true to globally disable write operations across tools |
JIRA_TIMEOUT |
30 |
HTTP request timeout for Jira in seconds |
JIRA_SSL_VERIFY |
true |
Set to false to skip SSL verification for Jira |
CONFLUENCE_TIMEOUT |
30 |
HTTP request timeout for Confluence in seconds |
CONFLUENCE_SSL_VERIFY |
true |
Set to false to skip SSL verification for Confluence |
Compatibility
| Client | Supported | Install Method |
|---|---|---|
| Claude Desktop | Yes | claude_desktop_config.json |
| Claude Code | Yes | claude mcp add |
| Cursor | Yes | One-click deeplink or .cursor/mcp.json |
| Windsurf | Yes | ~/.codeium/windsurf/mcp_config.json |
| VS Code Copilot | Yes | .vscode/mcp.json |
| Any MCP client | Yes | stdio or HTTP transport |
Tools (23)
| Category | Count | Tools |
|---|---|---|
| Jira Issues | 3 | create (with custom fields), update (with custom fields), create epic |
| Jira Links | 2 | create link, delete link |
| Jira Attachments | 4 | get, upload, download, delete |
| Jira Users | 1 | search by name/email |
| Jira Metadata | 3 | list projects, list fields, backlog |
| Jira Agile | 4 | get board, board config, get sprint, move to sprint |
| Confluence Calendars | 6 | list, search, time-off, who-is-out, person time-off, sprint capacity |
Full tool reference (click to expand)
Jira Issues
| Tool | Description |
|---|---|
jira_create_issue |
Create issue with standard and custom fields |
jira_update_issue |
Update issue fields and custom fields |
jira_create_epic |
Create an epic (sets issue type automatically) |
Jira Links
| Tool | Description |
|---|---|
jira_create_link |
Create a link between two issues (Relates, Blocks, etc.) |
jira_delete_link |
Delete an issue link by ID |
Jira Attachments
| Tool | Description |
|---|---|
jira_get_attachments |
List attachments on an issue |
jira_upload_attachment |
Upload file to issue |
jira_download_attachment |
Download attachment to local file |
jira_delete_attachment |
Delete an attachment |
Jira Users
| Tool | Description |
|---|---|
jira_search_users |
Search users by name/email |
Jira Metadata
| Tool | Description |
|---|---|
jira_list_projects |
List all accessible projects |
jira_list_fields |
List fields (with search/custom filter) |
jira_backlog |
Get backlog issues for a board |
Jira Agile
| Tool | Description |
|---|---|
jira_get_board |
Get board details |
jira_board_config |
Get board column configuration |
jira_get_sprint |
Get sprint details |
jira_move_to_sprint |
Move issues to a sprint |
Confluence Calendars
| Tool | Description |
|---|---|
confluence_list_calendars |
List all calendars |
confluence_search_calendars |
Search calendars by name/space |
confluence_get_time_off |
Get time-off events for date range |
confluence_who_is_out |
Check who is out on a date |
confluence_get_person_time_off |
Get person's time-off events |
confluence_sprint_capacity |
Calculate sprint capacity with time-off |
Attribution
Inspired by mcp-atlassian by sooperset. Architecture and patterns follow similar conventions.
Development
git clone https://github.com/vish288/mcp-atlassian-extended.git
cd mcp-atlassian-extended
uv sync --all-extras
uv run pytest --cov
uv run ruff check .
uv run ruff format --check .
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_atlassian_extended-0.2.1.tar.gz.
File metadata
- Download URL: mcp_atlassian_extended-0.2.1.tar.gz
- Upload date:
- Size: 128.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f83cf689849f099fd649ca28cbe0b623b3b8c0b783f2bf595798c3f80a131e73
|
|
| MD5 |
e9afda44bc565452bb0ad295d490053c
|
|
| BLAKE2b-256 |
9266a643cc4b4e38e4cba912f77294d6422da176a1e243021e122d3023a56644
|
Provenance
The following attestation bundles were made for mcp_atlassian_extended-0.2.1.tar.gz:
Publisher:
publish.yml on vish288/mcp-atlassian-extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_atlassian_extended-0.2.1.tar.gz -
Subject digest:
f83cf689849f099fd649ca28cbe0b623b3b8c0b783f2bf595798c3f80a131e73 - Sigstore transparency entry: 983363260
- Sigstore integration time:
-
Permalink:
vish288/mcp-atlassian-extended@f7b8020b4501fefbf65ec8cf0bcf30267cd5e125 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/vish288
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7b8020b4501fefbf65ec8cf0bcf30267cd5e125 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_atlassian_extended-0.2.1-py3-none-any.whl.
File metadata
- Download URL: mcp_atlassian_extended-0.2.1-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3258234c7551ec7156fbd15f3c626caf097adb40893967547ee5a4ee9dbe1a88
|
|
| MD5 |
c0fd1196a4043172274c36f26f7a40a1
|
|
| BLAKE2b-256 |
4bce7ebe937fcd23fe7e59a371745ebaeb17d9ecda207554c9a1e6ecd5f1c54e
|
Provenance
The following attestation bundles were made for mcp_atlassian_extended-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on vish288/mcp-atlassian-extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_atlassian_extended-0.2.1-py3-none-any.whl -
Subject digest:
3258234c7551ec7156fbd15f3c626caf097adb40893967547ee5a4ee9dbe1a88 - Sigstore transparency entry: 983363296
- Sigstore integration time:
-
Permalink:
vish288/mcp-atlassian-extended@f7b8020b4501fefbf65ec8cf0bcf30267cd5e125 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/vish288
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f7b8020b4501fefbf65ec8cf0bcf30267cd5e125 -
Trigger Event:
push
-
Statement type: