mcpField
M
mcp-atlassian-extended

mcp-atlassian-extended

ローカル
github.com/vish288生産性31 週間前に更新

mcp-atlassian-extended について

mcp-atlassian-extendedは、JiraとConfluenceを扱うAIアシスタント向けのMCPサーバーです。mcp-atlassianにないアジャイル、添付ファイル、ユーザー、バージョン、カレンダー機能を補い、読み取り専用にも固定できます。

主な機能

  1. 01カスタムフィールド付き課題の作成・更新
  2. 02課題リンクと添付ファイルの管理
  3. 03ユーザー、プロジェクト、フィールドの検索
  4. 04ボードの確認とスプリント管理
  5. 05カレンダー参照とスプリント容量の計画
  6. 06書き込みまたは読み取り専用の選択

活用シーン

  1. 01課題にファイルを添付し、関連課題をリンク
  2. 02ボードを確認して課題をスプリントに移動
  3. 03日付ごとのチーム休暇とスプリント容量を確認

MCP 対応

JiraとConfluence向けに22個のツール、15個のリソース、5個のプロンプトを公開するMCPサーバーです。stdioとstreamable-httpに対応し、読み取り専用に固定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vish288-mcp-atlassian-extended": {
"command": "uvx",
"args": [
"mcp-atlassian-extended"
],
"env": {
"JIRA_URL": "<JIRA_URL>",
"JIRA_USERNAME": "<JIRA_USERNAME>",
"JIRA_API_TOKEN": "<JIRA_API_TOKEN>",
"JIRA_PAT": "<JIRA_PAT>",
"CONFLUENCE_URL": "<CONFLUENCE_URL>",
"CONFLUENCE_USERNAME": "<CONFLUENCE_USERNAME>",
"CONFLUENCE_API_TOKEN": "<CONFLUENCE_API_TOKEN>",
"CONFLUENCE_PAT": "<CONFLUENCE_PAT>",
"MCP_READ_ONLY": "<MCP_READ_ONLY>",
"ATLASSIAN_READ_ONLY": "<ATLASSIAN_READ_ONLY>",
"ATLASSIAN_HTTP_BEARER_TOKEN": "<ATLASSIAN_HTTP_BEARER_TOKEN>",
"ATLASSIAN_UPLOAD_DIR": "<ATLASSIAN_UPLOAD_DIR>",
"ATLASSIAN_DOWNLOAD_DIR": "<ATLASSIAN_DOWNLOAD_DIR>"
}
}
}
}
起動コマンドuvx mcp-atlassian-extended
設定が必要な環境変数
JIRA_URLJira instance URL (e.g. https://your-domain.atlassian.net)
JIRA_USERNAMEJira Cloud account email. With JIRA_API_TOKEN this takes precedence over any token below.
JIRA_API_TOKENシークレットJira Cloud API token, used with JIRA_USERNAME (basic auth)
JIRA_PATシークレットJira personal access token for Data Center (aliases: JIRA_PERSONAL_TOKEN, JIRA_TOKEN). Ignored when JIRA_USERNAME and JIRA_API_TOKEN are both set.
CONFLUENCE_URLConfluence instance URL (optional, for Confluence tools). Cloud URLs usually need the /wiki suffix.
CONFLUENCE_USERNAMEConfluence Cloud account email. With CONFLUENCE_API_TOKEN this takes precedence over any token below.
CONFLUENCE_API_TOKENシークレットConfluence Cloud API token, used with CONFLUENCE_USERNAME (basic auth)
CONFLUENCE_PATシークレットConfluence personal access token for Data Center (aliases: CONFLUENCE_PERSONAL_TOKEN, CONFLUENCE_TOKEN). Confluence tools also require the Team Calendars add-on.
MCP_READ_ONLYLocks the server read-only: write tools and write-workflow prompts are not listed and nothing lifts the lock at runtime. Shared name across the mcp-* servers; set it in the deployer's env
ATLASSIAN_READ_ONLYAlias for MCP_READ_ONLY. Any value other than false/0/no/off/empty 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 it as 'Authorization: Bearer <token>'
ATLASSIAN_UPLOAD_DIRUpload root for jira_upload_attachment; only files under it may be uploaded. Default: the working directory.
ATLASSIAN_DOWNLOAD_DIRDirectory jira_download_attachment writes into; created on first download. Default: ./atlassian-downloads/.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-atlassian-extended0.16.0

ツール

22

掲載時のツール一覧 · 6 日前に更新

パラメーター型必須説明
issue_keystringはいJira の課題キー(例:PROJ-123)

詳細

mcp-atlassian-extended

PyPI version PyPI downloads Python License: MIT CI MCP Registry

インストール: uvx mcp-atlassian-extended | PyPI | MCP Registry | 変更履歴

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

mcp-atlassian-extended は、Jira と Confluence 向けの Model Context Protocol(MCP) サーバーです。Jira と Confluence での作業に使える 22 個のツール、15 個のリソース、5 個のプロンプトを AI アシスタントに提供します。カスタムフィールドを使った課題の作成と更新、課題のリンク、添付ファイルの管理、ユーザーの検索ができます。また、アジャイルボードやスプリントの操作、プロジェクトバージョンの追跡(API v2)、チームカレンダーの閲覧、スプリントキャパシティの計画も行えます。mcp-atlassian を、ツールの重複なしで拡張します。書き込み可能モード、または読み取り専用に固定するモード(MCP_READ_ONLY=true)のいずれかで実行できます。読み取り専用モードでは、10 個の書き込みツールがモデルに提示されることはありません。

このサーバーは MCP 2026-07-28 仕様(MCP 2.0 と呼ばれることもあります)をサポートし、2025-11-25 クライアントとの互換性を維持しています。Claude Desktop、Claude Code、Cursor、Windsurf、VS Code Copilot、および MCP 互換クライアントで動作します。

このサーバーは Jira Cloud、Jira Data Center、Confluence Cloud、Confluence Data Center(セルフホスト)をサポートしています。Atlassian Premium プランは必要ありません。

FastMCP、httpx、Pydantic を使用して構築されています。

プロトコルのサポート

  • このサーバーは、MCP 2026-07-28 仕様(MCP 2.0 と呼ばれることもあります)を実装しています。
  • 2025-11-25 クライアントとの互換性を維持しています。
  • トランスポート:stdio(デフォルト)と streamable-http(リモートクライアントに推奨)。sse トランスポートも引き続き動作しますが、2026-07-28 仕様で非推奨となったため、サーバーは警告を出力します。
  • サーバーはルート、サンプリング、ロギング、エリシテーション、リソースサブスクリプションを使用しません。2026-07-28 の非推奨化による影響はありません。
  • FastMCP 4.x と MCP Python SDK 2.x を基盤に構築されています。
エラー結果

想定される失敗(404、401/403、読み取り専用による拒否、無効な引数)は、isError: true を持つツール結果として返されるため、MCP クライアントは、単に error という単語を含むだけの結果ではなく、失敗として認識できます。結果の本文は、API で発生した失敗の場合は status_code と body を含む、従来と同じ {"error": …, "hint": …} オブジェクトです。hint には修正方法が示されます。このオブジェクトが結果のテキストコンテンツです。厳格な MCP クライアントは isError が true の場合でも structuredContent をツールの出力スキーマに照らして検証し、エラーエンベロープはそのスキーマに一致しないため、structuredContent は設定されません。実際のバグは引き続きプロトコルレベルのツールエラーとして発生し、トレースバックとともにログに記録されます。

成功時、ツールは整形済み JSON をテキストコンテンツとして、その JSON オブジェクトを structuredContent として返します。2.0 より前の {"result": "<json string>"} ラッパーはなくなりました(複数ファイルのアップロードレスポンスのような、ペイロードが JSON 配列の場合は、structuredContent がオブジェクトでなければならないため、テキストのみが返されます)。ツールは outputSchema を公開しません。上流のフィールドは型指定なしでそのまま渡され、クライアントが必要とする場合は、@mcp.tool(...) の output_schema= を使ってツールごとに型付きスキーマをオプトインできます。

mcp-atlassian との関係

このプロジェクトは mcp-atlassian の代替ではなく、併用するものです。両方のサーバーを設定してください。

  • mcp-atlassian が担当:課題、検索、トランジション、コメント、作業ログ、ページ、Confluence 検索
  • mcp-atlassian-extended が担当:添付ファイル、アジャイル、ユーザー、フィールド、バージョン(API v2)、カレンダー、休暇

ツールの重複はありません。このサーバーは、mcp-atlassian にないツールのみを実装しています。

ワンクリックインストール

Cursor にインストール

VS Code にインストール VS Code Insiders にインストール

💡 ヒント: ほかの AI アシスタント(Claude Code、Windsurf、IntelliJ、Gemini CLI)については、**Atlassian Extended MCP インストールゲートウェイ**をご覧ください。

手動セットアップガイド(クリックして展開)

前提条件:まず uv をインストールしてください(すべての uvx インストール手順で必要です)。uv をインストール。

Claude Code
# with writes
claude 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 listed
claude 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: ~/.codeium/windsurf/mcp_config.json に追加します IntelliJ: Settings | Tools | MCP Servers に追加します

注: 実際のサーバー設定は、mcpServers オブジェクト内の atlassian-extended から始まります。 書き込みを許可するには、MCP_READ_ONLY を削除してください。

{
  "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
# with writes
gemini 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-only
gemini 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

.vscode/mcp.json に追加します。書き込みを許可するには、MCP_READ_ONLY を削除してください。

{
  "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
# with writes
codex 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-only
codex 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
uv pip install mcp-atlassian-extended

書き込みを許可するには、MCP_READ_ONLY を削除してください。共有サーバーまたはホスト型サーバーでは、クライアント設定ではなくデプロイ担当者の環境に設定してください。

設定

Jira Cloud(Basic Auth)
変数必須デフォルト説明
JIRA_URLはい-Jira インスタンスの URL(例:https://your-company.atlassian.net)
JIRA_USERNAMEはい-Jira Cloud のメールアドレス
JIRA_API_TOKENはい-id.atlassian.com/manage-profile/security/api-tokens の API トークン
Jira Data Center / Self-Hosted(ベアラートークン)
変数必須デフォルト説明
JIRA_URLはい-Jira インスタンスの URL
JIRA_PATはい-個人アクセストークン(以下のフォールバック順を参照)

サーバーは、以下の環境変数を順に確認し、最初に一致したものを使用します。

  1. JIRA_PAT
  2. JIRA_PERSONAL_TOKEN
  3. JIRA_TOKEN

Basic 認証が優先されます。JIRA_USERNAME と JIRA_API_TOKEN の両方を設定すると、サーバーは Basic 認証を使用し、個人アクセストークンを無視します。サーバーは、Cloud 用のペアが不完全な場合にのみ Bearer 認証を使用します。Bearer 認証を強制するには、JIRA_USERNAME と JIRA_API_TOKEN の設定を解除してください。

Confluence Cloud(Basic 認証)
変数必須デフォルト説明
CONFLUENCE_URLはい-Confluence の URL(例:https://your-company.atlassian.net/wiki)
CONFLUENCE_USERNAMEはい-Confluence Cloud のメールアドレス
CONFLUENCE_API_TOKENはい-API トークン(同じ Atlassian アカウントの場合は Jira と同じもの)
Confluence Data Center / Self-Hosted(ベアラートークン)
変数必須デフォルト説明
CONFLUENCE_URLはい-Confluence インスタンスの URL
CONFLUENCE_PATはい-個人アクセストークン(以下のフォールバック順を参照)

サーバーは、以下の環境変数を順に確認し、最初に一致したものを使用します。

  1. CONFLUENCE_PAT
  2. CONFLUENCE_PERSONAL_TOKEN
  3. CONFLUENCE_TOKEN

ここでも Basic 認証が優先されます。CONFLUENCE_USERNAME と CONFLUENCE_API_TOKEN は、すべての個人アクセストークンより優先されます。

Confluence のすべてのカレンダーツールには、Team Calendars アドオン(/rest/calendar-services/1.0/)が必要です。このアドオンがないインスタンスでは、すべてのカレンダーツールがアドオン名を示すヒント付きで 404 を返します。

オプション設定
変数デフォルト説明
MCP_READ_ONLYfalsemcp-* サーバー間で共有される名前です。false/0/no/off/空以外の値を指定すると、サーバーは読み取り専用に固定されます。書き込みツール 10 個と書き込みワークフローのプロンプトは一覧に表示されず、実行時に解除することもできません
ATLASSIAN_READ_ONLYfalseMCP_READ_ONLY のサーバーごとの別名です。どちらかを指定すると、サーバーは読み取り専用に固定されます。--read-only はロックを強めることのみ可能です
ATLASSIAN_HTTP_BEARER_TOKEN-HTTP トランスポートをループバック以外のホストにバインドする際に必要なベアラートークン(16 文字以上)です。クライアントは Authorization: Bearer <token> を送信します
ATLASSIAN_UPLOAD_DIR作業ディレクトリこのディレクトリ内のファイルのみアップロードできます(jira_upload_attachment)。相対パスを指定した場合、作業ディレクトリを基準に解決されます。
ATLASSIAN_DOWNLOAD_DIR./atlassian-downloadsjira_download_attachment が書き込みを行う場所です。初回のダウンロード時に作成されます。
JIRA_TIMEOUT30Jira の HTTP リクエストタイムアウト(秒)
JIRA_SSL_VERIFYtrueJira の SSL 検証をスキップするには false に設定します
CONFLUENCE_TIMEOUT30Confluence の HTTP リクエストタイムアウト(秒)
CONFLUENCE_SSL_VERIFYtrueConfluence の SSL 検証をスキップするには false に設定します

互換性

クライアント対応インストール方法
Claude Desktopはいclaude_desktop_config.json
Claude Codeはいclaude mcp add
Cursorはいワンクリックのディープリンクまたは .cursor/mcp.json
Windsurfはい~/.codeium/windsurf/mcp_config.json
VS Code Copilotはい.vscode/mcp.json
任意の MCP クライアントはいstdio または HTTP トランスポート

ツール(22)

カテゴリー数ツール
Jira 課題2作成(カスタムフィールド対応。エピックには issue_type="Epic")、更新(カスタムフィールド対応)
Jira リンク2リンクを作成、リンクを削除
Jira 添付ファイル4取得、アップロード、ダウンロード、削除
Jira ユーザー1名前/メールアドレスで検索
Jira メタデータ3プロジェクト一覧、フィールド一覧、バックログ
Jira アジャイル4ボードを取得、ボード設定、スプリントを取得、スプリントに移動
Jira バージョン3プロジェクトのバージョンを取得、バージョンを作成、バージョンを更新
Confluence カレンダー3一覧(種類/検索フィルター)、休暇(期間、担当者別)、スプリントのキャパシティ
ツールのリファレンス全文(クリックして展開)
Jira 課題
ツール説明
jira_create_issue標準フィールドとカスタムフィールドを指定して課題を作成します(issue_type="Epic" を指定するとエピックを作成します)
jira_update_issue課題のフィールドとカスタムフィールドを更新します
Jira リンク
ツール説明
jira_create_link2 つの課題の間にリンクを作成します(関連、ブロックなど)
jira_delete_linkID を指定して課題のリンクを削除します
Jira 添付ファイル
ツール説明
jira_get_attachments課題の添付ファイル一覧を取得します
jira_upload_attachment課題にファイルをアップロードします
jira_download_attachment添付ファイルをローカルファイルにダウンロードします
jira_delete_attachment添付ファイルを削除します
Jira ユーザー
ツール説明
jira_search_users名前/メールアドレスでユーザーを検索します
Jira メタデータ
ツール説明
jira_list_projectsアクセス可能なすべてのプロジェクトを一覧表示します
jira_list_fieldsフィールドを一覧表示します(検索/カスタムフィルター対応)
jira_backlogボードのバックログ課題を取得します
Jira アジャイル
ツール説明
jira_get_boardボードの詳細を取得します
jira_board_configボードの列設定を取得します
jira_get_sprintスプリントの詳細を取得します
jira_move_to_sprint課題をスプリントに移動します
Jira バージョン
ツール説明
jira_get_project_versionsプロジェクトのすべてのバージョンを一覧表示します(REST API v2、Server/DC + Cloud)
jira_create_versionプロジェクトに新しいバージョンを作成します(REST API v2)
jira_update_version既存のバージョンを更新します(REST API v2)
Confluence カレンダー
ツール説明
confluence_list_calendarsカレンダーを一覧表示します。filter_type と名前/スペースの search を任意で指定できます
confluence_get_time_off指定期間の休暇イベントを取得します。person(完全一致)と group_by_person を任意で指定できます
confluence_sprint_capacity休暇を考慮してスプリントのキャパシティを計算します
## リソース(15)

サーバーは、厳選された Jira および Confluence のワークフローガイドをMCP リソースとして公開します。

URI名前説明
resource://rules/jira-hierarchyJira 課題階層エピック/ストーリー/タスク/サブタスクの関係と、各階層を使用するタイミング
resource://rules/jira-ticket-writingJira チケット作成基準要約の形式、説明の構成、受け入れ基準の配置
resource://rules/acceptance-criteria受け入れ基準の基準Given/When/Then 形式、テスト可能性、DoD と AC の違い
resource://rules/sprint-hygieneスプリント運用ルールキャパシティ計画、持ち越しポリシー、スプリント目標、レトロスペクティブの項目
resource://rules/jira-workflowJira ワークフローと自動化ステータス遷移、自動化のトリガー、ポストファンクション
resource://rules/issue-linking課題リンクのベストプラクティスリンクタイプ(ブロック、関連、重複)、プロジェクト間リンク、エピックリンク
resource://guides/story-pointsストーリーポイントの見積もりフィボナッチ数列、相対的な規模評価、チームの調整、アンチパターン
resource://guides/definition-of-done完了の定義チェックリストチェックリスト形式、チームレベルと組織レベルの DoD、検証手順
resource://guides/jira-labelsJira ラベルの分類体系命名規則、ラベルのカテゴリ、ラベルとコンポーネントの違い
resource://guides/jql-libraryJQL クエリライブラリ一般的なクエリ、日付関数、カスタムフィールドの構文、保存済みフィルター
resource://guides/custom-fieldsJira カスタムフィールドの管理フィールドタイプ、画面スキーム、コンテキスト、命名基準
resource://guides/confluence-spacesConfluence スペースの構成スペースの種類、権限スキーム、アーカイブ、テンプレート
resource://guides/agile-ceremoniesアジャイルセレモニーの基準朝会、計画、レビュー、レトロスペクティブの形式とタイムボックス
resource://guides/git-jira-integrationGit と Jira の統合パターンスマートコミット、ブランチ命名、PR のリンク、ステータス遷移
resource://templates/confluence-pagesConfluence ページテンプレートADR、ランブック、オンボーディング、ポストモーテムのページ構成

プロンプト(5)

サーバーはMCP プロンプトを提供します。これは、クライアントがスラッシュコマンドとして表示できる、再利用可能な複数ツールのワークフローテンプレートです。

プロンプトパラメーターワークフロー
create_ticketproject_key、issue_typeフィールドを収集 → カスタムフィールド(DoD、プライバシー、セキュリティ)を設定 → 作成 → リンクを追加
plan_sprintboard_id、sprint_idスプリントを確認 → バックログを確認 → キャパシティを計算 → スコープを提案 → 課題を移動
close_ticketissue_keyDoD を検証 → リンクされた MR を確認 → ステータスを遷移 → 完了コメントを追加
team_availabilityteam_members、start_date、end_date休みのメンバーを確認 → メンバーごとの休暇を確認 → キャパシティを計算 → 競合にフラグを付ける
manage_attachmentsissue_key添付ファイルを一覧表示 → 古いファイル/重複を特定 → アップロード/ダウンロード → 整理

使用例

課題の管理
"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")
添付ファイル
"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)
アジャイルとスプリントの管理
"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)
バージョン管理
"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)
休暇とスプリントのキャパシティ
"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")

セキュリティに関する考慮事項

  • トークンのスコープ:Jira Cloud では、必要最小限の権限にスコープを設定した API トークンを使用してください。Data Center では、プロジェクトレベルのアクセス権を持つ PAT を使用してください。
  • 読み取り専用モード:管理下の起動設定で MCP_READ_ONLY=true(または ATLASSIAN_READ_ONLY=true)を設定すると、サーバーはロックされた状態で起動します。10 個の書き込みツールと書き込みワークフロー用プロンプトは一覧に表示されず、呼び出すと「不明なツール」が返され、ガードはそれでも到達した書き込みを拒否します。実行時にロックが解除されることはありません。別の設定元からの false でも、.env ファイルでも、ツール引数でも解除できません。false/0/no/off/空以外の値を設定するとロックされ、--read-only でできるのはロックを有効にすることだけです。ロックの強度は起動設定次第です。ユーザーが編集できない場所(Claude Code の managed-mcp.json などの管理対象 MCP 設定、コンテナー、k8s または systemd の環境変数、あるいはホスト型 HTTP デプロイ)で設定してください。サーバーを自分で起動するユーザーは、その環境を制御できます。書き込みツールはすべて Jira のツールです。Confluence のツールはどちらのモードでも読み取り専用です。
  • HTTP トランスポートの認証:HTTP トランスポート(--transport streamable-http/sse)では、設定済みの Atlassian 認証情報を使ってすべてのツールを提供するため、ポートに接続できるユーザーなら誰でも利用できます。そのため、ループバック以外のアドレスにバインドする場合は、共有ベアラートークンが必要です。ATLASSIAN_HTTP_BEARER_TOKEN(16 文字以上。openssl rand -hex 32 を使用)を設定し、クライアントから Authorization: Bearer <token> を送信してください。トークンは一定時間で比較されます。トークンが設定されていない場合、サーバーは 127.0.0.1/localhost/::1 以外のホストでの起動を拒否します。また、サーバーは HTTP リクエストの Host/Origin ヘッダーも検証(host_origin_protection="auto")するため、DNS リバインディングを利用したページがループバックにバインドされたサーバーを操作することはできません。
  • アップロード先ルートの制限:jira_upload_attachment は、アップロード先ルート(設定されている場合は ATLASSIAN_UPLOAD_DIR、それ以外の場合は作業ディレクトリ)内のファイルのみを読み取ります。包含チェックの前にパスを解決(シンボリックリンクをたどる)するため、ルート外を指すシンボリックリンクは拒否されます。ルート以下のドットファイルとドットディレクトリも拒否されます。サイズ上限は 100 MB です。
  • ダウンロード先ディレクトリの制限:jira_download_attachment は、ダウンロード先ディレクトリ(ATLASSIAN_DOWNLOAD_DIR。デフォルトは ./atlassian-downloads/ で、初回使用時に作成)内にのみ書き込みます。save_path にはファイル名のみを指定してください。ディレクトリ、絶対パス、ドットファイルは拒否され、黙って除去されることはありません。既存のファイルは上書きされません。数値のサフィックス -1、-2 が追加され、最終的なパスが返されます。ダウンロードした本文のサイズ上限は、アップロード上限と同じ 100 MB です。プロジェクトの .gitignore に atlassian-downloads/ を追加してください。
  • デスクトップクライアントに関する注意:Claude Desktop などのクライアントは、作業ディレクトリを / または $HOME にして stdio サーバーを起動します。そのため、ファイルシステムの大部分がアップロード先ルートになります(ドットファイルを除く)。このようなクライアントでは、ATLASSIAN_UPLOAD_DIR(必要に応じて ATLASSIAN_DOWNLOAD_DIR も)を明示的に設定してください。
  • 移行(0.11 → 0.12):アップロードは ATLASSIAN_UPLOAD_DIR(デフォルト:サーバーの作業ディレクトリ)内に制限され、ドットファイルは拒否されるようになりました。クライアントから ~/Downloads をアップロードする場合は、ATLASSIAN_UPLOAD_DIR=~/Downloads を設定してください。ダウンロード先は作業ディレクトリではなく ./atlassian-downloads/(または ATLASSIAN_DOWNLOAD_DIR)になりました。save_path に指定できるのはファイル名のみで、既存ファイルは上書きされません。
  • ダウンロード URL の検証:サーバーは SSRF を防ぐため、添付ファイルのダウンロード URL をそれぞれ、設定された Jira URL のドメインと照合します。
  • SSL 検証:サーバーはデフォルトで Jira と Confluence の SSL 検証を有効にします。信頼できるネットワーク内の自己署名証明書を使用する場合に限り、無効にしてください。
  • MCP ツールのアノテーション:各ツールは、クライアント側の権限確認プロンプト用に readOnlyHint、destructiveHint、idempotentHint を宣言します。
  • 認証情報の保存なし:サーバーは起動時に環境変数からトークンを読み込みます。トークンを保存することはありません。

レート制限と権限

レート制限

Jira Cloud ではユーザーごとにレート制限が適用されます。レート制限に達すると、ツールは待機するよう促すヒントとともに 429 エラーを返します。Confluence Calendar API の呼び出しは、Team Calendars プラグインのアーキテクチャにより、時間がかかることがあります。

必要な権限
操作最低限必要な Jira 権限
プロジェクト、フィールド、ボードの一覧表示Browse Projects
ユーザーの検索Browse Users
課題、エピックの作成/更新Create Issues + Edit Issues
課題リンクの作成/削除Link Issues
添付ファイルのアップロード/削除Create Attachments + Delete Own Attachments
課題のスプリントへの移動Manage Sprints
バージョンの作成/更新Administer Projects
Confluence のカレンダー/休暇View space content

CLI とトランスポートのオプション

# 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 config
JIRA_PAT=xxx uvx mcp-atlassian-extended --jira-url https://jira.example.com --read-only

--jira-token、--jira-api-token、--confluence-token、--confluence-api-token フラグは引き続き機能しますが、非推奨となり、--help には表示されません。これらのフラグを使うと、トークンが ps やシェルの履歴から参照できる状態になります。代わりに JIRA_PAT/JIRA_API_TOKEN/CONFLUENCE_PAT/CONFLUENCE_API_TOKEN を設定してください。

サーバーは python-dotenv を使って、作業ディレクトリにある .env ファイルを自動的に読み込みます。

部分的な設定:Jira と Confluence は個別に設定できます。どちらか一方、または両方を設定してください。サーバーは常に 22 個すべてのツールを公開します。未設定の製品に対するツールを呼び出すと、設定すべき変数名を示す「未設定」エラーが返されます。サーバーは起動時に失敗しません。

Docker

最小構成の非 root イメージを提供しています。イメージはデフォルトで読み取り専用にロックされています(MCP_READ_ONLY=true)。書き込みを許可するには -e MCP_READ_ONLY=false を渡してください。

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

エントリーポイントは mcp-atlassian-extended コマンドです。イメージ名の後に CLI フラグを渡してください。公開ポートで HTTP トランスポートを使用する場合は、ATLASSIAN_HTTP_BEARER_TOKEN も設定し、--transport streamable-http --host 0.0.0.0 を指定して実行してください。

FAQ

MCP 2026-07-28 仕様(MCP 2.0)に対応していますか?

はい。MCP 2026-07-28 仕様(MCP 2.0)を実装しており、2025-11-25 クライアントとの互換性も維持しています。

対応しているトランスポートは何ですか?

stdio(デフォルト)と streamable-http(リモートクライアントに推奨)に対応しています。sse トランスポートも引き続き動作しますが、2026-07-28 仕様では非推奨となっています。

アシスタントが何も変更できないように、mcp-atlassian-extended を読み取り専用で実行できますか?

はい。MCP_READ_ONLY=true(または ATLASSIAN_READ_ONLY=true)を設定して起動してください。10 個の書き込みツールと、書き込みワークフロー用のプロンプトは一覧に表示されなくなるため、モデルからは見えません。これらを呼び出すと「不明なツール」が返され、プロセスの実行中に書き込みを再び有効にする方法はありません。管理対象の MCP 設定、コンテナーや systemd の環境変数、ホスト型のデプロイなど、自分で管理する起動設定で変数を設定してください。ユーザーが自分でサーバーを起動する場合、この変数を設定せずに起動できるためです。

セルフホストの Jira と Confluence で動作しますか?

はい。Jira Cloud、Jira Data Center、Confluence Cloud、Confluence Data Center に対応しています。Jira REST API v2 を使用しており、Cloud と Server/Data Center の両方で動作します。

必要な権限とトークンのスコープは何ですか?

Jira API トークン(Cloud)または個人用アクセストークン(Data Center)が必要です。各操作には、対応する Jira 権限が必要です。必要な権限を参照してください。

mcp-atlassian を置き換えるものですか?

いいえ。mcp-atlassian と併用でき、ツールの重複はありません。mcp-atlassian はコアの検索機能と CRUD を担います。このサーバーは添付ファイル、アジャイルボード、バージョン、カレンダーを追加します。

Confluence ツールにはアドオンが必要ですか?

はい。3 つの Confluence カレンダーツールには Team Calendars アドオンが必要です。アドオンがない場合は、アドオン名を示すヒントとともに 404 が返されます。

ツールはいくつ提供されますか?

Jira と Confluence 向けに、22 個のツール、15 個のリソース、5 個のプロンプトを提供します。

関連する MCP サーバー

  • mcp-gitlab — GitLab との連携(83 個のツール、7 個のリソース、6 個のプロンプト)
  • mcp-coda — Coda との連携(53 個のツール、12 個のリソース、5 個のプロンプト)
  • mcp-argocd — Argo CD との連携(37 個のツール、7 個のリソース、7 個のプロンプト)

クレジット

sooperset による mcp-atlassian から着想を得ています。アーキテクチャとパターンは、同様の規約に従っています。

開発

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 .

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。