mcpField
B
Bazel MCP Server

Bazel MCP Server

ローカル
github.com/nacgarg開発ツール986 週間前に更新

Bazel MCP Server について

Bazel MCP サーバーは、Bazel のビルド機能を MCP エージェントに公開するローカルサーバーです。コマンドラインツールがない場合やシェル環境に問題がある場合にも、ターゲットのビルドや依存関係の確認、テストを行えます。

主な機能

  1. 01指定した Bazel ターゲットのビルド
  2. 02ターゲット依存グラフの検索
  3. 03ターゲットのテスト実行
  4. 04ワークスペース内のターゲット一覧
  5. 05依存関係の取得とパス変更

活用シーン

  1. 01エージェント経由で Bazel ビルドを実行
  2. 02ターゲットの依存関係を確認
  3. 03Bazel テストを実行
  4. 04実行中にワークスペースを切り替える

MCP 対応

ローカル MCP サーバーとして、Bazel のビルド、クエリ、テスト、ターゲット一覧、依存関係の取得、ワークスペースパス設定のツールを MCP エージェントに公開します。

設定

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

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

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

パッケージ
npmgithub:nacgarg/bazel-mcp-server

ツール

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

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

詳細

Bazel MCP Server

Bazel ビルドシステムの機能を、MCP 対応の AI エージェントに提供するローカル MCP サーバーです。

MCP 環境に既存のコマンドラインツールがない場合や、呼び出されたシェルの環境設定に問題があり、Bazel を使用できない場合に役立ちます。

ツール

Bazel MCP Server では、以下のツールを利用できます。

  • bazel_build_target:指定した Bazel ターゲットをビルドします
  • bazel_query_target:パターンに一致するターゲットの依存関係グラフを検索します
  • bazel_test_target:指定したターゲットのテストを実行します
  • bazel_list_targets:ワークスペース内の利用可能なすべてのターゲットを一覧表示します(path パラメーターが必要です。すべてのターゲットを対象にするには「//」を使用してください)
  • bazel_fetch_dependencies:外部依存関係を取得します
  • bazel_set_workspace_path:実行時に Bazel ワークスペースのパスを変更します

各コマンド(bazel_set_workspace_path を除く)では、基になる Bazel コマンドに追加の引数を渡すための省略可能な additionalArgs パラメーターを使用できます。--verbose_failures や --test_output=all などのフラグを指定する場合に便利です。

使用方法

インストール
Cursor での使用

以下を .cursor/mcp.json に追加してください。

LLM が set_workspace_path を使用して実行時にワークスペースのパスを変更できるため、ワークスペースのパスを指定する必要はありません。

通常、bazel バイナリは自動的に検出されますが、問題が発生する場合は、--bazel_path フラグを使用して bazel バイナリへのパスを指定できます。

:warning: Cursor で Remote SSH セッションを使用する場合、この方法は機能しないことに注意してください。MCP サーバーはローカルで実行されるためです。

{
  "mcpServers": {
    "bazel": {
      "command": "npx",
      "args": [
        "-y",
        "github:nacgarg/bazel-mcp-server",

        // If you need to specify the bazel binary path
        "--bazel_path", 
        "/absolute/path/to/your/bazel/binary",

        // If you need to specify the workspace path
        "--workspace_path",
        "/absolute/path/to/your/bazel/workspace"

        // See Configuration Table below for more options
      ]
    }
  }
}
Claude Desktop での使用

Claude Desktop では、上記と同じ設定を使用できます。

単独での起動
# Run directly from GitHub (no installation needed)
npx -y github:nacgarg/bazel-mcp-server

# From source
git clone https://github.com/nacgarg/bazel-mcp-server.git
cd bazel-mcp-server
npm install
npm run build
dist/index.js
設定

この MCP サーバーでは、いくつかの設定方法を利用できます。以下の順序で適用されます。

  1. コマンドライン引数
  2. 環境変数
  3. 設定ファイル
設定一覧
CLI 引数環境変数設定ファイルのキー説明
--bazel_pathMCP_BAZEL_PATHbazel_path使用する Bazel バイナリへのパスです。
--workspace_pathMCP_WORKSPACE_PATHworkspace_path使用する Bazel ワークスペースへのパスです。
--workspace_configMCP_WORKSPACE_CONFIGworkspace_config使用するワークスペースの設定です。デフォルトでは、ワークスペースのルートにある .bazelrc ファイルを使用します。
--log_pathMCP_LOG_PATHlog_pathサーバーログの書き込み先のパスです。

デバッグ

DEBUG=true 環境変数を設定すると、コンソールへの詳細なログ出力が有効になります。

ログパスを設定すると、ログをコンソールに表示しないクライアント(Cursor のことです)でのデバッグにも役立ちます。

ライセンス

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

コメント

MCP は初めてですか?

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

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