MCP 連携
ワークフロー内の Agent に任意の MCP Server をツールとして接続し、できることを拡張します。
MCP(Model Context Protocol)は、統一された方法で外部ツールを LLM に提供するオープンプロトコルです。Braidrun では、MCP は Agent に紐付けられます。ある Agent に 1 つ以上の MCP server を設定すると、それらの server が公開するツールは内蔵ツールと同様に、その Agent が呼び出せるツール一覧に表示されます。
仕組み
MCP 設定は Agent レベルです。ワークフロー YAML では、各 Agent の mcp_servers は「名前 → 設定」のマッピングであり、複数の server を同時に紐付けられます。ステップ実行前、実行時はこれらの server を 1 つずつ接続し、それらのツールをその Agent のツールレジストリに統合します。
ある MCP server の接続が失敗した場合、実行時は警告を 1 件記録してそのツールをスキップし、ワークフロー全体を中断することはありません。残りの server と内蔵ツールは通常どおり使用できます。あるステップが依存するツールが接続できなかった server に由来する場合、その失敗はそのステップの実行ログに現れます。
ローカルの stdio server を紐付ける
最も一般的な形式: MCP server はローカルプロセスであり、実行時に command + args で起動され、標準入出力を通じて通信します。preset で Agent を宣言する場合、mcp_servers は overrides 内に記述します。
agents:
researcher:
preset: universal
overrides:
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "<your-token>"
description: "读写 GitHub 仓库与 issue"Agent が preset を宣言している場合、実行時は preset のデフォルト値と overrides 内のフィールドのみをマージします。Agent のトップレベルに書かれた mcp_servers は無視されます。
リモート server への接続
MCP server はネットワークサービスにすることもできます。url を入力すると stdio は使われなくなり、type が転送方式(sse、websocket、http)を決定します。type を入力しない場合は sse として扱われます。
agents:
analyst:
preset: universal
overrides:
mcp_servers:
crm:
url: "https://mcp.example.com/sse"
type: sse
timeout: 60000
docs-search:
url: "https://mcp.example.com/mcp"
type: http
enabled: trueurl が指すサービスは、ワークフローの実行環境からアクセスできる必要があります。インターネットから到達可能なアドレスを記述し、あなたのローカルマシンからのみアクセス可能なアドレスは記述しないでください。
フィールドリファレンス
| フィールド | 説明 |
|---|---|
command | stdio モードの起動コマンド(実行可能ファイル名またはパス)。stdio モードでは必須です |
args | コマンドライン引数のリスト |
env | stdio 子プロセスに渡す環境変数。認証情報はここから渡します |
cwd | stdio 子プロセスの作業ディレクトリ。入力しない場合は実行時のデフォルトを使用します |
url | リモート server のアドレス。url を入力すると stdio は使われなくなります |
type | 転送タイプ: stdio(デフォルト)、sse、websocket、http。url を入力した場合にのみ有効です。入力しない場合は sse として扱われます |
timeout | タイムアウト、単位はミリ秒、デフォルトは 30000 |
enabled | デフォルトは true です。false に設定すると、設定を削除せずに server を一時的に無効化できます |
description | メモ。この server が何をするものかを共同作業者が理解するのに役立ちます |
認証情報とネットワークに関する注意事項
- stdio 子プロセスは実行環境のすべての変数を継承するわけではありません。PATH、HOME、LANG などのわずかな基本変数と、あなたが env に明示的に記述した内容のみが渡されます。MCP server が必要とする API Key は、必ず env に明示的に記述する必要があります。
- env の値はワークフロー YAML に平文で保存されます。ワークフローを共有したりテンプレートを公開したりする前に、実際の鍵をプレースホルダーに置き換え、利用者に自分のものを入力してもらうようにしてください。
- リモート server には HTTPS アドレスの使用を推奨します。接続失敗は前述のとおりスキップして処理されるため、まず実行ログでツールが正常に登録されたかどうかを確認できます。
- ツールが多いほど Agent の意思決定の選択肢が広がります。その Agent が実際に使用する server のみを紐付けることで、成功率と速度の両方が向上します。
Braidrun ツールの MCP 公開
この経路も双方向です。Braidrun 自身の内蔵ツールは 1 つの stdio MCP server(braidrun-workflow という名前)としてパッケージ化されており、同じツール群を MCP プロトコル経由で他の MCP クライアントに提供して再利用できます。
製品内では、AI アシスタントは Koog、Claude Code、または Codex を実行時として選択でき、API Key の代わりにサブスクリプションログインに対応しています。実行時の切り替えについては AI アシスタントのドキュメントを参照してください。