メインコンテンツへスキップ
CowAgent は Model Context Protocol (MCP) をサポートしており、コミュニティで提供されている数万種類の MCP Tool を Agent から直接呼び出せます。mcp.json を一度設定すれば、組み込みToolとまったく同じ形で LLM に公開され、自動的に選択・呼び出されます。

設定ファイル

CowAgent は ~/cow/mcp.json を読み込みます。ファイルが存在しない場合は MCP Tool は読み込まれず、エラーにもなりません。 Docker デプロイの場合、公式の docker-compose.yml はホスト側の ./cow をコンテナ内の /home/agent/cow(コンテナユーザーの ~/cow)にマウント済みです。ホスト側の ./cow/mcp.json を置くだけで反映されます。

標準フォーマット

MCP コミュニティ標準に完全準拠しており、Claude Desktop / Cursor と同じです:
フィールド必須説明
commandstdioサーバーを起動する実行コマンド(npxpythonuvx など)
args任意command に渡す引数
env任意サブプロセスの環境変数。API Key などに利用
urlSSE / Streamable HTTPリモートエンドポイントの URL(command と二者択一)
typeリモートリモートトランスポート種別:sse または streamable-http(既定は sse
headers任意リモートリクエストの追加 HTTP ヘッダ(Authorization など)。Streamable HTTP のみ
scope任意OAuth スコープ。OAuth 認可が必要なリモート server のみ使用(任意)
disabled任意true のとき該当サーバーをスキップ。一時的に無効化したいときに便利

完全な例

  • fetch:汎用 Web ページ取得。ページ本文を返す。API Key 不要
  • github:GitHub のリポジトリ、Issue、PR などにアクセス。Personal Access Token が必要

Agent に設定を任せる

CowAgent には read / write / edit Tool が組み込まれているため、MCP の設定をそのまま Agent に渡して、ファイルに書き込んでもらえます 例:
Agent は次のように動作します:
  1. 既存の MCP 設定ファイルを読み込み、新しい server エントリをマージ(既存の項目は保持)
  2. 増分の MCP Server を自動でリロードし、次のメッセージから対応する Tool が利用可能に

Web 認可(OAuth)

一部のリモート MCP は OAuth の Web 認可が必要で、そのまま設定すると 401 が返ります。CowAgent は標準的な OAuth フローを内蔵しているため、token を手動で入力する必要はなく、通常どおり設定するだけです。例:
server の初回ロードで 401 が返ると、認可が自動的に開始されます。ローカル実行では自動的にブラウザが開き、サーバー環境では認可リンクがログに出力されるので、ブラウザで開いてください。承認すると server はすぐにオンラインになり、token は期限切れ時に自動更新されるため、再認可は不要です。
  • Web サービスが必要:認可コールバックは Web コンソール(既定ポート 9899)で受け取るため、Web channel が起動している必要があります。
  • 認証情報の保存:token は ~/.cow/mcp_oauth.json に永続化され、再起動後も再利用されます。
  • コールバック URL:既定は http://127.0.0.1:9899/mcp/oauth/callback。サーバーに配置し認可用ブラウザが別の端末にある場合は、config.jsonmcp_oauth_redirect_base(例:http://あなたのIP:9899)を設定してください。

動作の仕組み

  • 起動時の非同期ロードmcp.json に設定された全 server はバックグラウンドで非同期に読み込まれ、メインループをブロックしません。会話はすぐに開始できます
  • ホットリロード:ユーザーまたは Agent が mcp.json を変更すると、メッセージ処理完了時に変更された server のみが自動でリロードされます。cow の再起動は不要です
  • フラットな公開:MCP server が公開する各メソッドは独立した Tool として並列に公開され、LLM が直接選択して呼び出します。二段階の判断は不要です

サポートされるトランスポート

トランスポート説明設定フィールド
stdioサブプロセス通信。最も一般的で、コミュニティのエコシステムが最も豊富command + args
SSEHTTP Server-Sent Events。従来のリモート用トランスポートurl(既定)
Streamable HTTP新しい単一エンドポイント方式。SSE を段階的に置き換えtype: "streamable-http" + url

トラブルシューティング

症状確認ポイント
起動後に MCP Tool が一つもない~/cow/mcp.json が存在し、JSON が正しいか確認
特定の server が読み込みに失敗する起動ログの [MCP] Server 'xxx' load failed を確認。多くは依存関係の不足や API Key 未設定
mcp.json の変更が反映されない変更は 次のメッセージ から有効になる。server の設定が実質的に変わっていない(コメントだけ変更など)場合は再起動されない
Docker デプロイホストの ./cow がコンテナ内の /home/agent/cow にマウントされていることを確認し、ホスト側の ./cow/mcp.json を配置。または Agent に直接インストールを依頼

おすすめ MCP マーケットプレイス

各種サードパーティのマーケットプレイスから既製の MCP server を探し、JSON 設定をコピーしてそのまま利用できます。例:
  • mcp.so — グローバル MCP サービスインデックス
  • ModelScope MCP 広場 — 魔搭コミュニティの MCP 広場、中国本土からのアクセスが安定
MCP 標準プロトコル(stdio / SSE / Streamable HTTP)に準拠していれば、コードを一切変更せずに CowAgent に統合できます。