mcp-atlassian-extended について
mcp-atlassian-extendedは、JiraとConfluenceを扱うAIアシスタント向けのMCPサーバーです。mcp-atlassianにないアジャイル、添付ファイル、ユーザー、バージョン、カレンダー機能を補い、読み取り専用にも固定できます。
主な機能
- 01カスタムフィールド付き課題の作成・更新
- 02課題リンクと添付ファイルの管理
- 03ユーザー、プロジェクト、フィールドの検索
- 04ボードの確認とスプリント管理
- 05カレンダー参照とスプリント容量の計画
- 06書き込みまたは読み取り専用の選択
活用シーン
- 01課題にファイルを添付し、関連課題をリンク
- 02ボードを確認して課題をスプリントに移動
- 03日付ごとのチーム休暇とスプリント容量を確認
MCP 対応
JiraとConfluence向けに22個のツール、15個のリソース、5個のプロンプトを公開するMCPサーバーです。stdioとstreamable-httpに対応し、読み取り専用に固定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-atlassian-extendedJIRA_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 envATLASSIAN_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 lockATLASSIAN_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
22掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| issue_key | string | はい | Jira の課題キー(例:PROJ-123) |
詳細
mcp-atlassian-extended
インストール: 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 にないツールのみを実装しています。
ワンクリックインストール
💡 ヒント: ほかの 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 | はい | - | 個人アクセストークン(以下のフォールバック順を参照) |
サーバーは、以下の環境変数を順に確認し、最初に一致したものを使用します。
JIRA_PATJIRA_PERSONAL_TOKENJIRA_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 | はい | - | 個人アクセストークン(以下のフォールバック順を参照) |
サーバーは、以下の環境変数を順に確認し、最初に一致したものを使用します。
CONFLUENCE_PATCONFLUENCE_PERSONAL_TOKENCONFLUENCE_TOKEN
ここでも Basic 認証が優先されます。CONFLUENCE_USERNAME と CONFLUENCE_API_TOKEN は、すべての個人アクセストークンより優先されます。
Confluence のすべてのカレンダーツールには、Team Calendars アドオン(/rest/calendar-services/1.0/)が必要です。このアドオンがないインスタンスでは、すべてのカレンダーツールがアドオン名を示すヒント付きで 404 を返します。
オプション設定
| 変数 | デフォルト | 説明 |
|---|---|---|
MCP_READ_ONLY | false | mcp-* サーバー間で共有される名前です。false/0/no/off/空以外の値を指定すると、サーバーは読み取り専用に固定されます。書き込みツール 10 個と書き込みワークフローのプロンプトは一覧に表示されず、実行時に解除することもできません |
ATLASSIAN_READ_ONLY | false | MCP_READ_ONLY のサーバーごとの別名です。どちらかを指定すると、サーバーは読み取り専用に固定されます。--read-only はロックを強めることのみ可能です |
ATLASSIAN_HTTP_BEARER_TOKEN | - | HTTP トランスポートをループバック以外のホストにバインドする際に必要なベアラートークン(16 文字以上)です。クライアントは Authorization: Bearer <token> を送信します |
ATLASSIAN_UPLOAD_DIR | 作業ディレクトリ | このディレクトリ内のファイルのみアップロードできます(jira_upload_attachment)。相対パスを指定した場合、作業ディレクトリを基準に解決されます。 |
ATLASSIAN_DOWNLOAD_DIR | ./atlassian-downloads | jira_download_attachment が書き込みを行う場所です。初回のダウンロード時に作成されます。 |
JIRA_TIMEOUT | 30 | Jira の HTTP リクエストタイムアウト(秒) |
JIRA_SSL_VERIFY | true | Jira の SSL 検証をスキップするには false に設定します |
CONFLUENCE_TIMEOUT | 30 | Confluence の HTTP リクエストタイムアウト(秒) |
CONFLUENCE_SSL_VERIFY | true | Confluence の 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_link | 2 つの課題の間にリンクを作成します(関連、ブロックなど) |
jira_delete_link | ID を指定して課題のリンクを削除します |
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 | 休暇を考慮してスプリントのキャパシティを計算します |
サーバーは、厳選された Jira および Confluence のワークフローガイドをMCP リソースとして公開します。
| URI | 名前 | 説明 |
|---|---|---|
resource://rules/jira-hierarchy | Jira 課題階層 | エピック/ストーリー/タスク/サブタスクの関係と、各階層を使用するタイミング |
resource://rules/jira-ticket-writing | Jira チケット作成基準 | 要約の形式、説明の構成、受け入れ基準の配置 |
resource://rules/acceptance-criteria | 受け入れ基準の基準 | Given/When/Then 形式、テスト可能性、DoD と AC の違い |
resource://rules/sprint-hygiene | スプリント運用ルール | キャパシティ計画、持ち越しポリシー、スプリント目標、レトロスペクティブの項目 |
resource://rules/jira-workflow | Jira ワークフローと自動化 | ステータス遷移、自動化のトリガー、ポストファンクション |
resource://rules/issue-linking | 課題リンクのベストプラクティス | リンクタイプ(ブロック、関連、重複)、プロジェクト間リンク、エピックリンク |
resource://guides/story-points | ストーリーポイントの見積もり | フィボナッチ数列、相対的な規模評価、チームの調整、アンチパターン |
resource://guides/definition-of-done | 完了の定義チェックリスト | チェックリスト形式、チームレベルと組織レベルの DoD、検証手順 |
resource://guides/jira-labels | Jira ラベルの分類体系 | 命名規則、ラベルのカテゴリ、ラベルとコンポーネントの違い |
resource://guides/jql-library | JQL クエリライブラリ | 一般的なクエリ、日付関数、カスタムフィールドの構文、保存済みフィルター |
resource://guides/custom-fields | Jira カスタムフィールドの管理 | フィールドタイプ、画面スキーム、コンテキスト、命名基準 |
resource://guides/confluence-spaces | Confluence スペースの構成 | スペースの種類、権限スキーム、アーカイブ、テンプレート |
resource://guides/agile-ceremonies | アジャイルセレモニーの基準 | 朝会、計画、レビュー、レトロスペクティブの形式とタイムボックス |
resource://guides/git-jira-integration | Git と Jira の統合パターン | スマートコミット、ブランチ命名、PR のリンク、ステータス遷移 |
resource://templates/confluence-pages | Confluence ページテンプレート | ADR、ランブック、オンボーディング、ポストモーテムのページ構成 |
プロンプト(5)
サーバーはMCP プロンプトを提供します。これは、クライアントがスラッシュコマンドとして表示できる、再利用可能な複数ツールのワークフローテンプレートです。
| プロンプト | パラメーター | ワークフロー |
|---|---|---|
create_ticket | project_key、issue_type | フィールドを収集 → カスタムフィールド(DoD、プライバシー、セキュリティ)を設定 → 作成 → リンクを追加 |
plan_sprint | board_id、sprint_id | スプリントを確認 → バックログを確認 → キャパシティを計算 → スコープを提案 → 課題を移動 |
close_ticket | issue_key | DoD を検証 → リンクされた MR を確認 → ステータスを遷移 → 完了コメントを追加 |
team_availability | team_members、start_date、end_date | 休みのメンバーを確認 → メンバーごとの休暇を確認 → キャパシティを計算 → 競合にフラグを付ける |
manage_attachments | issue_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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。