mcpField
B
Bazel Mcp

Bazel Mcp

ローカル
github.com/saeid-rez開発ツール26 日前に更新

Bazel Mcp について

Bazel Mcpは、AIアシスタントからBazelワークスペースのクエリ、ビルド、テスト、実行を利用できるローカルMCPサーバーです。Bazelリポジトリを扱う開発者向けで、ビルドやテストの失敗を構造化して診断します。

主な機能

  1. 01query、cquery、aqueryの実行
  2. 02ターゲット一覧と依存関係の確認
  3. 03依存経路と逆依存関係の追跡
  4. 04変更ファイルの影響を受けるターゲットの特定
  5. 05ターゲットのビルド、テスト、実行
  6. 06BUILDファイルの読み取り

活用シーン

  1. 01Bazelワークスペース内のターゲット調査
  2. 02ターゲットの依存チェーン追跡
  3. 03コード変更の影響対象の特定
  4. 04失敗内容を確認しながらビルドとテストを実行

MCP 対応

MCPクライアントに、クエリ、ターゲット一覧、依存分析、ビルド、テスト、実行などのBazelワークスペース調査・実行ツールを公開します。コマンドは既定でアクティブなワークスペース内で動作し、ワークスペースのルートも明示できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"git+https://github.com/saeid-rez/bazel-mcp"
]
}
}
}
起動コマンドuvx 'git+https://github.com/saeid-rez/bazel-mcp'

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

パッケージ
pypigit+https://github.com/saeid-rez/bazel-mcp

ツール

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

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

詳細

Bazel MCP

AI アシスタントに Bazel ビルドシステムの機能を提供する、Model Context Protocol サーバーです。

リポジトリ:github.com/saeid-rez/bazel-mcp

ツール

ツール説明
bazel_query任意の bazel query 式を実行します
bazel_cquery構成済みの bazel cquery 式を実行します(select() とプラットフォーム)
bazel_aqueryアクションの bazel aquery 式を実行します(コンパイラーフラグ、コマンド)
list_targetsパッケージまたはサブツリー内のターゲットを一覧表示します
get_depsターゲットの直接または推移的な依存関係を取得します
get_rdeps指定範囲内の逆依存関係を取得します
get_dependency_pathターゲット間の依存関係チェーン(somepath/allpaths)をたどります
show_target_infoquery --output=build を使ってルール定義を表示します
find_affected_targets変更されたファイルの影響を受けるターゲットを検索します
bazel_build構造化された失敗診断とともに bazel build を実行します
bazel_test構造化されたターゲット情報と失敗したケースの結果とともに bazel test を実行します
bazel_run引数、環境変数、作業ディレクトリを指定して bazel run を実行します
explain_build_file分析用に BUILD ファイルの内容を読み取ります

使い方

uv が必要です。MCP クライアントがサーバーをそのワークスペースから起動しない場合は、Bazel ワークスペースのパスを指定してサーバーを構成してください。

Antigravity (agy)

以下を ~/.gemini/config/mcp_config.json に追加します。

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/saeid-rez/bazel-mcp",
        "bazel-mcp-server"
      ]
    }
  }
}

Bazel コマンドは、デフォルトで現在のワークスペース内で実行されます。Antigravity がサーバーを Bazel ワークスペースから起動しない場合は、--workspace-root を明示的に指定してください。

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/saeid-rez/bazel-mcp",
        "bazel-mcp-server",
        "--workspace-root",
        "/path/to/your/bazel/workspace"
      ]
    }
  }
}
OpenCode

以下を opencode.json または opencode.jsonc に追加します。/path/to/your/bazel/workspace を Bazel ワークスペースの絶対パスに置き換えてください。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bazel": {
      "type": "local",
      "command": [
        "uvx",
        "--from",
        "git+https://github.com/saeid-rez/bazel-mcp",
        "bazel-mcp-server",
        "--workspace-root",
        "/path/to/your/bazel/workspace"
      ],
      "enabled": true
    }
  }
}
GitHub Copilot CLI

以下を ~/.copilot/mcp-servers.json に追加します。/path/to/your/bazel/workspace を Bazel ワークスペースの絶対パスに置き換えてください。

{
  "mcp": {
    "servers": {
      "bazel": {
        "command": "uvx",
        "args": [
          "--from",
          "git+https://github.com/saeid-rez/bazel-mcp",
          "bazel-mcp-server",
          "--workspace-root",
          "/path/to/your/bazel/workspace"
        ],
        "protocol": "stdio"
      }
    }
  }
}

または、Copilot CLI 内で /mcp add bazel を実行し、同じコマンドと引数を指定してください。

uv でインストールする

GitHub から実行するのではなく、サーバーを永続的にインストールするには、次を実行します。

uv tool install bazel-mcp-server

次に、上記の GitHub ベースのコマンドの代わりに、以下のインストール済みサーバーの構成を使用します。クライアントがサーバーを Bazel ワークスペースから起動しない場合は、--workspace-root とそのパスを含めてください。

Antigravity (agy):

{
  "mcpServers": {
    "bazel": {
      "command": "bazel-mcp-server",
      "args": ["--workspace-root", "/path/to/your/bazel/workspace"]
    }
  }
}

OpenCode:

{
  "mcp": {
    "bazel": {
      "type": "local",
      "command": ["bazel-mcp-server", "--workspace-root", "/path/to/your/bazel/workspace"],
      "enabled": true
    }
  }
}

GitHub Copilot CLI:

{
  "mcp": {
    "servers": {
      "bazel": {
        "command": "bazel-mcp-server",
        "args": ["--workspace-root", "/path/to/your/bazel/workspace"],
        "protocol": "stdio"
      }
    }
  }
}
Cursor

Bazel ワークスペース内の .cursor/mcp.json に追加します。

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/saeid-rez/bazel-mcp", "bazel-mcp-server"]
    }
  }
}

Bazel コマンドは、デフォルトで開いているワークスペース内で実行されます。

Cursor がサーバーを Bazel ワークスペースから起動しない場合は、ワークスペースを明示的に指定してください。

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": [
        "bazel-mcp-server",
        "--workspace-root",
        "/path/to/your/bazel/workspace"
      ]
    }
  }
}

その他のオプションフラグ:

bazel-mcp-server --bazel-path bazelisk --timeout 600 --max-output-chars 64000

開発

リポジトリをクローンして、ローカルでテストを実行します。

git clone https://github.com/saeid-rez/bazel-mcp
cd bazel-mcp
uv sync --group dev
uv run pytest

コメント

MCP は初めてですか?

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

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