mcpField
M
MCP Server for Bitbucket API

MCP Server for Bitbucket API

ローカル
github.com/JaviMalignoバージョン管理25 日前に更新

MCP Server for Bitbucket API について

MCP Server for Bitbucket APIは、Bitbucketのリポジトリや開発操作をMCP対応クライアントに接続します。TypeScript版とPython版があり、プルリクエスト、パイプライン、ソース閲覧、関連するワークスペースデータを扱えます。

主な機能

  1. 01リポジトリ・プロジェクト・ブランチ・タグの管理
  2. 02プルリクエストの作成とレビュー
  3. 03パイプラインの実行と確認
  4. 04クローンせずにソースファイルを閲覧
  5. 05権限・Webhook・デプロイの管理
  6. 06再利用可能なプロンプトとワークスペースリソース

活用シーン

  1. 01プルリクエストのレビューと変更比較
  2. 02Bitbucket Pipelinesの実行や問題調査
  3. 03リポジトリファイルとワークスペース状態の確認
  4. 04リポジトリアクセス権やCI変数の管理

MCP 対応

MCPツールを通じてBitbucket操作を公開し、再利用可能なプロンプトと閲覧可能なワークスペースリソースも提供します。stdioでの利用に加え、OAuth保護を任意で設定できるリモート配置にも対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Bitbucket MCP サーバー

CI/CD PyPI version npm version License: MIT

Bitbucket API 操作用の MCP サーバーです。Claude Code、Claude Desktop、Cursor、および MCP 対応のあらゆるクライアントで動作します。

言語バージョン

このリポジトリには、TypeScript と Python の実装が含まれています。

バージョンディレクトリステータスインストール
TypeScript/typescript✅ 推奨(Smithery)npm install -g mcp-server-bitbucket
Python/python✅ 安定pipx install mcp-server-bitbucket

注:Smithery へのデプロイには TypeScript 版が使用されます。どちらのバージョンも同じ機能を提供します。

TypeScript ではパッチ適用済みの Node.js 22.23.4 または 24.22.1 を、Python では Python 3.11 以降を使用してください。 HTTP リクエストの上限設定と再現可能なイメージビルドについては、セキュリティ更新を参照してください。

機能

  • リポジトリ:取得、作成、削除、一覧表示、更新(プロジェクトへの移動、名前の変更)
  • プルリクエスト:作成、取得、一覧表示、マージ、承認、却下、変更のリクエスト、コメント、差分
  • パイプライン:実行、ステータスの取得、一覧表示、ログの表示、停止
  • ブランチ:一覧表示、取得
  • プロジェクト:一覧表示、取得
  • コミット:一覧表示、詳細の取得、ブランチ間の比較/差分
  • コミットステータス:ビルドステータスの取得、ステータスの作成(CI/CD 統合)
  • デプロイ:環境の一覧表示、環境の詳細取得、デプロイ履歴
  • Webhook:一覧表示、作成、取得、削除
  • タグ:一覧表示、作成、削除
  • ブランチ制限:ブランチ保護ルールの一覧表示、作成、削除
  • ソースの閲覧:クローンせずにファイルを読み取り、ディレクトリを一覧表示
  • リポジトリ権限:ユーザーとグループの権限を管理
  • パイプライン変数:CI/CD 環境変数を管理
  • MCP プロンプト:再利用可能なワークフローテンプレート(コードレビュー、リリースノートなど)
  • MCP リソース:閲覧可能なワークスペースデータ

クイックスタート

TypeScript(Smithery 向けに推奨)
# Install globally
npm install -g mcp-server-bitbucket

# Or run directly with npx
npx mcp-server-bitbucket
Python
# Install with pipx
pipx install mcp-server-bitbucket

# Configure Claude Code
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e [email protected] \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- mcp-server-bitbucket

インストールガイド全文 - API トークンの作成、権限の設定、トラブルシューティングを含みます。

ホステッド

サーバーを自分で実行したくない場合は、Fronteir AI でホステッド環境を利用できます。

設定

環境変数
変数必須説明
BITBUCKET_WORKSPACE✅Bitbucket ワークスペースのスラッグ
BITBUCKET_EMAIL✅(Basic 認証)Basic 認証に使用するアカウントのメールアドレス
BITBUCKET_API_TOKEN✅Atlassian API トークン(Basic 認証)
BITBUCKET_OAUTH_TOKENAuthorization: Bearer として送信するアクセストークン
BITBUCKET_AUTH_TYPE認証方式を指定:basic または bearer(自動検出)
API_TIMEOUTリクエストのタイムアウト(秒、デフォルト:30)
MAX_RETRIESレート制限時の最大再試行回数(デフォルト:3)
認証モード

Bitbucket Cloud には2種類の認証情報ファミリーがあり、認証方式は共通ではありません。

認証情報ヘッダー設定
Atlassian API トークン(ATATT...)、個人アカウントに紐付けAuthorization: Basic base64(email:token)BITBUCKET_EMAIL + BITBUCKET_API_TOKEN
ワークスペース/プロジェクト/リポジトリのアクセストークン(ATCTT...)、ワークスペースが所有Authorization: Bearer <token>BITBUCKET_OAUTH_TOKEN

アクセストークンは Basic 認証で401 を返すため、サーバーはモードを自動的に選択します。

  1. BITBUCKET_AUTH_TYPE が設定されている場合は、常にその値が優先されます。
  2. BITBUCKET_OAUTH_TOKEN が設定されている場合、または BITBUCKET_EMAIL が設定されていない場合は、bearer が使用されます。
  3. それ以外の場合は basic が使用されます(個人用 API トークンのデフォルト)。

Bearer の例 — 個人アカウントを介さず、会社が所有するワークスペースアクセストークンを使用する場合:

claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e BITBUCKET_OAUTH_TOKEN=your-workspace-access-token \
  -- npx mcp-server-bitbucket
リモートサーバーの保護(OAuth)

stdio サーバーはユーザー自身の認証情報を使ってユーザーのマシン上で実行されるため、保護は必要ありません。リモートデプロイでは事情が異なります。1つの共有認証情報を保持して、アクセスしたユーザーに提供するため、外部の認可サーバー(Microsoft Entra ID、Okta、Auth0 など)が発行したベアラートークンで /mcp へのアクセスを制限できます。

変数説明
MCP_OAUTH_ISSUERトークン発行者。例:https://login.microsoftonline.com/<tenant>/v2.0
MCP_OAUTH_AUDIENCE想定される aud クレーム。例:api://bitbucket-mcp
MCP_OAUTH_JWKS_URI署名キー(省略時は発行者から導出)
MCP_OAUTH_REQUIRED_SCOPEトークンに必要なスコープ。例:mcp.access
MCP_PUBLIC_URLこのサーバーの公開 URL。リソースとして通知されます

MCP_OAUTH_ISSUER と MCP_OAUTH_AUDIENCE の両方が設定されていない限り、保護は無効です。そのため、既存のデプロイには影響しません。設定すると、サーバーは次のように動作します。

  • 認証されていない /mcp リクエストに対し、/.well-known/oauth-protected-resource を示す WWW-Authenticate ヘッダーとともに 401 を返します。これにより MCP クライアントは OAuth フローを開始します。
  • 認可サーバーを示すメタデータドキュメント(RFC 9728)を提供します。
  • 各リクエストの JWT を検証します。発行者の JWKS による署名検証に加え、iss、aud、有効期限を確認します。また、有効なトークンに必要なスコープがない場合は 403 insufficient_scope を返します。
  • /health は公開したままにするため、プラットフォームのプローブは引き続き動作します。

この仕組みで制御できるのは、サーバーを利用できるユーザーです。リクエストは引き続きサーバー自身の認証情報で Bitbucket に送信されるため、個々のユーザーに操作を紐付けることはできません。

Claude Code CLI
# TypeScript version
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e [email protected] \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- npx mcp-server-bitbucket

# Python version
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e [email protected] \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- mcp-server-bitbucket
Cursor IDE

~/.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "bitbucket": {
      "command": "npx",
      "args": ["mcp-server-bitbucket"],
      "env": {
        "BITBUCKET_WORKSPACE": "your-workspace",
        "BITBUCKET_EMAIL": "[email protected]",
        "BITBUCKET_API_TOKEN": "your-api-token"
      }
    }
  }
}

利用可能なツール(合計58個)

リポジトリ
ツール説明
list_repositoriesリポジトリを一覧表示および検索します
get_repositoryリポジトリの詳細を取得します
create_repository新しいリポジトリを作成します
delete_repositoryリポジトリを削除します
update_repositoryリポジトリの設定を更新します
プルリクエスト
ツール説明
list_pull_requestsPR を一覧表示します
get_pull_requestPR の詳細を取得します
create_pull_request新しい PR を作成します
merge_pull_requestPR をマージします
approve_prPR を承認します
unapprove_pr承認を取り消します
request_changes_pr変更をリクエストします
decline_prPR を却下します
list_pr_commentsコメントを一覧表示します
add_pr_commentコメントを追加します
get_pr_diff差分を取得します
パイプライン
ツール説明
list_pipelines最近の実行を一覧表示
get_pipelineステータスを取得
get_pipeline_logsログを表示
trigger_pipeline実行をトリガー(カスタムパイプラインとコミットトリガーに対応)
stop_pipelineパイプラインを停止
list_pipeline_variables変数を一覧表示
get_pipeline_variable変数を取得
create_pipeline_variable変数を作成
update_pipeline_variable変数を更新
delete_pipeline_variable変数を削除
trigger_pipeline のパラメーター
パラメーター型説明
repo_slugstringリポジトリのスラッグ(必須)
branchstring実行対象のブランチ(デフォルト:main)。commit とは同時に指定できません
commitstring実行対象のコミットハッシュ。branch とは同時に指定できません
custom_pipelinestringbitbucket-pipelines.yml の custom: セクションにある名前
variablesarray[{key, value, secured?}] 形式の変数

例:

# Default pipeline on main
trigger_pipeline(repo_slug="my-repo")

# Custom pipeline
trigger_pipeline(repo_slug="my-repo", custom_pipeline="deploy-staging")

# Custom pipeline on specific commit with variables
trigger_pipeline(
    repo_slug="my-repo",
    commit="abc123def",
    custom_pipeline="deploy-prod",
    variables=[
        {"key": "ENV", "value": "production"},
        {"key": "SECRET", "value": "xxx", "secured": True}
    ]
)
ブランチ、コミット、タグ
ツール説明
list_branchesブランチを一覧表示
get_branchブランチの詳細を取得
list_commitsコミットを一覧表示
get_commitコミットの詳細を取得
compare_commitsブランチを比較
get_commit_statusesビルドのステータスを取得
create_commit_statusCI ステータスを報告
list_tagsタグを一覧表示
create_tagタグを作成
delete_tagタグを削除
その他...
  • デプロイメント:list_environments、get_environment、list_deployment_history
  • Webhook:list_webhooks、create_webhook、get_webhook、delete_webhook
  • ブランチ制限:list_branch_restrictions、create_branch_restriction、delete_branch_restriction
  • ソースの閲覧:get_file_content、list_directory
  • 権限:ユーザーとグループの権限管理(8 個のツール)
  • プロジェクト:list_projects、get_project

MCP プロンプト

再利用可能なワークフローテンプレート:

プロンプト説明
code_review包括的な PR コードレビュー
release_notesバージョン間の変更履歴を生成
pipeline_debug失敗した CI/CD パイプラインをデバッグ
repo_summaryリポジトリのステータス全体を把握

MCP リソース

閲覧可能なワークスペースデータ:

リソース URI説明
bitbucket://repositoriesすべてのリポジトリを一覧表示
bitbucket://repositories/{repo}リポジトリの詳細
bitbucket://repositories/{repo}/branchesブランチ一覧
bitbucket://repositories/{repo}/pull-requestsオープン中の PR
bitbucket://projectsすべてのプロジェクトを一覧表示

開発

TypeScript
cd typescript
npm install
npm run build
npm run dev  # Watch mode
Python
cd python
uv sync
uv run python -m src.server

Bitbucket API トークンの作成

  1. Bitbucket でリポジトリに移動します
  2. Repository settings > Access tokens に移動します
  3. Create Repository Access Token をクリックします
  4. 権限を選択します:
    • Repository:Read、Write、Admin、Delete
    • Pull requests:Read、Write
    • Pipelines:Read、Write
  5. トークンをすぐにコピーします

仕事での利用について

チームが会社の Bitbucket に対してこれを実行している場合は、ぜひお知らせください。次に何を構築するかの判断に役立ち、実際のデプロイメントで発生した課題を優先して確認します。

この関連で、次の 2 種類の作業を引き受けています:

  • MCP サーバーがない社内システム向けの MCP サーバー。 こちらと同じ構成で、お客様独自の API に対応します。
  • MCP のデプロイメントがセキュリティレビューを通過するための支援 — スコープ、トークンの取り扱い、トランスポートのセルフホスト。

issue を作成するか、[email protected] までご連絡ください。

作者

ジャビエル・アギラール が構築・保守しています — エージェントシステムと MCP 統合に取り組む AI エンジニアです。このサーバーを構築した経緯と理由については、こちらをご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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