К основному содержанию
скилл CX Codex

cargo-mcp — скилл для Claude Code: что делает и как установить

Скилл учит агента работать с облачным сервером Cargo через протокол MCP без установки CLI. Пригодится для точечного запуска действий и проверки баланса кредитов прямо в чате.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add getcargohq/cargo-skills --skill cargo-mcp -a claude-code
Открыть на GitHub

Что делает cargo-mcp

Скилл настраивает взаимодействие с удалённым MCP-сервером платформы Cargo. Он подсказывает агенту, как искать доступные действия через search_actions, сразу узнавать их стоимость в кредитах и запускать операции на одной записи или пакете данных. Для чтения таблиц предусмотрены вызовы list_models и query_models с лимитом выборки до 50 строк.

Сессию критично начинать с вызова whoami. Токен авторизации привязан к конкретному воркспейсу без возможности переключения на лету, поэтому без предварительной проверки агент легко выполнит действие не в том проекте. Передавать параметры нужно строго в объектах data или records: вложенные блоки конфигурации верхнеуровневый сервер не принимает.

Разделение между MCP и консольной утилитой здесь чёткое. Сервер отвечает только за разовые вызовы в диалоге, тогда как многошаговые сценарии, развёртывание проектов, выгрузка хранилищ и управление почтовыми ящиками требуют связки с CLI cargo-ai.

Какие задачи решает

  • оценить стоимость действия в кредитах через search_actions перед запуском
  • выполнить одиночную или пакетную операцию обогащения данных
  • проверить привязку текущей сессии к воркспейсу с помощью whoami
  • прочитать выборку записей из модели с ограничением до 50 строк

Примеры запросов агенту

  • Проверь через whoami, к какому воркспейсу подключен сервер Cargo
  • Найди действие для обогащения контактов и покажи, сколько кредитов оно спишет
  • Запусти пакетное действие execute_action_batch для переданного списка записей

Как установить cargo-mcp

1Через Skills CLI (Vercel)

npx skills add getcargohq/cargo-skills --skill cargo-mcp -a claude-code

2Вручную: положить файлы

~/.claude/skills/cargo-mcp/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cargo-mcp/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cargo-mcp

Как установить cargo-mcp в Claude Code?

Выполните команду npx skills add getcargohq/cargo-skills --skill cargo-mcp -a claude-code. Файл добавится по пути ~/.claude/skills/cargo-mcp/SKILL.md.

Что делает скилл cargo-mcp?

Он объясняет ассистенту правила работы с облачным MCP-сервером Cargo. Агент понимает, какими инструментами вызывать действия, как следить за расходом кредитов и читать модели данных.

Когда вместо MCP нужно использовать CLI cargo-ai?

Протокол MCP предназначен для разовых операций и чтения данных в рамках беседы. Проектирование сложных сценариев, работа с ящиками и полный экспорт SQL требуют запуска CLI.

Исходный текст

SKILL.md · MIT
---
name: cargo-mcp
description: "Drive Cargo from its hosted MCP server at https://mcp.getcargo.io/mcp — connect a client, discover and price an action, run it over one record or a batch, poll it, and read workspace models, with no CLI install. Also when to call an MCP tool instead of shelling out to `cargo-ai`. Triggers: \"connect Cargo to Claude Desktop\", \"add Cargo to ChatGPT\", \"Cargo MCP server\", \"mcp.getcargo.io\", \"use Cargo without installing anything\", \"which Cargo tool do I call\", \"search_actions\", \"execute_action_batch\", \"MCP server is showing the wrong workspace\". Tools: whoami, search_actions, get_action_schema, execute_action, execute_action_batch, get_run, query_models. Skip when: you have a shell and the job is a workflow, a project deploy, warehouse SQL, or a mailbox — use the CLI skills; when publishing an MCP server out of your own workspace or attaching one to a Cargo agent — use cargo-ai."
version: "1.2.0"
compatibility: Requires the hosted Cargo MCP server at https://mcp.getcargo.io/mcp — OAuth (discovered from the 401 challenge) or a workspace-scoped API token as a bearer. The CLI is needed only for the jobs this skill routes away
homepage: https://github.com/getcargohq/cargo-skills
metadata:
  author: getcargo
  openclaw:
    requires:
      bins:
        - cargo-ai
    install:
      - kind: node
        package: "@cargo-ai/cli@latest"
        bins:
          - cargo-ai
    homepage: https://github.com/getcargohq/cargo-skills
---

# Cargo — the hosted MCP server

Cargo has two surfaces. The rest of this bundle documents the CLI. This one
documents `https://mcp.getcargo.io/mcp`, and, more usefully, **when to reach for
which.**

> **Three different things here are called MCP.** This skill is the **hosted
> server Cargo runs**, which you point a client at. Publishing a curated server
> *out of* your own workspace (`ai mcp-server create`, then `cargo-ai mcp` over
> stdio) and attaching somebody else's server *to* a Cargo agent
> (`release update-draft --mcp-clients`) are both
> [`cargo-ai`](../cargo-ai/SKILL.md). Check which one the user means before
> answering: the words are identical and the answers share nothing.

## Which surface

| The job | Surface |
| --- | --- |
| Run one action, or one action over many records | either; MCP if it is already connected |
| Find what Cargo can do, and what it costs | either (`search_actions` is the MCP half) |
| Read records off a model | either |
| One SELECT over models (aggregates, joins), 50 rows max | either (`query_models` is the MCP half) |
| Full SQL result sets, exports | **CLI** ([`cargo-storage`](../cargo-storage/SKILL.md)) |
| Build or edit a multi-step workflow, tool, or play | **CLI** ([`cargo-orchestration`](../cargo-orchestration/SKILL.md)) |
| GTM as Code: project plan and deploy | **CLI** ([`cargo-project`](../cargo-project/SKILL.md)) |
| Provision mailboxes, warm up, send | **CLI** ([`cargo-mailbox-management`](../cargo-mailbox-management/SKILL.md)) |
| Segments, connectors, content libraries, alerts, hosting, billing admin | **CLI** |
| No shell at all (ChatGPT, Claude Desktop, claude.ai, n8n) | **MCP**, and say plainly what is out of reach |

The rule underneath the table: **MCP is the runtime, the CLI is the platform.**
Seventeen tools cover discovering an action, running it, watching it finish,
reading data back, and reading the workspace context. Everything that *builds* something reusable is CLI only. An
agent holding both should prefer the CLI for anything the user will want to
re-run or version, and MCP for one-shot execution inside a conversation.

When the job routes to the CLI, this is the whole bootstrap:

```bash
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
```

## Connect

The endpoint is `https://mcp.getcargo.io/mcp`, Streamable HTTP. An
unauthenticated request returns `401` with a `WWW-Authenticate` challenge
carrying `resource_metadata`, so an OAuth-capable client discovers the
authorization server, registers, and prompts the user with no configuration
beyond the URL. A `401` on first connect is the handshake, not a fault.

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

Any client taking a JSON block (Claude Desktop, Cursor, a project `.mcp.json`):

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

For CI, a headless agent, or a client with no OAuth, pass a workspace-scoped API
token from **Settings > API** instead. Read it from the environment; never inline
the value:

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

**This endpoint serves the platform tools only.** A curated server a workspace
published with `defineMcpServer` is a different endpoint, at its own
`/v1/ai/mcpServers/<uuid>/mcp` URL. Every token sees the same platform tools
here; the token's permissions decide which calls succeed and which actions
`search_actions` returns.

## The spine

```
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"
```

For data: `list_models` → `describe_model` → `query_models`. For the workspace
context (read only): `map_context`, `search_context`, `browse_context`,
`read_context`. Alongside,
`list_runs` lists recent ad-hoc runs, and `get_usage` breaks the last 7 days of
credit spend down by integration.

**Open every session with `whoami`.** The token binds the session to exactly one
workspace and there is no flag to override it. A session pointed at the wrong
workspace returns plausible, confidently wrong reads: the models are real and
the records are real, they just belong to somebody else. Name the workspace back
to the user before acting on anything.

**`search_actions` prices the work before you do it.** Each result carries
`credits[].cost` beside the `action` object you pass verbatim to everything
downstream:

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

**Pass that `action` object exactly as it comes, with no `config` key.** Inputs
belong in `data` (single) or `records` (batch) — never in a `config`, which is a
*node's* configuration and has no meaning on a top-level action. Inputs
misplaced there are stripped without an error that names `config`: an action with
a required input is refused on the missing field, one without runs on nothing, so
an unexplained empty result is worth checking against this first. A misspelled key
in `data` or a batch record is refused before anything runs (`invalidData`,
`Unknown field: <key>`); tool actions are not checked.

`get_action_schema` takes the same pair: the action, plus an optional `data` for
the actions whose output depends on their inputs — a HubSpot object type or a
target sheet decides which fields come back. The CLI's
`orchestration action get-output-schema` behaves identically.

Four `kind` values come back: `connector` (a third-party integration), `native`
(a built-in platform operation), `tool` (a saved workflow in this workspace),
and `agent` (an AI agent in this workspace). Narrow a noisy catalog with the
`kind` and `integrationSlug` filters.

## Three ways this goes wrong

**Fanning out `execute_action`.** One call per record is slower, bills more, and
leaves nothing to inspect afterwards. `execute_action_batch` takes the same
`action` plus a `records` array, produces one batch object, and a finished batch
returns one page of its output CSV in `data.text` (output columns prefixed
`output_`, 100 rows; while `truncated`
is true, call `get_batch` with the next `offset`). Read `data.text`, do not
fetch the URL. The tool description says never to loop
it: take that literally.

**Spending before quoting.** Run **10–20 records** first (`execute_action_batch`
takes a `limit` that submits only the first N), report the observed
cost and hit rate, then quote the full **record count** and **credit estimate**
and let the user approve. Hit rates on people data run 40 to 70 percent, so cost
per *usable* row is not the sticker price and is not knowable without the
sample. Full discipline:
[`../cargo-gtm/references/cost-discipline.md`](../cargo-gtm/references/cost-discipline.md).

**Paging rows out of `query_models`.** It runs one read-only SQL SELECT over
`dataset.model` references (take the exact reference from `describe_model`),
joins and aggregates allowed, and returns at most 50 rows (default 20). Answer
"how many", "grouped by", or "joined to" with the aggregate in SQL, never by
pulling rows and counting them yourself, which silently truncates at the cap. A
full result set is a CLI job ([`cargo-storage`](../cargo-storage/SKILL.md)).

## Anything that touches a person

The consent rules do not relax because the surface changed. A lawful basis, a
suppression check, and relevance to that person's job gate every step that
sources, enriches, or contacts someone. Bulk unsolicited messaging, purchased or
scraped lists, and consumer targeting are refused. The full text is
[`../cargo-gtm/references/acceptable-use.md`](../cargo-gtm/references/acceptable-use.md);
where no sibling skill is installed, the paragraph above binds on its own.

## Reporting back

Narrate and summarize; never paste raw JSON at a user. After a batch, give the
record count, the hit rate, the credits actually spent, and the download, in
that order.

© getcargo · MIT · getcargohq/cargo-skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
cargo-workflows mohitmishra786 Скилл ведёт агента по воркспейсам Cargo, фичам, build.rs, кэшу сборки и аудиту зависимостей. Пригодится, когда Rust-проект разрастается до нескольких крейтов. CX Codex +1 558установок cargo-fuzz trailofbits Разворачивает cargo-fuzz в Rust-крейте и проводит через обвязку, санитайзеры и разбор падений. CX Codex +1 5 400установок connector-marketplace-strategy Samuel Berthe Помогает решить, стоит ли SaaS запускать свой маркетплейс приложений и коннекторов, и описывает модель работы: курирование, партнёры, правила, take-rate, посев. CX Codex +1 8 100установок co-marketing coreyhaines31 Скилл помогает искать партнёров для совместного маркетинга и планировать кампании. Подойдёт для оценки идей, интеграций и взаимных промо. CX Codex +1 80 300установок input-configurations elastic Скилл для сборки и правки шаблонов входов в интеграциях Elastic: от HTTPJSON и S3 до Journald и WebSocket. Плюс федеративная идентичность для AWS. CX Codex +1 503установок dependency-manager VoltAgent Community Проверяет зависимости на уязвимости и конфликты версий, ищет дубликаты и лишние пакеты. Помогает настроить обновления и уменьшить размер сборки. 356установок

Из того же набора19

cargo-hosting Скилл учит агента создавать, собирать и выкатывать статические веб-приложения и edge-воркеры через Cargo CLI. Пригодится, когда нужно быстро получить рабочий URL для дашборда или вебхука. CX Codex +1 9 700установок cargo-cdk Скилл-заглушка для перехода на cargo-project. Он перенаправляет агента на новое имя навыка после переименования в CLI cargo-ai. CX Codex +1 8 800установок cargo-quickstart Проводит первое знакомство с Cargo: один вопрос о персоне, 25 живых лидов и чек по кредитам. Нужен, когда воркспейс пустой и непонятно, с чего начать. CX Codex +1 8 800установок cargo-diagnostics Скилл разбирает, что именно сделал запуск или батч Cargo: проходит по узлам, рисует граф с упавшим шагом, группирует ошибки по причине и считает расход кредитов. CX Codex +1 8 700установок cargo-observability Настраивает фоновые проверки воркспейса Cargo и запускает действия агента при сбоях. Пригодится для контроля ошибок в пайплайнах и свежести данных. CX Codex +1 6 200установок cargo-segmentation Скилл для работы с сегментами Cargo: сохраняет именованные фильтры над моделью и считает, сколько записей в них попадает. Пригодится, когда агенту нужно собрать аудиторию для рассылки или экспорта. CX Codex +1 6 000установок cargo-mailbox-management Скилл для работы с отправляющими ящиками Cargo: заводит инбоксы на домене, прогревает их и читает ответы. Нужен, когда рассылка идёт через Cargo. CX Codex +1 5 100установок cargo-project Описывает рабочее пространство Cargo как код на TypeScript и разворачивает его через CLI. Пригодится для версионирования агентов, моделей и коннекторов в Git. CX Codex +1 3 000установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой