Jira & Confluence MCP Server
An MCP (Model Context Protocol) server that lets AI assistants interact with Jira and Confluence via natural language. Works with Claude, GitHub Copilot, and any MCP-compatible client.
Quick Start (Recommended)
Install via uvx (no clone needed)
# 1. Get your Atlassian API token at:
# https://id.atlassian.com/manage-profile/security/api-tokens
# 2. Add to your MCP client config:
{
"mcpServers": {
"jira-mcp-server": {
"type": "local",
"command": "uvx",
"args": ["jira-mcp-server"],
"env": {
"ATLASSIAN_URL": "https://your-domain.atlassian.net",
"ATLASSIAN_EMAIL": "your-email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token"
}
}
}
}
That's it — uvx automatically downloads and runs the package in an isolated environment.
uvxnot installed? Run:pip install uvor see uv installation docs.
MCP Client Config Locations
| Client | Config file |
|---|---|
| GitHub Copilot CLI | ~/.copilot/mcp-config.json |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Desktop (Linux) | ~/.config/claude/claude_desktop_config.json |
Features
Jira Tools (37 tools)
| Category | Tools |
|---|---|
| Projects | jira_list_projects, jira_get_project |
| Issues | jira_get_issue, jira_search_issues, jira_create_issue, jira_update_issue, jira_delete_issue |
| Workflow | jira_get_transitions, jira_transition_issue |
| Comments | jira_get_comments, jira_add_comment, jira_update_comment, jira_delete_comment |
| Assignment | jira_assign_issue |
| Users | jira_search_users, jira_get_current_user |
| Boards | jira_list_boards, jira_get_board, jira_get_board_issues, jira_get_board_backlog |
| Sprints | jira_list_sprints, jira_get_sprint, jira_create_sprint, jira_update_sprint, jira_get_sprint_issues, jira_move_issues_to_sprint, jira_move_issues_to_backlog |
| Metadata | jira_get_issue_types, jira_get_priorities, jira_get_fields, jira_get_labels |
| Worklogs | jira_add_worklog, jira_get_worklogs |
| Watchers | jira_get_watchers, jira_add_watcher |
| Links | jira_get_link_types, jira_link_issues |
Confluence Tools (16 tools)
| Category | Tools |
|---|---|
| Spaces | confluence_list_spaces, confluence_get_space, confluence_get_space_by_key |
| Pages | confluence_get_page, confluence_list_pages_in_space, confluence_get_child_pages, confluence_create_page, confluence_update_page, confluence_delete_page |
| Labels | confluence_get_page_labels, confluence_add_page_labels, confluence_delete_page_label |
| Search | confluence_search |
| Hierarchy | confluence_get_page_ancestors |
| Comments | confluence_get_page_comments, confluence_add_page_comment |
Alternative: Run from Source
git clone https://github.com/halim-23/jira-mcp-server.git
cd jira-mcp-server
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your credentials
python3 main.py
Then point your MCP client to:
{
"mcpServers": {
"jira-mcp-server": {
"type": "local",
"command": "python3",
"args": ["/path/to/jira-mcp-server/main.py"]
}
}
}
Environment Variables
| Variable | Description |
|---|---|
ATLASSIAN_URL |
Your Atlassian base URL, e.g. https://yourco.atlassian.net |
ATLASSIAN_EMAIL |
Your Atlassian account email |
ATLASSIAN_API_TOKEN |
API token from id.atlassian.com |
All three variables are required. They can be set in a .env file (for local dev) or passed via the env block in your MCP client config (recommended for uvx usage).
Example Usage
Once configured, ask your AI assistant:
- "Show me all open issues in project MYPROJ"
- "Create a bug ticket: Login page throws 500 error on Safari"
- "Move PROJ-42 to In Progress and assign it to me"
- "Log 2 hours on PROJ-42 with comment 'code review'"
- "Show the active sprint on board 123"
- "Search Confluence for pages about deployment"
- "Create a Confluence page in space ENG titled 'API Design Guidelines'"
Technical Notes
This server targets Jira Cloud and Confluence Cloud REST APIs:
- Jira:
REST API v3(/rest/api/3/) + Agile API (/rest/agile/1.0/) - Confluence:
REST API v2(/wiki/api/v2/) with v1 fallback for CQL search - Search uses
POST /rest/api/3/search/jql(the current Jira Cloud search endpoint) - All API calls are async via
httpx
Contributing
See CONTRIBUTING.md for guidelines on reporting bugs, requesting features, and submitting pull requests.
License
MIT — see LICENSE.
Metadata
Release files for atlassian-mcp 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| atlassian_mcp-1.0.0.tar.gz | 15.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atlassian_mcp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.9 kB
Release files / atlassian_mcp-1.0.0.tar.gz
| Download URL | atlassian_mcp-1.0.0.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
60bd4a633e6cb9e20f5b2419d39dd80efb9f0c4d66c6316b023413e42391efeb
|
|
BLAKE2b-256 checksum How to use checksums |
5223a5f40425087a13ae78fde72e6c6eb167d1dccfd4fe4fea2490df4ee1c52f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / atlassian_mcp-1.0.0-py3-none-any.whl
| Download URL | atlassian_mcp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b08bc89bf4d8375f68faa6d79867c68b39e2516f1f613d6b6dfb39081802f2a
|
|
BLAKE2b-256 checksum How to use checksums |
4892fbbea57cd0032ea3b73b6d0a1426341a38228609dbcd31e9c6100cc35e2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for atlassian-mcp 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.