Bitbucket Pipelines MCP Server について
Bitbucket Pipelines MCP Serverは、LLMやMCPクライアント向けにパイプライン管理機能を提供します。パイプラインの一覧表示、開始、状態取得、停止ができ、Bitbucketの認証情報とリポジトリ情報で設定します。
主な機能
- 01ページネーション付き一覧表示
- 02パイプラインの起動
- 03パイプライン状態の取得
- 04パイプラインの停止
活用シーン
- 01リポジトリ内のパイプライン確認
- 02ブランチやタグを指定した起動
- 03実行状態の確認と必要に応じた停止
MCP 対応
stdio経由でBitbucket Pipelinesの操作をツールとして公開し、対応するMCPクライアントから一覧表示、起動、状態確認、停止を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bitbucket Pipelines MCP サーバー
Bitbucket Pipelines と連携するためのツールを提供する MCP(Model Context Protocol)サーバーです。このサーバーは MCP 標準を実装しており、Claude などの言語モデルを使って Bitbucket のパイプラインを管理できます。
利用可能なツール
1. mcp_bitbucket_list_pipelines
ページネーションに対応してパイプラインを一覧表示します。
パラメーター:
{
page?: number; // Número da página (default: 1)
pagelen?: number; // Itens por página (default: 10)
}
2. mcp_bitbucket_trigger_pipeline
新しいパイプラインを起動します。
パラメーター:
{
target: {
ref_type: string; // Tipo de referência (ex: "branch", "tag")
type: string; // Tipo do alvo
ref_name: string; // Nome da referência (ex: "main", "develop")
selector?: { // Opcional
type: string;
pattern: string;
}
},
variables?: Array<{ // Opcional
key: string;
value: string;
secured?: boolean;
}>
}
3. mcp_bitbucket_get_pipeline_status
特定のパイプラインのステータスを取得します。
パラメーター:
{
uuid: string; // UUID do pipeline
}
4. mcp_bitbucket_stop_pipeline
パイプラインの実行を停止します。
パラメーター:
{
uuid: string; // UUID do pipeline
}
設定
環境変数
次の変数を含む .env ファイルを作成します。
# Obrigatórias
BITBUCKET_ACCESS_TOKEN=seu_token_aqui
BITBUCKET_WORKSPACE=seu_workspace
BITBUCKET_REPO_SLUG=seu_repositorio
# Opcionais
BITBUCKET_API_URL=https://api.bitbucket.org/2.0 # URL da API (default: https://api.bitbucket.org/2.0)
インストールと実行
Docker を使用する場合(推奨)
- リポジトリをクローンします:
git clone [url-do-repositorio]
cd bitbucket-pipelines-mcp
- 環境変数を設定します:
cp .env.example .env
# Edite o arquivo .env com suas configurações
- サーバーを起動します:
docker-compose up -d
- サーバーのステータスを確認するには:
# Torne o script executável
chmod +x docker-mcp-test.js
# Execute o script
node docker-mcp-test.js
- クライアントスクリプトを使ってサーバーとやり取りするには:
# Torne o script executável
chmod +x docker-mcp-client.js
# Execute o script
node docker-mcp-client.js
- サーバーと手動でやり取りするには:
# Exemplo de chamada direta
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"name":"Test Client","version":"1.0.0","protocolVersion":"0.3.0","capabilities":{},"clientInfo":{"name":"Test Client","version":"1.0.0"}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js
ローカルインストール
- リポジトリをクローンします:
git clone [url-do-repositorio]
cd bitbucket-pipelines-mcp
- 依存関係をインストールします:
npm install
- 環境変数を設定します:
cp .env.example .env
# Edite o arquivo .env com suas configurações
- プロジェクトをビルドします:
npm run build
- サーバーを起動します:
npm start
Cursor との連携
方法 1:mcp.json ファイルを直接編集する(推奨)
Cursor と連携する最も直接的かつ効率的な方法は、メインの mcp.json ファイルを編集することです。
- Docker MCP サーバーが実行中であることを確認します:
npm run docker:up
-
Cursor の設定ディレクトリにある
mcp.jsonファイルを探します:- Linux:
~/.cursor/mcp.json - macOS:
~/Library/Application Support/Cursor/mcp.json - Windows:
%APPDATA%\Cursor\mcp.json
- Linux:
-
mcp.jsonファイルを編集し、メインセクションに次の設定を追加します:
"bitbucket-pipelines": {
"command": "docker",
"args": [
"exec",
"-i",
"bitbucket-pipelines-mcp_mcp-server_1",
"node",
"dist/index.js"
]
}
-
ファイルを保存し、Cursor を再起動します。
-
これで、次のように呼び出して Bitbucket Pipelines のツールを Cursor から直接使用できます:
@bitbucket-pipelines
方法 2:別の設定ファイルを使用する
Bitbucket Pipelines MCP を Cursor IDE から直接使用するには、次の手順に従ってください。
- Docker MCP サーバーが実行中であることを確認します:
npm run docker:up
- プロジェクトのルートに、次の内容で
mcp.config.jsonファイルを作成します:
{
"name": "bitbucket-pipelines-mcp",
"description": "Bitbucket Pipelines MCP Server para interagir com o Bitbucket Pipelines",
"version": "1.0.0",
"command": {
"binary": "docker",
"args": ["exec", "-i", "bitbucket-pipelines-mcp_mcp-server_1", "node", "dist/index.js"]
},
"tools": [
{
"name": "mcp_bitbucket_list_pipelines",
"description": "Lista pipelines com suporte a paginação"
},
{
"name": "mcp_bitbucket_trigger_pipeline",
"description": "Dispara um novo pipeline"
},
{
"name": "mcp_bitbucket_get_pipeline_status",
"description": "Obtém o status de um pipeline específico"
},
{
"name": "mcp_bitbucket_stop_pipeline",
"description": "Para a execução de um pipeline"
}
]
}
- このファイルを Cursor の設定ディレクトリにコピーします:
# Para Linux
mkdir -p ~/.config/Cursor/mcp/
cp mcp.config.json ~/.config/Cursor/mcp/bitbucket-pipelines-mcp.json
# Para macOS
mkdir -p ~/Library/Application\ Support/Cursor/mcp/
cp mcp.config.json ~/Library/Application\ Support/Cursor/mcp/bitbucket-pipelines-mcp.json
# Para Windows
mkdir -p %AppData%\Cursor\mcp\
copy mcp.config.json %AppData%\Cursor\mcp\bitbucket-pipelines-mcp.json
-
Cursor を再起動して、変更を適用します。
-
これで、次のように呼び出して Bitbucket Pipelines のツールを Cursor から直接使用できます:
@modelcontextprotocol/bitbucket-pipelines-mcp
- 特定のツールにアクセスするには、次のようにします:
@modelcontextprotocol/bitbucket-pipelines-mcp/mcp_bitbucket_list_pipelines
MCP での使用
このサーバーは Model Context Protocol(MCP)を実装しており、言語モデルが Bitbucket Pipelines とやり取りできるようにします。サーバーは StdioServerTransport インターフェイスを使用し、stdin/stdout を介した通信を可能にします。
MCP SDK を使用した例
import { Client } from '@modelcontextprotocol/sdk/client';
import { ChildProcessTransport } from '@modelcontextprotocol/sdk/client/child-process';
async function main() {
// Inicializa o cliente MCP
const client = new Client({
transport: new ChildProcessTransport({
command: 'node',
args: ['dist/index.js'],
env: {
BITBUCKET_ACCESS_TOKEN: 'seu_token',
BITBUCKET_WORKSPACE: 'seu_workspace',
BITBUCKET_REPO_SLUG: 'seu_repositorio'
}
})
});
// Lista as ferramentas disponíveis
const tools = await client.listTools();
console.log('Ferramentas disponíveis:', tools);
// Listar pipelines
const pipelines = await client.callTool('mcp_bitbucket_list_pipelines', { page: 1, pagelen: 5 });
console.log('Pipelines:', pipelines);
// Fechar o cliente
await client.close();
}
main().catch(console.error);
開発
利用可能なスクリプト
npm run build:TypeScript プロジェクトをビルドしますnpm start:サーバーを起動しますnpm run dev:ts-node を使って開発モードでサーバーを起動しますnpm test:テストを実行します
プロジェクト構成
.
├── src/
│ ├── index.ts # Ponto de entrada do servidor MCP
│ └── tools/
│ └── bitbucket-pipelines.ts # Implementação das tools MCP
├── package.json # Dependências e scripts
└── tsconfig.json # Configuração do TypeScript
Model Context Protocol の実装
このプロジェクトでは、@modelcontextprotocol/sdk を使用して MCP サーバーを実装しています。主な特徴は次のとおりです。
- stdio による通信:サーバーは stdin/stdout を介して通信するため、LLM と簡単に連携できます。
- 標準のツール形式:すべてのツールが MCP プロトコルで定義された形式に従います。
- 堅牢なエラー処理:MCP プロトコルにより、エラーをクライアントに伝える方法が標準化されています。
貢献
- プロジェクトをフォークします
- 機能用のブランチを作成します(
git checkout -b feature/nova-feature) - 変更をコミットします(
git commit -am 'Adiciona nova feature') - ブランチにプッシュします(
git push origin feature/nova-feature) - Pull Request を作成します
直接コマンドでテストする
以下のコマンドを使って、サーバーを手動でテストできます。
起動
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"name":"Test Client","version":"1.0.0","protocolVersion":"0.3.0","capabilities":{},"clientInfo":{"name":"Test Client","version":"1.0.0"}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js
ツールの一覧表示
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js
ツールの呼び出し
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp_bitbucket_list_pipelines","input":{"page":1,"pagelen":5}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。