mcpField
A
atlassian-dc-mcp-bitbucket

atlassian-dc-mcp-bitbucket

ローカル
github.com/MrRefactoringバージョン管理35 週間前に更新

atlassian-dc-mcp-bitbucket について

セルフホストの Atlassian Data Center を利用するチーム向けの Bitbucket MCP サーバーです。AI アシスタントからリポジトリ、ブランチ、コミット、プルリクエストを参照・管理できます。ツール、リソース、プロンプトを備え、認証情報の保存と複数の認証方式に対応します。

主な機能

  1. 01リポジトリ、ブランチ、コミットの管理
  2. 02ファイル、差分、タグの参照
  3. 03プルリクエストの検索と管理
  4. 04ビルド状態とコードインサイトの確認
  5. 05ツール、リソース、プロンプトの提供
  6. 06認証情報の保存と認証方式の設定

活用シーン

  1. 01AI アシスタントでプルリクエストをレビュー
  2. 02リポジトリのファイルやコミット差分を検索
  3. 03ビルド状態とコードインサイトレポートを確認
  4. 04複数の Bitbucket インスタンスへの接続を設定

MCP 対応

MCP サーバーとして、Bitbucket のリポジトリ、プルリクエスト、ビルド、権限に関するツール、リソース、プロンプトを公開します。stdio に対応し、HTTP トランスポートにも設定できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mrrefactoring-atlassian-dc-mcp-bitbucket": {
"command": "npx",
"args": [
"-y",
"bitbucket-datacenter-mcp"
],
"env": {
"ATLASSIAN_DC_MCP_CONFIG_FILE": "<ATLASSIAN_DC_MCP_CONFIG_FILE>",
"BITBUCKET_HOST": "<BITBUCKET_HOST>",
"BITBUCKET_API_BASE_PATH": "<BITBUCKET_API_BASE_PATH>",
"BITBUCKET_API_TOKEN": "<BITBUCKET_API_TOKEN>"
}
}
}
}
起動コマンドnpx -y bitbucket-datacenter-mcp
設定が必要な環境変数
ATLASSIAN_DC_MCP_CONFIG_FILEAbsolute path to a shared dotenv-style config file. When set, values are read from this file before direct environment variable overrides are applied.
BITBUCKET_HOSTBitbucket host domain (e.g. your-instance.atlassian.net). Required unless provided through ATLASSIAN_DC_MCP_CONFIG_FILE or BITBUCKET_API_BASE_PATH.
BITBUCKET_API_BASE_PATHBitbucket API base path (alternative to BITBUCKET_HOST). Required unless provided through ATLASSIAN_DC_MCP_CONFIG_FILE or BITBUCKET_HOST.
BITBUCKET_API_TOKENシークレットBitbucket Personal Access Token or API token. Required unless provided through ATLASSIAN_DC_MCP_CONFIG_FILE.

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

パッケージ
npmbitbucket-datacenter-mcp0.6.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

npm jira-datacenter-mcp npm confluence-datacenter-mcp npm bitbucket-datacenter-mcp License: MIT

Atlassian Data Center MCP

コミュニティプロジェクト — Atlassian との提携、承認、サポートは受けていません。 自己責任でご利用ください。

Claude Desktop、Claude Code、Cursor、その他のMCP対応AIアシスタントを、セルフホスト可能なAtlassian Data Center(旧Server)インスタンスのJira、Confluence、Bitbucketに接続するModel Context Protocol (MCP)サーバーです。

AIアシスタントからJira課題を検索・管理し、Confluenceページを閲覧・編集し、Bitbucketのプルリクエストをレビューできます。認証情報はクライアント設定に貼り付けるのではなく、OSのキーチェーンに保存されます。

パッケージバージョン対応サーバー
jira-datacenter-mcpnpmJira Data Center / Server
confluence-datacenter-mcpnpmConfluence Data Center / Server
bitbucket-datacenter-mcpnpmBitbucket Data Center / Server
datacenter-mcp-corenpm共通ランタイム(自動的にインストールされます。直接実行しないでください)

各製品は個別のパッケージです。必要なものだけをインストールしてください。


目次


機能

各サーバーは、アシスタントが呼び出せるアクションである MCP ツール、読み取り可能なコンテキストエンドポイントである リソース、すぐに使えるワークフローである プロンプトを公開します。ツールはドメインごとにグループ化され、<product>_verb_noun の命名パターンに従います(例:jira_search_issues、bitbucket_get_pull_request)。

サーバーツールリソースプロンプト
Jira28844
Confluence11544
Bitbucket12044
Jira — 288 個のツール
グループツール対応範囲
issues71検索(JQL)、作成/更新/ステータス遷移、コメント、作業ログ、リンク、添付ファイル、ウォッチャー、投票
projects48プロジェクト、バージョン、コンポーネント、ロール、カテゴリ
users29ユーザーの検索/検索、グループ、割り当て可能なユーザーのクエリ
workflows25ワークフロー、ステータス、スキーム
agile22ボード、スプリント、バックログ、エピック
admin93フィールド、画面、権限、通知/セキュリティスキーム、その他の管理設定の読み取り/書き込み
Confluence — 115 個のツール
グループツール対応範囲
content32ページ/ブログ投稿の CRUD、本文、バージョン、ラベル、子ページ/子孫ページ、検索(CQL)
spaces30スペース、スペースのコンテンツ、権限、ウォッチャー
users22ユーザー、グループ、メンバーシップ
admin11グローバル権限、アクセスモード、その他の管理設定の読み取り
webhooks9Webhook の登録と管理
attachments11添付ファイルのアップロード、一覧表示、更新、バイナリコンテンツ、ページの添付ファイル、埋め込み画像のダウンロード
Bitbucket — 120 個のツール
グループツール対応範囲
repositories55リポジトリ、ブランチ、コミット、ファイル/参照(テキストとバイナリ)、差分、タグ、ラベル、設定
pullRequests30PR の CRUD、差分/変更、インラインコメントとファイルコメント、タスク、レビュー、マージ/却下、参加者
builds13ビルドステータスとコードインサイトレポート
permissions8プロジェクト/リポジトリの権限付与
authentication6アクセストークン、SSH キー、GPG キー
projects5プロジェクトの CRUD
security3セキュリティ関連の読み取り

すべてのツールには MCP アノテーション(読み取り専用か破壊的操作かを示すヒント)が付いています。また、一般的な識別子(プロジェクトキー、ボード ID、リポジトリスラッグ)には引数の 補完候補が用意されているため、対応クライアントで入力を自動補完できます。


クイックスタート

各パッケージには対話型の setup コマンドが用意されており、OS が提供する最も安全な場所(macOS のキーチェーン、またはそれ以外の場合は 0600 のファイル)に認証情報を保存します。製品ごとに一度実行してください。

npx jira-datacenter-mcp setup
npx confluence-datacenter-mcp setup
npx bitbucket-datacenter-mcp setup

セットアップでは、ホスト、API のベースパス、デフォルトのページサイズ、API トークンを入力します。その後、保存前に認証済みのリクエストを実際に送信してすべてを検証するため、ホストやトークンに誤りがあればすぐに検出されます。匿名アクセス(未認証)を許可するインスタンスでは、トークンを空欄にして 匿名アクセスを設定します。

セットアップ後は、環境変数を一切設定せずにサーバーが起動します。クライアントの接続をご覧ください。

明示的な設定を使いますか? setup を省略し、代わりに環境変数または共有設定ファイルから認証情報を渡すこともできます。設定リファレンスをご覧ください。

スクリプト/非対話型セットアップ

セットアップでは、CI またはリモートブートストラップ向けのフラグを指定できます(一覧については --help を参照してください)。

フラグ短縮形説明
--host <value>-Hホスト(例:jira.example.com)
--api-base-path <value>-bAPI ベースパスまたは完全な URL
--token <value>-tAPI トークン(PAT)
--username <value>-uBasic 認証用のユーザー名(--token の代替)
--password <value>-pBasic 認証用のパスワード(--username と併用)
--default-page-size <n>-sデフォルトのページサイズ(正の整数)
--profile <name>-P同じ製品の2つ目のインスタンス用の名前付きプロファイル
--non-interactive-nプロンプトを表示せず、必須の値が不足している場合はゼロ以外のコードで終了します
--help-h使用方法を表示します
# Fully scripted
npx jira-datacenter-mcp setup --non-interactive --host jira.example.com --token "$JIRA_TOKEN"

# Re-validate an already-stored token without re-entering it
npx jira-datacenter-mcp setup --non-interactive --host jira.example.com

--non-interactive モードでは、不足している値は既存の設定から解決され、最初の検証エラーでコマンドは 1 を返して終了します。CI のゲートとして利用できます。


クライアントの接続

setup で認証情報を保存すると、env ブロックは空にできます。以下の例では分かりやすさのため、認証情報をインラインで指定しています。setup を実行済みの場合は、env エントリーを削除してください。

*_HOST には、プロトコルを含めずにドメイン(および任意のポート)を設定してください。プロトコルは https:// が想定されます。標準以外のパスを指定する場合や http:// を強制する場合は、代わりに完全な URL を指定した *_API_BASE_PATH を使用してください(製品固有の API サフィックスは自動的に追加されるため、含めないでください)。

Claude Desktop

設定ファイル:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)・%APPDATA%\Claude\claude_desktop_config.json(Windows)。必要なサーバーのみを残してください。

{
  "mcpServers": {
    "atlassian-jira-dc": {
      "command": "npx",
      "args": ["-y", "jira-datacenter-mcp"],
      "env": { "JIRA_HOST": "jira.example.com", "JIRA_API_TOKEN": "your-token" }
    },
    "atlassian-confluence-dc": {
      "command": "npx",
      "args": ["-y", "confluence-datacenter-mcp"],
      "env": { "CONFLUENCE_HOST": "confluence.example.com", "CONFLUENCE_API_TOKEN": "your-token" }
    },
    "atlassian-bitbucket-dc": {
      "command": "npx",
      "args": ["-y", "bitbucket-datacenter-mcp"],
      "env": { "BITBUCKET_HOST": "bitbucket.example.com", "BITBUCKET_API_TOKEN": "your-token" }
    }
  }
}

setup を実行すると、次のように簡潔になります。

{
  "mcpServers": {
    "atlassian-jira-dc": { "command": "npx", "args": ["-y", "jira-datacenter-mcp"] }
  }
}
Claude Code
# Project scope (writes .mcp.json); add -s user for all projects
claude mcp add atlassian-jira-dc \
  -e JIRA_HOST=jira.example.com \
  -e JIRA_API_TOKEN=your-token \
  -- npx -y jira-datacenter-mcp

-e JIRA_HOST=… を -e JIRA_API_BASE_PATH=https://jira.example.com/rest に置き換えるか、setup を実行済みの場合は -e フラグをすべて削除してください。

Cursor とその他の MCP クライアント

stdio MCP クライアントであれば、どれでも動作します。コマンド npx -y <product>-datacenter-mcp を指定し、クライアントの env 機能を使って認証情報を渡してください(または setup を利用してください)。リモート/複数クライアントでのホスティングには、HTTP トランスポートを使用してください。


認証とトークン

リクエストごとに解決される3つのモードがあります。

  • パーソナルアクセストークン(推奨) — *_API_TOKEN を設定します。Authorization: Bearer <token> として送信されます。
  • Basic 認証 — *_USERNAME と *_PASSWORD を設定します(PAT がない古いインスタンス向け)。両方が設定されている場合は、トークンより優先されます。
  • 匿名 — どちらも設定しません。Authorization ヘッダーは送信されず、認証なしの読み取りを許可するインスタンスで動作します。
パーソナルアクセストークンの生成
製品Web UI 内の場所
Jiraプロフィール → パーソナルアクセストークン → トークンを作成
Confluenceプロフィール/設定 → パーソナルアクセストークン → トークンを作成
Bitbucketアカウント管理 → HTTP アクセストークン → トークンを作成

トークンには必要最小限の権限を付与し、すぐにコピーしてください。トークンが表示されるのは一度だけです。


設定リファレンス

製品ごとの変数

各製品はそれぞれのプレフィックス(JIRA_*、CONFLUENCE_*、BITBUCKET_*)を読み取ります。

変数必須説明
*_HOST✅¹ドメイン(およびポート)、プロトコルなし。例:jira.example.com
*_API_BASE_PATH✅¹プロトコルを含む完全なベース URL。*_HOST の代替
*_API_TOKEN—パーソナルアクセストークン(Bearer 認証)
*_USERNAME / *_PASSWORD—Basic 認証のペア(トークンの代替)
*_DEFAULT_PAGE_SIZE—ページ分割されたエンドポイントのデフォルトページサイズ

¹ *_HOST または *_API_BASE_PATH のいずれか1つを指定してください。API サフィックスは自動で追加されるため、含めないでください。Jira /rest(および /api/2)、Confluence /rest/api、Bitbucket /rest(および /api/latest)。

グローバル変数
変数デフォルト説明
ATLASSIAN_DC_MCP_CONFIG_FILE—共有 dotenv ファイルへの絶対パス(下記参照)。設定されているのにファイルが見つからない場合は、すぐに失敗します
ATLASSIAN_DC_MCP_PROFILE—名前付きプロファイルに保存された認証情報を選択します(複数インスタンス(プロファイル))
ATLASSIAN_DC_MCP_HTTP_PORT—stdio の代わりに HTTP でサービスを提供します
ATLASSIAN_DC_MCP_LOG_LEVELinfodebug · info · warn · error
ATLASSIAN_DC_MCP_REQUEST_TIMEOUT_MS30000Atlassian API へのリクエストごとのタイムアウト
ATLASSIAN_DC_MCP_MAX_RESPONSE_CHARS100000ツールの結果の文字数上限。0 にすると上限が無効になります
ATLASSIAN_DC_MCP_MAX_INLINE_BYTES1048576 images
262144 other
outputPath の指定を必要とせず、インラインで返すダウンロードファイルの最大サイズです。設定すると、画像とその他の両方に同じ値が適用されます。0 にすると、常に outputPath が必要になります
優先順位

起動時に、各設定キーは次の順にソースを確認し、最初に見つかった空でない値が使われます。

優先度ソース提供する値
100process.envすべてのキー
80env ファイル — ATLASSIAN_DC_MCP_CONFIG_FILE、または ./.envすべてのキー
60ホームファイル — ~/.atlassian-dc-mcp/<product>.env(Windows では %USERPROFILE%\…)すべてのキー
40macOS Keychain — サービス atlassian-dc-mcp、アカウント <product>-token / <product>-passwordトークン、パスワード

プロセス環境変数が常に優先されるため、1 回のセッションに限り、保存済みの認証情報を上書きできます。Keychain の読み込みは起動時に 1 回だけキャッシュされ、ツール呼び出し時にシェルコマンドを実行することはありません。

共有設定ファイル

1 台のマシンで複数の MCP ホスト間で同じ認証情報を再利用するには、1 つの dotenv ファイルに *_HOST / *_API_TOKEN / … 変数を記述し、絶対パスを指定した ATLASSIAN_DC_MCP_CONFIG_FILE で各サーバーからそのファイルを参照します。

JIRA_HOST=jira.example.com
JIRA_API_TOKEN=your-jira-token

CONFLUENCE_HOST=confluence.example.com
CONFLUENCE_API_TOKEN=your-confluence-token

BITBUCKET_HOST=bitbucket.example.com
BITBUCKET_API_TOKEN=your-bitbucket-token
{
  "mcpServers": {
    "atlassian-jira-dc": {
      "command": "npx",
      "args": ["-y", "jira-datacenter-mcp"],
      "env": { "ATLASSIAN_DC_MCP_CONFIG_FILE": "/Users/you/.config/atlassian-dc-mcp.env" }
    }
  }
}

機能

認証情報の保存場所

setup はシークレットとそれ以外を分けて保存します。

  • macOS — トークン/パスワードはログイン Keychain に保存されます(サービス atlassian-dc-mcp)。書き込みが成功すると、ホームファイル内のコピーは消去されるため、セキュリティの低い場所に二重に保存されることはありません。
  • Linux — ホームファイル ~/.atlassian-dc-mcp/<product>.env。パーミッションは 0600(自分のユーザーのみ)。
  • Windows — %USERPROFILE%\.atlassian-dc-mcp\<product>.env。ユーザープロファイルの ACL を継承します。

シークレットではないフィールド(ホスト、ベースパス、ページサイズ)は、常にホームファイルに保存されます。

複数インスタンス(プロファイル)

同じ製品のインスタンスを 2 つ実行する場合(例:2 つの Jira サイト)、セットアップ時にそれぞれ --profile を指定し、起動時に ATLASSIAN_DC_MCP_PROFILE で選択します。

npx jira-datacenter-mcp setup --profile work     --host jira-work.example.com     --token "$WORK_TOKEN"
npx jira-datacenter-mcp setup --profile personal --host jira-personal.example.com --token "$PERSONAL_TOKEN"
{
  "mcpServers": {
    "jira-work":     { "command": "npx", "args": ["-y", "jira-datacenter-mcp"], "env": { "ATLASSIAN_DC_MCP_PROFILE": "work" } },
    "jira-personal": { "command": "npx", "args": ["-y", "jira-datacenter-mcp"], "env": { "ATLASSIAN_DC_MCP_PROFILE": "personal" } }
  }
}

プロファイルによって変わるのは、使用するホームファイル(<product>.<profile>.env)と Keychain アカウントだけです。

トランスポート:stdio と HTTP

デフォルトでは、各サーバーは stdio で通信します。これは Claude Desktop などのローカルホストが想定する方式です。ATLASSIAN_DC_MCP_HTTP_PORT に正の整数を設定すると、代わりに Streamable HTTP トランスポート でサービスを提供します(リモート/複数クライアントからのアクセス用)。1 つのプロセスで両方を同時に使用することはできません。

ATLASSIAN_DC_MCP_HTTP_PORT=3000 npx jira-datacenter-mcp

HTTP トランスポートには、設定済みの Atlassian 認証情報以外の認証機能はありません。localhost の外部に公開する前に、リバースプロキシ、TLS、アクセス制御を自分で設定してください。

耐障害性
  • 再試行 — 一時的な障害(HTTP 429 および 5xx)は、指数バックオフとジッターを使用して再試行されます(最大 3 回)。サーバーから提供された Retry-After ヘッダーがある場合は、計算されたバックオフの代わりに適用されます(最大 30 秒)。4xx のクライアントエラーは再試行されません。
  • レスポンス上限 — ツールの結果が ATLASSIAN_DC_MCP_MAX_RESPONSE_CHARS(デフォルトは 100k 文字)を超える場合、マーカーを付けて切り詰められるため、広範なクエリを 1 回実行してもコンテキストウィンドウが埋め尽くされません。無効にするには 0 を設定します。
  • ページネーションの制限 — 小規模で自然に上限のあるリスト(プロジェクトのバージョン、ページのラベルなど)は 1 つの結果に自動でまとめられます。一方、終わりのない検索(JQL/CQL、リポジトリ一覧など)は、無制限のデータを返さないよう、単一ページのままエージェント主導で処理されます。
  • バイナリのダウンロード — 各ダウンロードツールでは、絶対パスの outputPath を任意で指定できます。指定するとファイルがディスクに書き込まれ、メタデータのみが返されるため、サイズは問題になりません。指定しない場合、バイト列は独立したコンテンツブロック(画像、または base64 のリソースブロブ)として返され、レスポンス上限の対象外となります。ATLASSIAN_DC_MCP_MAX_INLINE_BYTES を超えるデータは切り詰めず、outputPath を指定するよう案内して拒否されます。上限は、ホストが画像としてデコードするラスター画像では 1 MiB、それ以外では 256 KiB です。それ以外のデータは、ホストがテキストとしてしか読み取れない base64 形式になります。
ロギング

すべてのログは stderr に 1 行 1 JSON オブジェクト({"timestamp","level","message",…})として出力され、stdout は stdio プロトコル用に保たれます。ログの詳細度は ATLASSIAN_DC_MCP_LOG_LEVEL で設定します。

ATLASSIAN_DC_MCP_LOG_LEVEL=debug npx jira-datacenter-mcp

開発

pnpm ワークスペースのモノレポです。packages/ の下に 4 つのパッケージがあります。core(共有ランタイム)と、製品ごとのパッケージです。

前提条件: Node.js ≥ 26 · pnpm(packageManager によって 11.9.0 に固定) · 接続可能な Atlassian DC/Server インスタンス。

git clone https://github.com/MrRefactoring/atlassian-dc-mcp.git
cd atlassian-dc-mcp
pnpm install

pnpm build          # build all packages (core first — others depend on its types)
pnpm typecheck      # tsc --noEmit across src + tests
pnpm lint           # ESLint (flat config, whole repo)
pnpm test           # unit tests (Vitest); the API client is mocked — no network

pnpm dev:jira       # watch-mode build for one product (also :confluence, :bitbucket)

--filter を使うと、単一のパッケージをビルドまたはテストできます。

pnpm --filter jira-datacenter-mcp build
pnpm --filter jira-datacenter-mcp test
ライブスモークテスト

ユニットテストでは API クライアントをモックするため、実際のインスタンスに対する認証、ネットワーク、API 形式の回帰を検出できません。各製品では、設定がない場合に失敗扱いではなく自動的にスキップする、オプトイン方式の読み取り専用ライブテストを実行できます。

cp packages/jira/.env.live.example packages/jira/.env.live
# edit .env.live with a real host + token (or username/password)
pnpm --filter jira-datacenter-mcp test -- jira-service.live

.env.live は gitignore の対象です。実際の認証情報は絶対にコミットしないでください。

リリース

バージョン管理と公開には Changesets を使用します。4 つのパッケージはすべて同時に更新されます(fixed グループ)。動作を変更する PR には、次のいずれかを含めてください。

pnpm changeset

生成された .changeset/*.md を変更と一緒にコミットしてください。作成された「Version Packages」PR をマージすると、npm と MCP Registry に公開されます。


ライセンス

MIT

コメント

MCP は初めてですか?

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

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