Mcp Atlassian Extended

io.github.vish288由 GitHub 帳號 vish288 發布v0.17.0更新於 Nov 7, 2026

Jira/Confluence MCP server (MCP 2026-07-28): sprints, boards, attachments; writes or read-only

發布方自己的服務:Atlassian Rovo MCP Server

概覽

AI 產生的概覽

面向 Jira 與 Confluence 的 MCP 伺服器,可處理議題、連結、附件、看板、衝刺、版本與團隊行事曆,並支援唯讀鎖定。

可以做什麼
  • 建立與更新 Jira 議題及 Epic(含自訂欄位),建立或刪除議題連結
  • 列出、上傳、下載與刪除議題附件,並依姓名或電子郵件搜尋使用者
  • 列出專案、欄位與待辦清單,讀取看板詳情、看板設定與衝刺詳情
  • 將議題移入衝刺,列出、建立或更新專案版本
  • 列出 Confluence 行事曆、讀取請假事件並計算衝刺容量
  • 讀取內建工作流程指南,並執行 create_ticket、plan_sprint、close_ticket 等可重複使用的提示範本
適用情境
適合讓助理在既有的 Jira 或 Confluence 執行個體中工作:草擬並建立議題、整理待辦清單、結合請假資料規劃衝刺,或管理版本與附件。若只需查詢與產出報表,可用唯讀模式啟動。
執行需求
以本機 Python 套件形式透過 uvx(需先安裝 uv)或 pip 執行。需要 JIRA_URL,以及 Cloud 的 JIRA_USERNAME 與 JIRA_API_TOKEN,或 Data Center 的 JIRA_PAT;Confluence 工具需要 CONFLUENCE_URL 搭配 CONFLUENCE_USERNAME 與 CONFLUENCE_API_TOKEN,或 CONFLUENCE_PAT。Confluence 行事曆工具需安裝 Team Calendars 外掛。需能連線至 Atlassian 執行個體的網路。
安裝前請注意
寫入類工具會建立、更新與刪除議題、連結、附件與版本,並會在衝刺間移動議題;請在使用者無法修改的啟動環境中設定 MCP_READ_ONLY 或 ATLASSIAN_READ_ONLY,因為執行期間無法解除鎖定。JIRA_API_TOKEN、JIRA_PAT、CONFLUENCE_API_TOKEN、CONFLUENCE_PAT 等權杖從環境變數讀取,應使用最小權限權杖。HTTP 綁定到非回送位址時必須設定 ATLASSIAN_HTTP_BEARER_TOKEN。上傳僅限 ATLASSIAN_UPLOAD_DIR 下的檔案,下載則寫入 ATLASSIAN_DOWNLOAD_DIR。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mcp Atlassian Extended,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-atlassian-extended

[PyPI version] [PyPI downloads] [Python] [License: MIT] [CI] [MCP Registry]

Install: uvx mcp-atlassian-extended | PyPI | MCP Registry | Changelog

bash
uvx mcp-atlassian-extended                          # with writesMCP_READ_ONLY=true uvx mcp-atlassian-extended       # locked read-only: write tools are not listed

mcp-atlassian-extended is a Model Context Protocol (MCP) server for Jira and Confluence. It gives an AI assistant 22 tools, 15 resources, and 5 prompts for Jira and Confluence work. The tools create and update issues with custom fields, link issues, manage attachments, and search users. They also run agile boards and sprints, track project versions (API v2), read team calendars, and plan sprint capacity. It extends mcp-atlassian with zero tool overlap. Runs in one of two modes: with writes, or locked read-only (MCP_READ_ONLY=true) so the 10 write tools are never offered to the model.

The server supports the MCP 2026-07-28 specification (often called MCP 2.0) and stays compatible with 2025-11-25 clients. It works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code Copilot, and any MCP-compatible client.

The server supports Jira Cloud, Jira Data Center, Confluence Cloud, and Confluence Data Center (self-hosted). It needs no Atlassian Premium plan.

Built with FastMCP, httpx, and Pydantic.

Protocol support

  • The server implements the MCP 2026-07-28 specification, often called MCP 2.0.
  • It stays compatible with 2025-11-25 clients.
  • Transports: stdio (default) and streamable-http (recommended for remote clients). The sse transport still works, but the 2026-07-28 specification deprecates it, so the server prints a warning.
  • The server uses no roots, sampling, logging, elicitation, or resource subscriptions. The 2026-07-28 deprecations do not affect it.
  • Built on FastMCP 4.x and the MCP Python SDK 2.x.

Error results

Expected failures — a 404, a 401/403, a read-only refusal, an invalid argument — come back as a tool result with isError: true, so an MCP client sees the failure instead of a result that merely happens to contain the word error. The result body is the same {"error": …, "hint": …} object as before, with status_code and body when the failure came from the API; the hint names the fix. This object is the result's text content; structuredContent is not set, because a strict MCP client validates structuredContent against the tool's output schema even when isError is true, and the error envelope does not match it. Genuine bugs are still raised as protocol-level tool errors and logged with a traceback.

On success, a tool carries the same pretty-printed JSON as its text content and that JSON object as structuredContent — the pre-2.0 {"result": "<json string>"} wrapper is gone (a payload that is a JSON array, such as a multi-file upload response, carries text only, since structuredContent must be an object). Tools advertise no outputSchema: upstream fields pass through untyped, and a typed schema is opt-in per tool via output_schema= on @mcp.tool(...) when a client needs one.

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, versions (API v2), calendars, time-off

There is no tool overlap — this server only implements tools that mcp-atlassian lacks.

1-Click Installation

[Install in Cursor]

[Install in VS Code] [Install in VS Code Insiders]

💡 Tip: For other AI assistants (Claude Code, Windsurf, IntelliJ, Gemini CLI), visit the Atlassian Extended MCP Installation Gateway.

Manual Setup Guides (Click to expand)

Prerequisite: Install uv first (required for all uvx install flows). Install uv.

Claude Code

bash
# with writesclaude mcp add atlassian-extended \  -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token \  -- uvx mcp-atlassian-extended# locked read-only: write tools are not listedclaude mcp add atlassian-extended -e MCP_READ_ONLY=true \  -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token \  -- 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-extended inside the mcpServers object. Remove MCP_READ_ONLY to allow writes.

json
{  "mcpServers": {    "atlassian-extended": {      "command": "uvx",      "args": ["mcp-atlassian-extended"],      "env": {        "JIRA_URL": "https://your-company.atlassian.net",        "JIRA_USERNAME": "[email protected]",        "JIRA_API_TOKEN": "your_api_token",        "CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",        "CONFLUENCE_USERNAME": "[email protected]",        "CONFLUENCE_API_TOKEN": "your_api_token",        "MCP_READ_ONLY": "true"      }    }  }}

Gemini CLI

bash
# with writesgemini mcp add -s user -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token -e CONFLUENCE_URL=https://your-company.atlassian.net/wiki -e [email protected] -e CONFLUENCE_API_TOKEN=your_api_token atlassian-extended uvx mcp-atlassian-extended# locked read-onlygemini mcp add -s user -e MCP_READ_ONLY=true -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token -e CONFLUENCE_URL=https://your-company.atlassian.net/wiki -e [email protected] -e CONFLUENCE_API_TOKEN=your_api_token atlassian-extended uvx mcp-atlassian-extended

VS Code

Add to .vscode/mcp.json. Remove MCP_READ_ONLY to allow writes.

json
{  "servers": {    "atlassian-extended": {      "type": "stdio",      "command": "uvx",      "args": ["mcp-atlassian-extended"],      "env": {        "JIRA_URL": "https://your-company.atlassian.net",        "JIRA_USERNAME": "[email protected]",        "JIRA_API_TOKEN": "your_api_token",        "MCP_READ_ONLY": "true"      }    }  }}

Codex

bash
# with writescodex mcp add atlassian-extended --env JIRA_URL=https://your-company.atlassian.net --env [email protected] --env JIRA_API_TOKEN=your_api_token -- uvx mcp-atlassian-extended# locked read-onlycodex mcp add atlassian-extended --env MCP_READ_ONLY=true --env JIRA_URL=https://your-company.atlassian.net --env [email protected] --env JIRA_API_TOKEN=your_api_token -- uvx mcp-atlassian-extended

pip / uv

bash
uv pip install mcp-atlassian-extended

Drop MCP_READ_ONLY to allow writes. On a shared or hosted server put it in the deployer's env, not the client config.

Configuration

Jira Cloud (Basic Auth)

VariableRequiredDefaultDescription
JIRA_URLYes-Jira instance URL (e.g. https://your-company.atlassian.net)
JIRA_USERNAMEYes-Email address for Jira Cloud
JIRA_API_TOKENYes-API token from id.atlassian.com/manage-profile/security/api-tokens

Jira Data Center / Self-Hosted (Bearer Token)

VariableRequiredDefaultDescription
JIRA_URLYes-Jira instance URL
JIRA_PATYes-Personal access token (see fallback order below)

The server checks these environment variables in order — first match wins:

  1. JIRA_PAT
  2. JIRA_PERSONAL_TOKEN
  3. JIRA_TOKEN

Basic auth wins. If you set both JIRA_USERNAME and JIRA_API_TOKEN, the server uses Basic auth and ignores any personal access token. The server uses Bearer auth only when the Cloud pair is incomplete. To force Bearer, unset JIRA_USERNAME and JIRA_API_TOKEN.

Confluence Cloud (Basic Auth)

VariableRequiredDefaultDescription
CONFLUENCE_URLYes-Confluence URL (e.g. https://your-company.atlassian.net/wiki)
CONFLUENCE_USERNAMEYes-Email address for Confluence Cloud
CONFLUENCE_API_TOKENYes-API token (same as Jira if same Atlassian account)

Confluence Data Center / Self-Hosted (Bearer Token)

VariableRequiredDefaultDescription
CONFLUENCE_URLYes-Confluence instance URL
CONFLUENCE_PATYes-Personal access token (see fallback order below)

The server checks these environment variables in order — first match wins:

  1. CONFLUENCE_PAT
  2. CONFLUENCE_PERSONAL_TOKEN
  3. CONFLUENCE_TOKEN

Basic auth wins here too: CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN take precedence over any personal access token.

All Confluence calendar tools require the Team Calendars add-on (/rest/calendar-services/1.0/). On instances without it every calendar tool returns a 404 with a hint naming the add-on.

Optional settings

VariableDefaultDescription
MCP_READ_ONLYfalseShared name across the mcp-* servers. Any value other than false/0/no/off/empty locks the server read-only: the 10 write tools and write-workflow prompts are not listed, and nothing can turn it back off at runtime
ATLASSIAN_READ_ONLYfalsePer-server alias for MCP_READ_ONLY; either one locks the server read-only. --read-only can only raise the lock
ATLASSIAN_HTTP_BEARER_TOKEN-Bearer token (min 16 chars) required to bind an HTTP transport to a non-loopback host; clients send Authorization: Bearer <token>
ATLASSIAN_UPLOAD_DIRworking directoryOnly files under this directory may be uploaded (jira_upload_attachment). A relative value is resolved against the working directory.
ATLASSIAN_DOWNLOAD_DIR./atlassian-downloadsWhere jira_download_attachment writes. Created on first download.
JIRA_TIMEOUT30HTTP request timeout for Jira in seconds
JIRA_SSL_VERIFYtrueSet to false to skip SSL verification for Jira
CONFLUENCE_TIMEOUT30HTTP request timeout for Confluence in seconds
CONFLUENCE_SSL_VERIFYtrueSet to false to skip SSL verification for Confluence

Compatibility

ClientSupportedInstall Method
Claude DesktopYesclaude_desktop_config.json
Claude CodeYesclaude mcp add
CursorYesOne-click deeplink or .cursor/mcp.json
WindsurfYes~/.codeium/windsurf/mcp_config.json
VS Code CopilotYes.vscode/mcp.json
Any MCP clientYesstdio or HTTP transport

Tools (22)

CategoryCountTools
Jira Issues2create (with custom fields; issue_type="Epic" for epics), update (with custom fields)
Jira Links2create link, delete link
Jira Attachments4get, upload, download, delete
Jira Users1search by name/email
Jira Metadata3list projects, list fields, backlog
Jira Agile4get board, board config, get sprint, move to sprint
Jira Versions3get project versions, create version, update version
Confluence Calendars3list (type/search filter), time-off (date range, per-person), sprint capacity
Full tool reference (click to expand)

Jira Issues

ToolDescription
jira_create_issueCreate issue with standard and custom fields (issue_type="Epic" creates an epic)
jira_update_issueUpdate issue fields and custom fields

Jira Links

ToolDescription
jira_create_linkCreate a link between two issues (Relates, Blocks, etc.)
jira_delete_linkDelete an issue link by ID

Jira Attachments

ToolDescription
jira_get_attachmentsList attachments on an issue
jira_upload_attachmentUpload file to issue
jira_download_attachmentDownload attachment to local file
jira_delete_attachmentDelete an attachment

Jira Users

ToolDescription
jira_search_usersSearch users by name/email

Jira Metadata

ToolDescription
jira_list_projectsList all accessible projects
jira_list_fieldsList fields (with search/custom filter)
jira_backlogGet backlog issues for a board

Jira Agile

ToolDescription
jira_get_boardGet board details
jira_board_configGet board column configuration
jira_get_sprintGet sprint details
jira_move_to_sprintMove issues to a sprint

Jira Versions

ToolDescription
jira_get_project_versionsList all versions for a project (REST API v2, Server/DC + Cloud)
jira_create_versionCreate a new version in a project (REST API v2)
jira_update_versionUpdate an existing version (REST API v2)

Confluence Calendars

ToolDescription
confluence_list_calendarsList calendars; optional filter_type and name/space search
confluence_get_time_offTime-off events for a date range; optional person (exact match) and group_by_person
confluence_sprint_capacityCalculate sprint capacity with time-off

Resources (15)

The server exposes curated Jira and Confluence workflow guides as MCP resources.

URINameDescription
resource://rules/jira-hierarchyJira Issue HierarchyEpic/story/task/subtask relationships, when to use each level
resource://rules/jira-ticket-writingJira Ticket Writing StandardsSummary format, description structure, acceptance criteria placement
resource://rules/acceptance-criteriaAcceptance Criteria StandardsGiven/When/Then format, testability, DoD vs AC
resource://rules/sprint-hygieneSprint Hygiene RulesCapacity planning, carryover policy, sprint goals, retrospective items
resource://rules/jira-workflowJira Workflow & AutomationStatus transitions, automation triggers, post-functions
resource://rules/issue-linkingIssue Linking Best PracticesLink types (blocks, relates, duplicates), cross-project links, epic links
resource://guides/story-pointsStory Point EstimationFibonacci scale, relative sizing, team calibration, anti-patterns
resource://guides/definition-of-doneDefinition of Done ChecklistsChecklist format, team-level vs org-level DoD, verification steps
resource://guides/jira-labelsJira Label TaxonomyNaming conventions, label categories, label vs component
resource://guides/jql-libraryJQL Query LibraryCommon queries, date functions, custom field syntax, saved filters
resource://guides/custom-fieldsJira Custom Field GovernanceField types, screen schemes, context, naming standards
resource://guides/confluence-spacesConfluence Space OrganizationSpace types, permission schemes, archiving, templates
resource://guides/agile-ceremoniesAgile Ceremony StandardsStandup, planning, review, retro formats and time-boxing
resource://guides/git-jira-integrationGit-Jira Integration PatternsSmart commits, branch naming, PR linking, status transitions
resource://templates/confluence-pagesConfluence Page TemplatesADR, runbook, onboarding, postmortem page structures

Prompts (5)

The server provides MCP prompts — reusable multi-tool workflow templates that clients can surface as slash commands.

PromptParametersWorkflow
create_ticketproject_key, issue_typeGather fields → set custom fields (DoD, privacy, security) → create → add links
plan_sprintboard_id, sprint_idCheck sprint → review backlog → calculate capacity → suggest scope → move issues
close_ticketissue_keyVerify DoD → check linked MR → transition statuses → add closing comment
team_availabilityteam_members, start_date, end_dateCheck who is out → per-person time-off → calculate capacity → flag conflicts
manage_attachmentsissue_keyList attachments → identify stale/duplicates → upload/download → clean up

Usage Examples

Issue Management

"Create a story in PROJ with custom story points"→ jira_create_issue(project_key="PROJ", summary="Add OAuth login", issue_type="Story",    custom_fields={"customfield_10004": 5})
"Update a ticket's priority and add labels"→ jira_update_issue(issue_key="PROJ-123", fields={"priority": {"name": "High"}, "labels": ["urgent"]})
"Create an epic and link related stories"→ jira_create_issue(project_key="PROJ", summary="Q1 Auth Overhaul", issue_type="Epic")→ jira_create_link(link_type="Relates", inward_issue="PROJ-100", outward_issue="PROJ-200")

Attachments

"List attachments on PROJ-123"→ jira_get_attachments(issue_key="PROJ-123")
"Upload a screenshot to a ticket"→ jira_upload_attachment(issue_key="PROJ-123", file_path="./screenshot.png")
"Download an attachment"→ jira_download_attachment(content_url="https://jira.example.com/rest/api/2/attachment/content/456",    save_path="report.pdf")  # lands in ./atlassian-downloads/report.pdf (or ATLASSIAN_DOWNLOAD_DIR)

Agile & Sprint Management

"Get the current sprint for board 42"→ jira_get_board(board_id=42) → jira_get_sprint(sprint_id=7)
"Move tickets into the next sprint"→ jira_move_to_sprint(sprint_id=8, issue_keys=["PROJ-1", "PROJ-2", "PROJ-3"])
"View backlog for board 42"→ jira_backlog(board_id=42, max_results=50)

Version Management

"List versions for project PROJ"→ jira_get_project_versions(project_key="PROJ")
"Create a new release version"→ jira_create_version(project_key="PROJ", name="v2.0.0", release_date="2026-04-01")
"Mark version as released"→ jira_update_version(version_id="200", released=True)

Time-Off & Sprint Capacity

"Who is out today?"→ confluence_get_time_off(start_date="today", end_date="today", group_by_person=True)
"Get team time-off for the next two weeks"→ confluence_get_time_off(start_date="today", end_date="+14d", group_by_person=True)
"Calculate sprint capacity accounting for PTO"→ confluence_sprint_capacity(    team_members=["Alice", "Bob", "Carol"],    sprint_start="2025-03-03", sprint_end="2025-03-14")

Security Considerations

  • Token scope: For Jira Cloud, use API tokens scoped to the minimum required permissions. For Data Center, use PATs with project-level access.
  • Read-only mode: Set MCP_READ_ONLY=true (or ATLASSIAN_READ_ONLY=true) in the launch you control and the server starts locked: the 10 write tools and the write-workflow prompts are not listed, a call to one returns "Unknown tool", and the guard refuses any write that still reaches it. Nothing lifts the lock at runtime — not a false from another source, not a .env file, not tool arguments; any value other than false/0/no/off/empty locks, and --read-only can only raise it. The lock is only as strong as the launch: set it where users cannot edit it (a managed MCP config such as Claude Code managed-mcp.json, a container, k8s or systemd env, or a hosted HTTP deployment). A user who starts the server themselves controls its environment. All write tools are Jira tools; the Confluence tools are read-only in both modes.
  • HTTP transport auth: An HTTP transport (--transport streamable-http/sse) serves every tool with the configured Atlassian credentials to anyone who reaches the port, so a non-loopback bind requires a shared bearer token. Set ATLASSIAN_HTTP_BEARER_TOKEN (≥ 16 chars; openssl rand -hex 32) and clients send it as Authorization: Bearer <token>; the token is compared in constant time. Without it the server refuses to start on any host other than 127.0.0.1/localhost/::1. The server also validates the Host/Origin header on HTTP requests (host_origin_protection="auto") so a DNS-rebinding page cannot drive a loopback-bound server.
  • Upload root restriction: jira_upload_attachment only reads files inside the upload root — ATLASSIAN_UPLOAD_DIR if set, otherwise the working directory. The path is resolved (following symlinks) before the containment check, so a symlink pointing outside the root is rejected; dotfiles and dot-directories below the root are refused. Size is capped at 100 MB.
  • Download directory restriction: jira_download_attachment writes only into the download directory (ATLASSIAN_DOWNLOAD_DIR, default ./atlassian-downloads/, created on first use). save_path must be a bare file name — directories, absolute paths and dotfiles are rejected, not silently stripped. Existing files are never overwritten: a -1, -2 numeric suffix is added and the final path is returned. The downloaded body is capped at 100 MB, mirroring the upload cap. Add atlassian-downloads/ to your project's .gitignore.
  • Desktop-client caveat: clients such as Claude Desktop launch stdio servers with a working directory of / or $HOME, which makes most of the filesystem the upload root (dotfiles excepted). Set ATLASSIAN_UPLOAD_DIR (and, if you like, ATLASSIAN_DOWNLOAD_DIR) explicitly for such clients.
  • Migration (0.11 → 0.12): uploads are now restricted to ATLASSIAN_UPLOAD_DIR (default: the server's working directory) and dotfiles are refused — if your client uploads from ~/Downloads, set ATLASSIAN_UPLOAD_DIR=~/Downloads. Downloads now land in ./atlassian-downloads/ (or ATLASSIAN_DOWNLOAD_DIR) instead of the working directory, save_path is a file name only, and existing files are never overwritten.
  • Download URL validation: The server validates each attachment download URL against the configured Jira URL domain to prevent SSRF.
  • SSL verification: The server enables SSL verification by default for Jira and Confluence. Disable it only for self-signed certificates in trusted networks.
  • MCP tool annotations: Each tool declares readOnlyHint, destructiveHint, and idempotentHint for client-side permission prompts.
  • No credential storage: The server reads tokens from environment variables at startup. It never stores them.

Rate Limits & Permissions

Rate Limits

Jira Cloud enforces per-user rate limits. When rate-limited, tools return a 429 error with a hint to wait. Confluence Calendar API calls may be slower due to the Team Calendars plugin architecture.

Required Permissions

OperationMinimum Jira Permission
List projects, fields, boardsBrowse Projects
Search usersBrowse Users
Create/update issues, epicsCreate Issues + Edit Issues
Create/delete issue linksLink Issues
Upload/delete attachmentsCreate Attachments + Delete Own Attachments
Move issues to sprintManage Sprints
Create/update versionsAdminister Projects
Confluence calendars/time-offView space content

CLI & Transport Options

bash
# Default: stdio transport (for MCP clients)uvx mcp-atlassian-extended
# HTTP transport. Use streamable-http for remote clients.uvx mcp-atlassian-extended --transport streamable-http --port 9000
# A non-loopback HTTP bind requires a shared bearer token (>= 16 chars).# Clients send it as "Authorization: Bearer <token>".ATLASSIAN_HTTP_BEARER_TOKEN=$(openssl rand -hex 32) \  uvx mcp-atlassian-extended --transport streamable-http --host 0.0.0.0 --port 9000
# sse still works, but the MCP 2026-07-28 spec deprecates it. The server prints a warning.uvx mcp-atlassian-extended --transport sse --host 127.0.0.1 --port 8000
# CLI overrides for configJIRA_PAT=xxx uvx mcp-atlassian-extended --jira-url https://jira.example.com --read-only

The --jira-token, --jira-api-token, --confluence-token and --confluence-api-token flags still work but are deprecated and hidden from --help: they expose the token to ps and shell history. Set JIRA_PAT / JIRA_API_TOKEN / CONFLUENCE_PAT / CONFLUENCE_API_TOKEN instead.

The server loads .env files from the working directory automatically via python-dotenv.

Partial configuration: You configure Jira and Confluence independently. Set either or both. The server always advertises all 22 tools. A tool for an unconfigured product returns a "not configured" error that names the variables to set. The server does not fail at startup.

Docker

A minimal non-root image is provided. The image defaults to locked read-only (MCP_READ_ONLY=true); pass -e MCP_READ_ONLY=false to allow writes.

bash
docker build -t mcp-atlassian-extended .docker run --rm -i \  -e JIRA_URL=https://your-company.atlassian.net \  -e [email protected] -e JIRA_API_TOKEN=your_api_token \  mcp-atlassian-extended

The entry point is the mcp-atlassian-extended command; pass CLI flags after the image name. For an HTTP transport on a published port, also set ATLASSIAN_HTTP_BEARER_TOKEN and run with --transport streamable-http --host 0.0.0.0.

FAQ

Does it support the MCP 2026-07-28 spec (MCP 2.0)?

Yes. It implements the MCP 2026-07-28 specification (MCP 2.0) and stays compatible with 2025-11-25 clients.

Which transports does it support?

It supports stdio (the default) and streamable-http (recommended for remote clients). The sse transport still works, but the 2026-07-28 specification deprecates it.

Can I run mcp-atlassian-extended read-only so the assistant cannot change anything?

Yes. Start it with MCP_READ_ONLY=true (or ATLASSIAN_READ_ONLY=true). The 10 write tools and the write-workflow prompts are then not listed at all, so the model never sees them; a call to one returns "Unknown tool", and nothing can turn writes back on while the process runs. Set it in a launch you control — a managed MCP config, a container or systemd env, or a hosted deployment — because a user who starts the server themselves can start it without the variable.

Does it work with self-hosted Jira and Confluence?

Yes. It supports Jira Cloud, Jira Data Center, Confluence Cloud, and Confluence Data Center. It uses the Jira REST API v2, which works on both Cloud and Server/Data Center.

What permissions and token scopes does it need?

It needs a Jira API token (Cloud) or a personal access token (Data Center). Each operation needs the matching Jira permission. See Required Permissions.

Does it replace mcp-atlassian?

No. It runs alongside mcp-atlassian with zero tool overlap. mcp-atlassian handles core search and CRUD. This server adds attachments, agile boards, versions, and calendars.

Do the Confluence tools need an add-on?

Yes. The three Confluence calendar tools need the Team Calendars add-on. Without it, they return a 404 with a hint that names the add-on.

How many tools does it provide?

It provides 22 tools, 15 resources, and 5 prompts for Jira and Confluence.

Related MCP Servers

  • mcp-gitlab — GitLab integration (83 tools, 7 resources, 6 prompts)
  • mcp-coda — Coda integration (53 tools, 12 resources, 5 prompts)
  • mcp-argocd — Argo CD integration (37 tools, 7 resources, 7 prompts)

Attribution

Inspired by mcp-atlassian by sooperset. Architecture and patterns follow similar conventions.

Development

bash
git clone https://github.com/vish288/mcp-atlassian-extended.gitcd mcp-atlassian-extendeduv sync --all-extras
uv run pytest --covuv run ruff check .uv run ruff format --check .

License

MIT

來源:README.md,提交 554881b

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

22
  1. v0.17.0最新Nov 7, 2026
  2. v0.16.2Nov 5, 2026
  3. v0.16.1Nov 4, 2026
  4. v0.16.0Oct 22, 2026
  5. v0.15.2Oct 18, 2026
  6. v0.15.1Oct 14, 2026
  7. v0.15.0Oct 13, 2026
  8. v0.14.0Oct 13, 2026
  9. v0.13.0Oct 12, 2026
  10. v0.12.0Oct 12, 2026
  11. v0.11.0Oct 10, 2026
  12. v0.10.4Oct 6, 2026
  13. v0.10.2Oct 3, 2026
  14. v0.10.1Sep 29, 2026
  15. v0.10.0Sep 27, 2026
  16. v0.9.1Sep 27, 2026
  17. v0.9.0Sep 27, 2026
  18. v0.8.2Sep 25, 2026
  19. v0.8.1Sep 21, 2026
  20. v0.8.0Sep 20, 2026
  21. v0.7.2Sep 20, 2026
  22. v0.6.16Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Atlassian 整合