mcpField
B
Bitbucket MCP

Bitbucket MCP

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

Bitbucket MCP について

Bitbucket MCP は、Bitbucket Cloud および Server API に接続する MCP サーバーです。AI アシスタントからリポジトリやプルリクエストを扱いたい開発者を対象とし、承認やマージなどの PR 操作にも対応しています。

主な機能

  1. 01リポジトリの一覧と詳細の取得
  2. 02プルリクエストの取得・作成・更新
  3. 03インラインコメントを含むプルリクエストへのコメント
  4. 04プルリクエストの承認・却下・マージ
  5. 05大量データ取得のためのページネーション制御

活用シーン

  1. 01Cursor から Bitbucket の未処理プルリクエストを確認する
  2. 02AI アシスタントからレビュアーを指定してドラフトのプルリクエストを作成する
  3. 03アシスタント経由でプルリクエストにインラインレビューコメントを追加する

MCP 対応

本プロジェクトは MCP サーバーであり、Bitbucket のリポジトリおよびプルリクエスト操作をツールとして MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"bitbucket": {
"command": "npx",
"args": [
"-y",
"bitbucket-mcp"
]
}
}
}
起動コマンドnpx -y bitbucket-mcp

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

パッケージ
npmbitbucket-mcp5.0.5

ツール

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

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

詳細

Bitbucket MCP

Bitbucket Cloud および Server API と連携するための Model Context Protocol(MCP)サーバーです。この MCP サーバーを使用すると、Cursor などの AI アシスタントが Bitbucket のリポジトリ、プルリクエスト、その他のリソースを操作できます。

安全性を最優先

このパッケージは安全かつ責任を持って設計されており、DELETE 操作を使用しないため、データを失うリスクはありません。 すべてのプルリクエストは CodeQL で分析され、コードのセキュリティが確保されます。

CodeQL GitHub Repository License: MIT npm version

概要

公式 npm パッケージを確認してください。 このサーバーは Model Context Protocol 標準を実装し、AI アシスタントが Bitbucket のデータや操作にアクセスできるようにします。次のようなツールを備えています。

  • リポジトリの一覧表示と取得
  • リポジトリの詳細情報の取得
  • プルリクエストの取得
  • その他...

インストール

-- ご質問があったため補足します。多くの場合、BITBUCKET_USERNAME には通常、メールアドレスを指定します。

NPX を使用する(推奨)

この MCP サーバーを使用する最も簡単な方法は NPX を利用することです。グローバルにインストールせずに実行できます。

# Option A (recommended): API URL + explicit workspace
BITBUCKET_URL="https://api.bitbucket.org/2.0" \
BITBUCKET_WORKSPACE="your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx -y bitbucket-mcp@latest

# Option B (legacy-compatible): web URL only; workspace is auto-extracted
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx -y bitbucket-mcp@latest
手動インストール

または、グローバルに、あるいはプロジェクトの一部としてインストールできます。

# Install globally
npm install -g bitbucket-mcp

# Or install in your project
npm install bitbucket-mcp

次のコマンドで実行します。

# If installed globally (Option A)
BITBUCKET_URL="https://api.bitbucket.org/2.0" \
BITBUCKET_WORKSPACE="your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
bitbucket-mcp

# If installed globally (Option B - legacy-compatible)
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
bitbucket-mcp

# If installed in your project (Option A)
BITBUCKET_URL="https://api.bitbucket.org/2.0" \
BITBUCKET_WORKSPACE="your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx bitbucket-mcp

# If installed in your project (Option B - legacy-compatible)
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx bitbucket-mcp

設定

環境変数

次の環境変数を使用してサーバーを設定します。

変数説明必須
BITBUCKET_URLBitbucket API のベース URL。デフォルトは https://api.bitbucket.org/2.0 ですいいえ
BITBUCKET_USERNAMEBitbucket のユーザー名はい*
BITBUCKET_PASSWORDBitbucket のアプリパスワードはい*
BITBUCKET_TOKENBitbucket のアクセストークン(ユーザー名/パスワードの代わりに使用)いいえ
BITBUCKET_WORKSPACE使用するデフォルトのワークスペース。省略され、BITBUCKET_URL に含まれている場合は自動設定いいえ
BITBUCKET_ENABLE_DANGEROUStrue に設定すると、危険なツール(削除など)を有効にします。デフォルトでは無効ですいいえ
BITBUCKET_LOG_DISABLEtrue/1 に設定すると、ファイルへのログ記録を無効にしますいいえ
BITBUCKET_LOG_FILE特定のログファイルへの絶対パスいいえ
BITBUCKET_LOG_DIRログを保存するディレクトリ(デフォルトは OS 固有のアプリログディレクトリ)いいえ
BITBUCKET_LOG_PER_CWDtrue の場合、作業ディレクトリごとのサブフォルダー内にログを保存しますいいえ

BITBUCKET_TOKEN、または BITBUCKET_USERNAME と BITBUCKET_PASSWORD の両方を指定する必要があります。

Bitbucket アプリパスワードの作成
  1. Bitbucket アカウントにログインします
  2. Personal Settings > App Passwords に移動します
  3. 次の権限を設定して、新しいアプリパスワードを作成します。
    • Repositories:Read
    • Pull requests:Read、Write
    • Pipelines:Read(パイプライン操作に必要)
  4. 生成されたパスワードをコピーし、BITBUCKET_PASSWORD 環境変数の値として使用します

トラブルシューティング

401 認証エラー

401 認証エラーが発生する場合は、以下を確認してください。

  1. アプリパスワードを確認する:通常の Bitbucket パスワードではなく、アプリパスワードを使用していることを確認してください
  2. アプリパスワードの権限を確認する:アプリパスワードには、少なくとも「Repositories: Read」権限が必要です
  3. API URL 形式を試す:引き続き 401 エラーが発生する場合は、直接 API URL 形式を使用してみてください
BITBUCKET_URL="https://api.bitbucket.org/2.0"
  1. API アクセスをテストする:Bitbucket API に直接アクセスして、認証情報が機能することを確認してください
# Test with curl (replace with your actual values)
curl -u "your-username:your-app-password" \
  "https://api.bitbucket.org/2.0/repositories/your-workspace"
Atlassian API キー
  1. Atlassian API キーは BITBUCKET_TOKEN ではなく、BITBUCKET_PASSWORD 変数に設定してください
  2. 通常のユーザー名の代わりに、Bitbucket のメールアドレスを BITBUCKET_USERNAME として使用してください

詳細については、API トークンのドキュメントをご確認ください。

ヘルプの利用

問題が発生した場合は、以下をお試しください。

  1. API の詳細については、Bitbucket REST API ドキュメントを確認してください
  2. 一般的なヘルプについては、Bitbucket Cloud ドキュメントを確認してください

Cursor との統合

この MCP サーバーを Cursor と統合するには、以下の手順に従ってください。

  1. Cursor を開きます
  2. Settings > Extensions に移動します
  3. 「Model Context Protocol」をクリックします
  4. 新しい MCP 設定を追加します
"bitbucket": {
  "command": "npx",
  "env": {
    "BITBUCKET_URL": "https://api.bitbucket.org/2.0",
    "BITBUCKET_WORKSPACE": "your-workspace",
    "BITBUCKET_USERNAME": "your-username",
    "BITBUCKET_PASSWORD": "your-app-password"
  },
  "args": ["-y", "bitbucket-mcp@latest"]
}
  1. 設定を保存します
  2. Cursor で「/bitbucket」コマンドを使用して、Bitbucket のリポジトリとプルリクエストにアクセスします
Cursor でローカルビルドを使用する

ローカルで開発していて、変更をテストする場合は、以下を実行してください。

"bitbucket-local": {
  "command": "node",
  "env": {
    "BITBUCKET_URL": "https://api.bitbucket.org/2.0",
    "BITBUCKET_WORKSPACE": "your-workspace",
    "BITBUCKET_USERNAME": "your-username",
    "BITBUCKET_PASSWORD": "your-app-password"
  },
  "args": ["/path/to/your/local/bitbucket-mcp/dist/index.js"]
}

利用可能なツール

この MCP サーバーは、Bitbucket のリポジトリとプルリクエストを操作するためのツールを提供します。利用可能な操作の一覧を以下に示します。

ページネーション

特に記載がない限り、一覧表示ツールでは以下のオプションパラメーターを使用できます。

  • pagelen:1 ページあたりの項目数(Bitbucket の pagelen)。デフォルトは 10 で、上限は 100 です。
  • page:取得する Bitbucket のページ番号(1 から開始)。省略すると、最初のページが返されます。
  • all:true の場合(かつ page が指定されていない場合)、すべての項目を取得するか、安全上の上限である 1,000 件に達するまで、サーバーが Bitbucket の next リンクを自動的にたどります。
  • limit:下位互換性のために残されている、非推奨の pagelen の別名です。

これらのパラメーターを使うと、CLI の出力が切り詰められることなく、大規模なコレクションをページ単位で取得できます。

リポジトリ操作
listRepositories

ワークスペース内のリポジトリを一覧表示します。

パラメーター:

  • workspace(任意):Bitbucket のワークスペース名
  • name(任意):部分一致する名前でリポジトリを絞り込みます
  • ページネーションで説明されているページネーション制御
getRepository

特定のリポジトリの詳細を取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
プルリクエスト操作
getPullRequests

リポジトリのプルリクエストを取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • state(任意):プルリクエストの状態(OPEN、MERGED、DECLINED、SUPERSEDED)
  • ページネーションで説明されているページネーション制御
createPullRequest

新しいプルリクエストを作成します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • title:プルリクエストのタイトル
  • description:プルリクエストの説明
  • sourceBranch:ソースブランチ名
  • targetBranch:ターゲットブランチ名
  • reviewers(任意):レビュアーのユーザー名のリスト
  • draft(任意):プルリクエストをドラフトとして作成するかどうか
getPullRequest

特定のプルリクエストの詳細を取得します。

パラメーター:

updatePullRequest

プルリクエストを更新します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • ページネーションで説明されているページネーション制御
  • ページネーションで説明されているページネーション制御
  • その他の各種更新用パラメーター(タイトル、説明など)
getPullRequestActivity

プルリクエストのアクティビティログを取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
approvePullRequest

プルリクエストを承認します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
unapprovePullRequest

プルリクエストの承認を取り消します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
declinePullRequest

プルリクエストを却下します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • message(任意):却下する理由
mergePullRequest

プルリクエストをマージします。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • message(任意):マージコミットのメッセージ
  • strategy(任意):マージ戦略(merge-commit、squash、fast-forward)
requestChanges

プルリクエストに変更をリクエストします。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
removeChangeRequest

プルリクエストの変更リクエストを取り消します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
createDraftPullRequest

新しいドラフトのプルリクエストを作成します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • title:プルリクエストのタイトル
  • description:プルリクエストの説明
  • sourceBranch:ソースブランチ名
  • targetBranch:ターゲットブランチ名
  • reviewers(任意):レビュアーのユーザー名のリスト

注: これは、draft: trueを指定してcreatePullRequestを呼び出すのと同じです。

publishDraftPullRequest

ドラフトのプルリクエストを公開し、レビュー可能な状態にします。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
convertTodraft

通常のプルリクエストをドラフト状態に変換します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
プルリクエストのコメント操作
getPullRequestComments

プルリクエストのコメント一覧を取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
addPullRequestComment

プルリクエストにコメント(全般またはインライン)を作成します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • content:Markdown 形式のコメント内容
  • inline(任意):特定の行にコメントするためのインラインコメント情報

インラインコメントの形式:

inlineパラメーターを使用すると、プルリクエストの差分内の特定のコード行にコメントを作成できます。

{
  "path": "src/file.ts",
  "to": 15, // Line number in NEW version (for added/modified lines)
  "from": 10 // Line number in OLD version (for deleted/modified lines)
}

例:

  • 全般的なコメント:プルリクエストへの全般的なコメントには、inlineパラメーターを省略します
  • 新しい行へのコメント:toパラメーターのみを使用します
  • 削除された行へのコメント:fromパラメーターのみを使用します
  • 変更された行へのコメント:fromとtoの両方のパラメーターを使用します

使用方法:

// General comment
addPullRequestComment(workspace, repo, pr_id, "Great work!");

// Inline comment on new line 25
addPullRequestComment(workspace, repo, pr_id, "Consider error handling here", {
  path: "src/service.ts",
  to: 25,
});
getPullRequestComment

プルリクエストの特定のコメントを取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • comment_id:コメント ID
updatePullRequestComment

プルリクエスト上のコメントを更新します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • comment_id:コメント ID
  • content:更新後のコメント内容
deletePullRequestComment

プルリクエスト上のコメントを削除します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • comment_id:コメント ID
resolveComment

プルリクエスト上のコメントスレッドを解決済みにします。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • comment_id:コメント ID
reopenComment

プルリクエスト上の解決済みコメントスレッドを再オープンします。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • comment_id:コメント ID
プルリクエストの差分操作
getPullRequestDiff

プルリクエストの差分を取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
getPullRequestDiffStat

プルリクエストの差分統計を取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
getPullRequestPatch

プルリクエストのパッチを取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
プルリクエストのタスク操作
getPullRequestTasks

プルリクエスト上のタスクを一覧表示します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
createPullRequestTask

プルリクエスト上にタスクを作成します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • content:タスクの内容
  • comment(任意):タスクに関連付けるコメント ID
  • pending(任意):タスクが保留中かどうか
getPullRequestTask

プルリクエスト上の特定のタスクを取得します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • task_id:タスク ID
updatePullRequestTask

プルリクエスト上のタスクを更新します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • task_id:タスク ID
  • content(任意):更新後のタスク内容
  • state(任意):更新後のタスク状態
deletePullRequestTask

プルリクエスト上のタスクを削除します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
  • task_id:タスク ID
その他のプルリクエスト操作
getPullRequestCommits

プルリクエスト上のコミットを一覧表示します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
getPullRequestStatuses

プルリクエストのコミットステータスを一覧表示します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pull_request_id:プルリクエスト ID
パイプライン操作
listPipelineRuns

リポジトリのパイプライン実行を一覧表示します。

パラメーター:

  • workspace:Bitbucket のワークスペース名
  • repo_slug:リポジトリのスラッグ
  • ページネーションで説明しているページネーション制御
  • status(任意):ステータスでパイプラインを絞り込みます(PENDING、IN_PROGRESS、SUCCESSFUL、FAILED、ERROR、STOPPED)
  • target_branch(任意):ターゲットブランチでパイプラインを絞り込みます
  • trigger_type(任意):トリガータイプでパイプラインを絞り込みます(manual、push、pullrequest、schedule)
getPipelineRun

特定のパイプライン実行の詳細を取得します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pipeline_uuid:パイプライン UUID
  • ページネーションで説明されているページネーション制御
runPipeline

新しいパイプライン実行を開始します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • target:パイプラインのターゲット設定(ref_type、ref_name、および省略可能なcommit_hash、selector_type、selector_patternを含むオブジェクト)
  • variables(省略可能):パイプライン変数の配列(key、value、および省略可能なsecuredフィールドを含むオブジェクト)
stopPipeline

実行中のパイプラインを停止します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pipeline_uuid:パイプライン UUID
getPipelineSteps

パイプライン実行のステップ一覧を取得します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pipeline_uuid:パイプライン UUID
getPipelineStep

特定のパイプラインステップの詳細を取得します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pipeline_uuid:パイプライン UUID
  • step_uuid:ステップ UUID
getPipelineStepLogs

特定のパイプラインステップのログを取得します。

パラメーター:

  • workspace:Bitbucket ワークスペース名
  • repo_slug:リポジトリのスラッグ
  • pipeline_uuid:パイプライン UUID
  • step_uuid:ステップ UUID

開発

前提条件
  • Node.js 18 以降
  • npm または yarn
セットアップ
# Clone the repository
git clone https://github.com/MatanYemini/bitbucket-mcp.git
cd bitbucket-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

MCP Registry への公開

新しいサーバーリリースを公開する準備ができたら、Model Context Protocol の公式公開ガイドを使用してください。このリポジトリには、ガイドで必要とされるものがすべて含まれています。

  1. プロジェクトをビルドして、dist/index.jsを最新の状態にします。
    npm run build
    
  2. レジストリマニフェストを生成します(これはpackage.jsonを読み込み、registry/bitbucket-mcp.manifest.jsonを出力します)。
    npm run registry:manifest
    
  3. サーバー公開ガイド に従って、smithery publishまたはガイドで推奨されているワークフローを使ってマニフェストを公開します。

生成されたマニフェストには、CLI コマンド(node dist/index.js)、ドキュメントに記載されているすべての設定オプション、セットアップ手順を示すこの README への参照が含まれているため、そのまま MCP レジストリに提出できます。

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細についてはLICENSEファイルを参照してください。

リンク

コメント

MCP は初めてですか?

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

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