mcpField
C
cargo-mcp

cargo-mcp

github.com/getcargohqマーケティング・グロース214.9k 回インストール2 日前に更新
リポジトリ

cargo-mcp について

Cargoのホスト型MCPサーバーは、ワークスペースのコンテキスト、アクションの検索と実行、モデルデータの読み取りをクライアントに提供します。会話内での単発操作向けで、再利用可能なリソースやワークフローの作成はCLIで行います。

主な機能

  1. 01アクションとコストの検索
  2. 02単一または一括アクションの実行
  3. 03SQLによるモデルデータの読み取り
  4. 04ワークスペースコンテキストの確認
  5. 05実行履歴とクレジット使用量の確認

活用シーン

  1. 01連携アクションと入力スキーマを検索
  2. 02単一レコードまたはバッチでアクションを実行
  3. 03ワークスペースのモデルを集計クエリ
  4. 04MCPクライアントからワークスペース情報を参照

MCP 対応

Streamable HTTPを使い、https://mcp.getcargo.io/mcp でCargoプラットフォームのツールを公開します。OAuth対応クライアントはエンドポイントから認可情報を検出でき、非対応クライアントはワークスペース限定APIトークンを使用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-mcp

インストール後、Claude Code で/cargo-mcpを入力して読み込まれたか確認します。

同梱ファイルskill-metadata.json

詳細

Cargo — ホスト型 MCP サーバー

Cargo には 2 つの利用面があります。このバンドルの残りの部分では CLI について説明します。ここでは https://mcp.getcargo.io/mcp と、より重要な点として、どちらをいつ使うべきかを説明します。

ここには MCP と呼ばれるものが 3 つあります。 このスキルは、クライアントの接続先となる、Cargo が運用するホスト型サーバーです。独自のワークスペースから厳選したサーバーを公開する場合(ai mcp-server create、続いて stdio 経由の cargo-ai mcp)と、ほかの人のサーバーを Cargo エージェントに接続する場合(release update-draft --mcp-clients)は、どちらも cargo-ai の範囲です。回答する前に、ユーザーがどれを指しているのか確認してください。呼び方は同じですが、答えに共通点はありません。

どちらを使うか

作業利用面
1 つのアクションを実行する、または複数レコードに対して 1 つのアクションを実行するどちらでも可。MCP がすでに接続されている場合は MCP
Cargo でできることと、その費用を調べるどちらでも可(search_actions は MCP 側の機能です)
モデルからレコードを読み取るどちらでも可
モデルに対して 1 つの SELECT を実行する(集計、結合)、最大 50 行どちらでも可(query_models は MCP 側の機能です)
完全な SQL 結果セット、エクスポートCLI (cargo-storage)
複数ステップのワークフロー、ツール、プレイの作成や編集CLI (cargo-orchestration)
GTM as Code:プロジェクト計画とデプロイCLI (cargo-project)
メールボックスのプロビジョニング、ウォームアップ、送信CLI (cargo-mailbox-management)
セグメント、コネクター、コンテンツライブラリ、アラート、ホスティング、請求管理CLI
シェルがまったく使えない場合(ChatGPT、Claude Desktop、claude.ai、n8n)MCP。対応範囲外のことは明確に伝えてください

表の背後にあるルールは、MCP はランタイムであり、CLI はプラットフォームです。 17 個のツールで、アクションの発見、実行、完了の確認、データの読み戻し、ワークスペースのコンテキストの読み取りを行えます。再利用可能なものを構築する機能はすべて CLI 専用です。両方を使えるエージェントは、ユーザーが再実行またはバージョン管理するものには CLI を、会話内での一度限りの実行には MCP を優先してください。

作業で CLI を使う場合、初期設定はこれだけです。

npm install -g @cargo-ai/cli
cargo-ai login --email [email protected]   # emailed code, no browser; creates the account on first use
cargo-ai whoami                          # confirm the workspace before anything that spends

接続

エンドポイントは Streamable HTTP の https://mcp.getcargo.io/mcp です。認証されていないリクエストは、resource_metadata を含む WWW-Authenticate チャレンジとともに 401 を返します。そのため、OAuth 対応クライアントは認可サーバーを検出して登録し、URL 以外の設定なしでユーザーにプロンプトを表示します。初回接続時の 401 はハンドシェイクであり、障害ではありません。

claude mcp add --transport http cargo https://mcp.getcargo.io/mcp

JSON ブロックを受け取るクライアント(Claude Desktop、Cursor、プロジェクトの .mcp.json)の場合:

{
  "mcpServers": {
    "cargo": {
      "type": "http",
      "url": "https://mcp.getcargo.io/mcp"
    }
  }
}

CI、ヘッドレスエージェント、または OAuth 非対応のクライアントでは、代わりに Settings > API から取得したワークスペーススコープの API トークンを渡してください。環境変数から読み取り、値を直接記述しないでください。

{
  "mcpServers": {
    "cargo": {
      "type": "http",
      "url": "https://mcp.getcargo.io/mcp",
      "headers": { "Authorization": "Bearer ${CARGO_API_TOKEN}" }
    }
  }
}

このエンドポイントが提供するのはプラットフォームツールのみです。 ワークスペースが defineMcpServer で公開した厳選サーバーは別のエンドポイントであり、独自の /v1/ai/mcpServers/<uuid>/mcp URL を使用します。ここではすべてのトークンから同じプラットフォームツールが見えます。どの呼び出しが成功し、search_actions がどのアクションを返すかは、トークンの権限によって決まります。

この柱

whoami                 → which workspace am I in, how many credits
search_actions         → find the action, and read its cost
get_action_schema      → what inputs it takes
autocomplete_action    → resolve a field needing a picked id (HubSpot object type, Slack channel)
execute_action         │ one record
execute_action_batch   │ many records
get_run / get_batch    → poll while outcome is "executing"

データを扱う場合は、list_models → describe_model → query_models の順に実行します。ワークスペースのコンテキスト(読み取り専用)には、map_context、search_context、browse_context、read_context を使います。さらに、list_runs で直近のアドホック実行を一覧表示し、get_usage で過去 7 日間のクレジット消費量をインテグレーション別に確認できます。

セッションは必ず whoami から開始してください。 トークンによってセッションは単一のワークスペースに紐付けられ、上書きするフラグはありません。誤ったワークスペースを指定したセッションは、もっともらしく、自信に満ちた誤った読み取り結果を返します。モデルもレコードも実在しますが、別のユーザーのものです。何かを実行する前に、ワークスペース名をユーザーに伝えて確認してください。

search_actions を使って、実行前に作業の費用を確認してください。 各結果には、下流のすべての処理にそのまま渡す action オブジェクトと並んで、credits[].cost が含まれています。

{
  "name": "Enrich person & find email",
  "credits": [{ "cost": 0.1, "type": "fixed" }],
  "action": {
    "kind": "connector",
    "integrationSlug": "aiArk",
    "actionSlug": "enrichPerson",
    "connectorUuid": "7bb944ec-0254-44bc-b0e4-8a56378e80cf"
  }
}

action オブジェクトは、config キーを付けずに、返されたとおりそのまま渡してください。 入力は data(単一)または records(バッチ)に指定します。config に指定してはいけません。これは ノード の設定であり、トップレベルのアクションには意味がありません。ここに誤って指定された入力は、config を名指しするエラーなしに取り除かれます。必須入力があるアクションは不足フィールドを理由に拒否され、必須入力がないアクションは何も実行せずに終わります。そのため、理由の分からない空の結果が返った場合は、まずこの点を確認してください。data 内またはバッチレコード内のキーのスペルを間違えると、実行前に拒否されます(invalidData、Unknown field: <key>)。ツールアクションは検証されません。

get_action_schema に渡す引数も同じペアです。アクションと、任意の data です。出力が入力に依存するアクションでは、HubSpot のオブジェクトタイプや対象シートによって返されるフィールドが決まります。CLI の orchestration action get-output-schema も同様に動作します。

返される kind 値は 4 種類です。connector(サードパーティのインテグレーション)、native(組み込みのプラットフォーム操作)、tool(このワークスペースに保存されたワークフロー)、agent(このワークスペースの AI エージェント)です。結果の多いカタログは、kind フィルターと integrationSlug フィルターで絞り込んでください。

うまくいかない 3 つの方法

execute_action をレコードごとに実行すること。 レコードごとに 1 回呼び出すと、処理が遅くなり、費用も増え、その後に確認できるものも残りません。execute_action_batch は同じ action と records 配列を受け取り、1 つのバッチオブジェクトを生成します。バッチが完了すると、出力 CSV の 1 ページ分が data.text に返されます(出力列には output_ が付き、行数は 100 行です。truncated が true の間は、次の offset を指定して get_batch を呼び出してください)。URL を取得せず、data.text を読み取ってください。ツールの説明にループしないよう書かれている場合は、その指示に文字どおり従ってください。

見積もりの前に費用をかけること。 まず 10~20 件のレコードで実行してください(execute_action_batch の limit を指定すると、先頭の N 件だけが送信されます)。実測費用とヒット率を報告してから、全 レコード数とクレジットの見積もりを提示し、ユーザーの承認を得てください。人物データのヒット率は 40~70 パーセントなので、有効な 1 行あたりの費用は表示価格とは異なり、サンプルなしでは分かりません。費用管理の全手順については、../cargo-gtm/references/cost-discipline.md を参照してください。

query_models から行をページングして取得すること。 このツールは、dataset.model 参照(describe_model から正確な参照を取得してください)に対して、読み取り専用の SQL SELECT を 1 回実行します。結合と集計は許可されており、最大 50 行(デフォルトは 20 行)を返します。「件数はいくつか」「グループ別ではどうか」「何に結合されているか」には、行を取得して自分で数えるのではなく、SQL の集計で回答してください。行を取得して数えると、上限で結果が黙って切り捨てられます。完全な結果セットが必要な場合は、CLI ジョブを使ってください(cargo-storage)。

人に関わるあらゆること

接点が変わっても、同意に関するルールが緩和されることはありません。誰かの情報を取得、拡充、または連絡するすべての段階で、適法な根拠、配信停止の確認、その人の職務との関連性が条件となります。大量の未承諾メッセージ、購入またはスクレイピングしたリスト、消費者を対象としたターゲティングは拒否されます。全文は ../cargo-gtm/references/acceptable-use.mdにあります。兄弟スキルがインストールされていない場合は、上記の段落が単独で適用されます。

結果の報告

内容を説明し要約してください。生の JSON をユーザーに貼り付けてはいけません。バッチ処理の後は、レコード数、ヒット率、実際に消費したクレジット数、ダウンロードの順に伝えてください。

コメント