Atlassian Vendor Productivity

Atlassian (Jira + Confluence)

Read + write Jira issues + Confluence pages — work-tracker and wiki access in one server.

5,735 stars 1,308 forks Last commit 1d ago Language TypeScript License Apache-2.0
Sign in to like, install, or save to a bundle → View on GitHub →

Install

uvx mcp-atlassian

Maintain this server? Add the badge

Show your README readers it's in a curated directory — and give them a one-click path to install docs and config.

Listed on Prismix ← links back here

Markdown

[![Listed on Prismix](https://prismix.dev/api/badge/mcp/atlassian.svg)](https://prismix.dev/mcp/atlassian)
Theme-aware version (auto dark/light on GitHub) →
<a href="https://prismix.dev/mcp/atlassian"><picture><source media="(prefers-color-scheme: dark)" srcset="https://prismix.dev/api/badge/mcp/atlassian.svg?theme=dark"><img alt="Listed on Prismix" src="https://prismix.dev/api/badge/mcp/atlassian.svg"></picture></a>

About

Atlassian's official MCP server. Jira issue CRUD + JQL search, Confluence page reads + edits, attachment handling, user lookups across both products. OAuth or API-token auth.

Recent releases (5)

All releases →
  • v0.23.0 Latest Jul 18, 2026
    This release adds JSM customer-request and internal-comment support, epic hierarchy and dependency tools, PAC/WPAD and mTLS connectivity, external auth passthrough, and Live Docs page creation, plus a broad batch of Jira/Confluence content fixes and security updates to Starlette and FastMCP.
    
    ## ✨ Features
    
    ### Jira
    - New JSM customer request tools — `jira_get_request_types`, `jira_get_request_type_fields`, and `jira_create_customer_request` — let clients list request types, inspect their visible fields, and raise customer requests with participants, base64 attachments, and on-behalf-of support (#1241)
    - New `jira_get_project_epic_hierarchy` groups a project's epics under their cross-project parent issues with direction-aware link classification, and `jira_get_cross_project_dependencies` maps issue links by target project and link type (#1286)
    - `jira_get_issue` and `jira_search` accept `use_display_names` to return human-readable custom field keys such as `Story Points` instead of opaque IDs like `customfield_10243`; conflicting names safely fall back to the raw ID (#1156)
    - Jira issue and search results now include a `browse_url` pointing at the issue's `/browse/` page, for quick open-ticket-in-browser workflows (#1471)
    - `jira_update_issue` accepts `return_fields` to trim the post-update re-fetch and cut response tokens; the full-issue default is unchanged (#1466)
    - Markdown `{expand:Title}` blocks in issue descriptions convert to native collapsible sections on Cloud, including nested headings, lists, and code blocks (#1309)
    - Development information queries discover case-sensitive application types from the dev-status summary endpoint when `application_type` is omitted, so custom connectors are found without guessing exact casing (#1329)
    
    ### Confluence
    - GFM task lists (`- [ ]` / `- [x]`) convert to native Confluence task macros instead of literal checkbox text, and new page template tools let you list Cloud templates, fetch them, and create pages from them (#1180)
    - Page creation accepts a `subtype` — including `live` for Live Docs — on Cloud, and page responses expose the subtype (#1479)
    
    ### Server/Transport
    - Opt-in external authentication passthrough: forward an operator-allowlisted set of incoming MCP headers to Jira and Confluence per request, supporting external proxy-managed auth without local Atlassian credentials. Dynamic per-request destinations require `MCP_ALLOWED_URL_DOMAINS` to prevent credential exfiltration (#1457)
    - Opt-in PAC/WPAD proxy auto-configuration for environments where the outbound route is selected by a PAC file. WPAD stays disabled by default, explicit proxy settings take precedence, and the SSRF/DNS-pinning defenses are preserved when PAC routing is enabled (#1367, #1461)
    - New `cert` auth type for Server/DC deployments that use mutual TLS: a client certificate/key pair alone now authenticates — previously setting `JIRA_CLIENT_CERT` / `CONFLUENCE_CLIENT_CERT` without a username or token left the service silently disabled (#1196)
    
    ## 🐛 Fixed
    
    ### Jira
    - `jira_get_issue_comments` no longer crashes with a `TypeError` on Cloud, where REST v3 returns comment bodies as ADF — bodies are converted to text the same way the add/edit comment paths already do (#1489)
    - Transition comments are routed through the correct API version: Cloud uses REST v3 with ADF in one atomic request (so workflows whose transition screen requires a comment now work), while Server/DC keep wiki-markup via v2 (#1355)
    - `jira_download_attachments` returns non-image attachments as `TextContent` with a JSON envelope (base64 payload, filename, MIME type) instead of an `EmbeddedResource` blob that some MCP clients reject; images keep the embedded form (#1469)
    - Bare Jira issue keys in Cloud markdown are autolinked to the configured `/browse/` URL when converted to ADF (#1468)
    - `jira_add_comment` accepts `comment` as a compatibility alias for the `body` parameter, so clients sending the older shape no longer fail argument valida
    View on GitHub ↗
  • v0.22.1 Jul 11, 2026
    ## 🔒 Security
    
    ### Jira
    
    - Prevented caller-supplied `projects_filter` values from injecting JQL operators that could escape the configured project allowlist. Filter values with JQL syntax are now quoted as literals, and generated project clauses are explicitly grouped. (#1450)
    
    ### Transport
    
    - Kept caller-controlled destinations on the direct DNS-pinned connection path when deployment proxies are configured, so proxy-side DNS resolution cannot bypass the SSRF rebinding defense. Operator-configured Jira, Confluence, OAuth gateway, and allowlisted hosts continue to support proxies. (#1450)
    - Resolved relative and scheme-relative redirect locations against the response URL before SSRF validation, restoring safe same-host redirects while continuing to block unsafe destinations. (#1450)
    
    **Full Changelog**: https://github.com/sooperset/mcp-atlassian/compare/v0.22.0...v0.22.1
    
    View on GitHub ↗
  • v0.22.0 Jul 10, 2026
    # v0.22.0
    
    This release bundles three months of community contributions with a coordinated security hardening pass across the attachment, transport, SSRF-validation, filtering, and OAuth layers.
    
    ## 🔒 Security
    
    A security audit (37 advisories, consolidated into root-cause families) was resolved in this release. Advisories are being published with "fixed in 0.22.0" — highlights:
    
    - **Attachment & content-file path confinement** — `upload_attachment` / `download_attachment` (Jira & Confluence) and the new `content_file` page input now validate every caller-supplied path against the workspace via `validate_safe_path`, closing arbitrary file read/exfiltration and an intra-CWD overwrite RCE variant. Note: paths passed to these tools must now resolve inside the server's working directory. (GHSA-wm45-qh3g-v83f, GHSA-vc25-24vv-fxxm, GHSA-93xw-j965-9mx3, GHSA-6cr4-ccf3-x7h4, GHSA-f4p7-qx46-wc5j, GHSA-f6pj-qv47-g96w, GHSA-2xj6-xx86-cwwc, GHSA-mrq8-fv7v-hhjg, GHSA-wv8v-v4c5-v75j, GHSA-p6hp-93wp-fh6p, GHSA-h7wj-5v37-59r2, GHSA-mfv2-4wvm-9pgp, GHSA-f26r-j276-ggg4, GHSA-g5r6-gv6m-f5jv, GHSA-6vmq-24h2-pj7j)
    - **HTTP transport authentication** (critical) — unauthenticated streamable-http requests no longer fall back to the operator's global credentials; the fallback is now opt-in via `ALLOW_GLOBAL_CRED_FALLBACK` (default off), and unauthenticated requests are rejected with 401 at the transport boundary. (GHSA-wrhw-j3f9-8vc6, GHSA-vc8m-84rp-53hx, GHSA-cc5h-2pwp-pvcc)
    - **SSRF hardening** — redirect validation now covers every client session and auth branch, backslash authority-confusion URLs are rejected, and a DNS-pinning transport adapter resolves each host exactly once (validate → connect on the same address), eliminating the DNS-rebinding TOCTOU against the CVE-2026-27826 fix. Hosts from your configured `JIRA_URL` / `CONFLUENCE_URL` and `MCP_ALLOWED_URL_DOMAINS` are exempt from the non-global-address rejection, so on-prem DC instances on private networks keep working; caller-supplied URLs (multi-user HTTP headers) remain fully guarded. (GHSA-6529-c226-h328, GHSA-hgcf-4mq8-5266, GHSA-v9m3-wfh8-5646, GHSA-5wf4-jqxh-8gm3, GHSA-49xv-9743-pw8w, GHSA-72fm-whvq-jghf, GHSA-489g-7rxv-6c8q, GHSA-6rrj-86cw-gg9j)
    - **Tool authorization enforcement** — tools hidden by `ENABLED_TOOLS` / toolset / read-only mode can no longer be invoked by name; authorization is enforced at dispatch, not just listing. (GHSA-3r68-hf9h-887v)
    - **Project/space filter boundary** — `JIRA_PROJECTS_FILTER` / `CONFLUENCE_SPACES_FILTER` are now a hard boundary: always ANDed into queries (callers can narrow but never widen), covering search and board issues. Sprint IDs are validated numeric to prevent JQL injection. (GHSA-w66g-j6c4-hcfc, GHSA-rqwg-9346-fjjv)
    - **OAuth token file permissions** — fallback token files are written owner-only (0600, dir 0700). (GHSA-g5xv-mhgm-v5f6, GHSA-76pr-5669-3xf5, GHSA-4596-2p6p-28cv)
    - **Reflected XSS** — the OAuth callback page HTML-escapes its output. (GHSA-g2r2-3j32-j27x)
    
    Each fix ships with permanent regression tests. Thanks to everyone who reported — including @rainfantry for GHSA-g5r6-gv6m-f5jv, and overlapping public reports from @failsafesecurity and @rober15.
    
    ## ✨ Features
    
    ### Jira
    - Dedicated `assign_issue` tool (#1152) and `search_assignable_users` for free-form user lookup (#1358)
    - `jira_move_issue` for cross-project moves (#1273) and `move_issues_to_backlog` (#1333)
    - `jira_search_projects` using the projects picker API (#1247)
    - `update_version` tool (#1349)
    - `get_issue` gains an `include` param for inline enrichments (#1125)
    - Issue type and field discovery tools (#1123)
    - ADF/markdown: panel nodes (#1219), task lists `- [ ]` → taskList (#1280), `[~accountid:UUID]` mentions (#1307), display-name mentions (#1228)
    - `account_id` exposed in simplified user profiles (#1347)
    
    ### Confluence
    - Inline comment tools with Server/DC v1 payload fix (#1264)
    - `confluence_update_page_section` for lossless partial page updates (#1141)
    - `c
    View on GitHub ↗
  • v0.21.1 Apr 10, 2026
    This release fixes a critical startup crash caused by an upstream dependency break and ships a few community-contributed features that landed on main since v0.21.0.
    
    ## 🐛 Fixed
    
    ### Server / Transport
    - **Startup crash on fresh `uvx` installs**: `fakeredis 2.35.0` renamed `FakeConnection` without a backward-compatible alias, breaking `pydocket`'s runtime import and making FastMCP's lifespan fail with `ImportError: cannot import name 'FakeConnection' from 'fakeredis.aioredis'`. Pinned `fakeredis>=2.32.1,<2.35.0` as a downstream constraint until upstream ships a fix. Users no longer need the `--with fakeredis==2.34.1` workaround ([#1250](https://github.com/sooperset/mcp-atlassian/pull/1250), fixes [#1248](https://github.com/sooperset/mcp-atlassian/issues/1248)).
    
    ### Confluence
    - **`include_content` test coverage and descriptions**: Follow-up hardening for the new `include_content` option ([#1099](https://github.com/sooperset/mcp-atlassian/pull/1099)).
    
    ## ✨ Features
    
    ### Confluence
    - **`include_content` on create/update**: `confluence_create_page` and `confluence_update_page` now accept an `include_content` flag so callers can skip echoing full page bodies back in responses ([#1098](https://github.com/sooperset/mcp-atlassian/pull/1098)).
    - **`confluence_get_space_page_tree`**: New tool for discovering a space's page hierarchy in a single call ([#1090](https://github.com/sooperset/mcp-atlassian/pull/1090)).
    
    ### Deployment
    - **Helm: OAuth proxy + client storage configuration**: Helm chart now exposes FastMCP auth's OAuth proxy and client storage settings so operators can configure them declaratively ([#1084](https://github.com/sooperset/mcp-atlassian/pull/1084)).
    
    ## Contributors
    
    Thanks to @kimoto, @Poggen, and @Troubladore!
    
    **Full Changelog**: https://github.com/sooperset/mcp-atlassian/compare/v0.21.0...v0.21.1
    View on GitHub ↗
  • v0.21.0 Mar 2, 2026
    This release adds 4 new tools (sprint management, page moves, page diffs, comment replies), OAuth proxy support, markdown table rendering, and multiple content processing fixes.
    
    ## ✨ Features
    
    ### Jira
    - **Sprint Management**: Move issues between sprints with the new `jira_add_issues_to_sprint` tool ([#1078](https://github.com/sooperset/mcp-atlassian/pull/1078))
    - **Cloud Search Pagination**: `jira_search` now returns `next_page_token` for cursor-based pagination on Cloud ([#1079](https://github.com/sooperset/mcp-atlassian/pull/1079))
    - **Field Options Filtering**: `jira_get_field_options` supports `contains`, `return_limit`, and `values_only` params for targeted lookups ([#1074](https://github.com/sooperset/mcp-atlassian/pull/1074))
    - **Markdown Tables**: Markdown tables in descriptions and comments are now converted to native ADF table nodes on Cloud ([#1089](https://github.com/sooperset/mcp-atlassian/pull/1089))
    
    ### Confluence
    - **Move Pages**: Relocate pages between parents or spaces with the new `confluence_move_page` tool ([#1080](https://github.com/sooperset/mcp-atlassian/pull/1080))
    - **Page Version Diff**: Compare two page versions with the new `confluence_get_page_diff` tool ([#1083](https://github.com/sooperset/mcp-atlassian/pull/1083))
    - **Comment Replies**: Reply to existing comments with the new `confluence_reply_to_comment` tool ([#1070](https://github.com/sooperset/mcp-atlassian/pull/1070))
    - **Page Width Layout**: Library-level support for controlling page width (`default` / `full-width`) on Cloud. Available via the Confluence fetcher API; MCP tool integration planned for a future release ([#1091](https://github.com/sooperset/mcp-atlassian/pull/1091))
    - **Server/DC User Search**: `confluence_search_user` now supports Server/DC via group member fallback ([#1081](https://github.com/sooperset/mcp-atlassian/pull/1081))
    
    ### Authentication
    - **OAuth Proxy**: Opt-in OAuth 2.0 proxy with Dynamic Client Registration (DCR), PKCE, consent flow, and grant type hardening ([#1054](https://github.com/sooperset/mcp-atlassian/pull/1054))
    - **Header Auth Bypass**: New `IGNORE_HEADER_AUTH` env var to ignore proxy-injected Authorization headers and use server-configured credentials ([#1073](https://github.com/sooperset/mcp-atlassian/pull/1073))
    
    ## 🐛 Fixed
    
    ### Jira
    - **Code Block Corruption**: `{code}` and `{noformat}` blocks in Server/DC wiki markup are now protected from markup conversion corruption ([#1059](https://github.com/sooperset/mcp-atlassian/pull/1059))
    - **Custom Field Preservation**: Complex custom field values (nested objects, arrays) are no longer silently converted to strings ([#1058](https://github.com/sooperset/mcp-atlassian/pull/1058))
    - **Panel Block Handling**: `{panel}` blocks and bare URLs in wiki markup are now correctly converted to markdown ([#1055](https://github.com/sooperset/mcp-atlassian/pull/1055))
    - **Field Name Matching**: `fixVersions`, `issuetype`, and other API field names are now correctly recognized in `should_include_field` checks, fixing field exclusion when users request specific fields ([#1076](https://github.com/sooperset/mcp-atlassian/pull/1076))
    
    ### Preprocessing
    - **Code Span Truncation**: Inline code spans (`<code>`) are no longer broken by HTML content truncation ([#1094](https://github.com/sooperset/mcp-atlassian/pull/1094))
    
    ## 🔒 Security
    - **URL Validation Bypass**: Prevented SSRF allowlist bypass where `evil-atlassian.net` could match the `atlassian.net` domain check — now uses strict `.{domain}` suffix matching ([#1087](https://github.com/sooperset/mcp-atlassian/pull/1087))
    
    ## Contributors
    
    Thanks to @Poggen, @Troubladore, @djb2c, @Lama9, @iiiokojiadbi, @Arbuzov, @solganik, @johnny, @pibylick, @nulvox, @yliu, and @reneleonhardt!
    
    **Full Changelog**: https://github.com/sooperset/mcp-atlassian/compare/v0.20.1...v0.21.0
    View on GitHub ↗

Discussion (0)

Sign in to comment →

No comments yet. Sign in to start the discussion.

More Productivity servers