cargo-ai
Build and configure AI agents inside Cargo — create an agent, choose its model and temperature, write its prompt, attach knowledge for retrieval (RAG), connect MCP tool servers, manage memories, and deploy releases. Triggers: "create an agent", "make an agent that", "give the agent our docs", "attac
By getcargohq · 6,763 installs
npx skills add getcargohq/cargo-skills --skill cargo-ai
Source repository · Upstream listing
Cargo CLI — AI
Agent resource management: creating and configuring agents, attaching knowledge for retrieval augmented generation (RAG), connecting MCP servers, and managing agent memories.
For using agents (sending messages, multi turn chat, polling), use cargo orchestration .
For uploading knowledge files and building knowledge libraries (the content domain), use [ cargo content ](../cargo content/SKILL.md). This skill covers how that knowledge attaches to an agent.
For workspace administration — folders (used to organize agents and files), users, API tokens, roles, and submitting reports when the CLI fails — use [ cargo workspace management ](../cargo workspace management/SKILL.md).
See references/response shapes.md for full JSON response structures.
See references/troubleshooting.md for common errors and how to fix them.
See references/examples/agents.md for agent CRUD and configuration examples.
See references/examples/mcp servers.md for MCP server creation and management examples.
Bootstrap
Already signed in ( cargo ai whoami returns a workspace)? Skip to the next section.
Every command prints JSON to stdout; failures exit non zero with {"errorMessage": "..."} . Anything that creates a run or a batch is async — pass wait until finished or poll the matching get . When the full skill bundle is installed, [ ../cargo/references/prerequisites.md ](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin only surface.
Discover resources first
Retrieve in the UI: agents live at app.getcargo.io/workspaces/<WORKSPACE UUID /agents/<AGENT UUID . Get <WORKSPACE UUID from cargo ai whoami under workspace.uuid .
Quick reference
Agents
Agents are AI resources with configured instructions, a language model, actions, and optional resources.
Before creating an agent from scratch, check existing templates — they capture proven patterns for common use cases (lead research, classification, email drafting) and give you a ready made system prompt, model, and temperature to start from:
Agent icon: icon color must be one of: grey , green , purple , yellow , blue , red . icon face is an emoji string.
Folders: Folder creation, listing, and management lives in [ cargo workspace management ](../cargo workspace management/SKILL.md) ( cargo ai workspaceManagement folder list/create/... ). Use that skill to discover or create the <folder uuid you pass to folder uuid here.
Releases
Releases are versioned snapshots of an agent's configuration (system prompt, actions, resources, model, temperature). Agents execute against their deployed release.
Structured output & heartbeat — not yet exposed as CLI flags
The release API payload (both draft/update and draft/deploy ) accepts two fields that release update draft / release deploy draft do not surface as flags (verified against the CLI source — there is no output / output schema or heartbeat ):
Field Shape Purpose
output {"type":"text"} or {"type":"jsonSchema","jsonSchema": <standard JSON Schema object } Force the agent to return structured output matching a JSON Schema.
heartbeat {"intervalMinutes": number, "maxMessages": number, "prompt": string \ null} Periodically re wake the chat ( intervalMinutes ) until it reaches maxMessages ; prompt is the wake message (null = generic "continue").
The generic options flag does not carry these — the API's options only holds {connectorUuidsByIntegrationSlug, modelUuidsByIntegrationSlug} . Until the flags ship, set these with a direct API call against the same endpoints the CLI uses:
Send these payloads alongside the other fields you're updating (the endpoint replaces the draft config). File a workspaceManagement report (see [ ../cargo workspace management/SKILL.md ](../cargo workspace management/SKILL.md)) to request first class output / heartbeat flags — this is the documented feedback channel for CLI/UI parity gaps.
Agent configuration workflow:
1. Browse templates for inspiration : cargo ai ai template list — it returns each template in full (system prompt, model, temperature, actions), so pick the one closest to your use case straight out of that response
2. Create the agent: cargo ai ai agent create name "..." icon color blue icon face 🤖
3. Get the draft release: cargo ai ai release get draft agent uuid <uuid
4. Update the draft with configured actions, resources, prompt, model: cargo ai ai release update draft agent uuid <uuid ...
5. Deploy: cargo ai ai release deploy draft agent uuid <uuid ...
Templates
Templates are pre built agent configurations that capture proven patterns for common use cases. Always check templates before designing an agent from scratch — they give you a ready made system prompt, recommended language model, temperature, and tool configuration that you can adopt as is or adapt.
Templates include a system prompt, actions, resources, and recommended model settings. Use them as a starting point and customize via release update draft . See references/examples/templates.md for the full guide including an end to end example of creating an agent from a template.
Model and temperature guidance
Use case Recommended model Temperature
Classification, extraction, scoring gpt 4o mini or claude 3 5 haiku 0.0 – 0.2
Research, summarization, analysis gpt 4o or claude 3 5 sonnet 0.2 – 0.5
Copywriting, personalization gpt 4o or claude 3 5 sonnet 0.5 – 0.8
Brainstorming, creative ideation gpt 4o or claude opus 0.7 – 1.0
Low temperature ( 0.0 – 0.2 ) = deterministic, consistent outputs. High temperature ( 0.7 +) = creative, varied outputs. For production workflows processing thousands of records, prefer low temperature.
Knowledge for RAG (files & libraries)
Knowledge that grounds agent responses (retrieval augmented generation, RAG) comes from the content domain — see [ cargo content ](../cargo content/SKILL.md):
Files — uploaded binaries (PDFs, CSVs, text).
Libraries — collections that group files, either native (workspace managed) or connector backed (synced from an external source via an unstructured data extractor).
Files and libraries moved out of ai into the top level content domain in CLI ≥ 1.0.19 ( cargo ai content file … / cargo ai content library … ). The old ai file … commands are gone. Everything content related now lives in [ cargo content ](../cargo content/SKILL.md).
Attaching knowledge to an agent
A file or library is inert until attached to an agent via the draft release's resources array and deployed. Upload files / build libraries in [ cargo content ](../cargo content/SKILL.md), then wire them in here with release update draft resources … followed by release deploy draft . See [ ../cargo content/references/examples/files.md ](../cargo content/references/examples/files.md) for the full upload → attach → deploy sequence.
MCP — two directions, don't mix them up
MCP (Model Context Protocol) runs both ways in Cargo, and the two surfaces are unrelated:
Publish — ai mcp server Consume — ai mcp client
What it is A server your workspace exposes : the tools, agents, and data you choose to make callable A connection to someone else's MCP server
Who calls it Any MCP client — Claude Code, Claude Desktop, Cursor, ChatGPT Your Cargo agents, during a chat or a workflow run
Wired via cargo ai mcp server <uuid (stdio bridge, below) release update draft mcp clients …
Before building one, check whether the platform MCP already covers it. Cargo now serves a first party MCP at https://mcp.getcargo.io/mcp — every workspace member, nothing to deploy — with a small fixed toolset for operating the workspace ( whoami , get usage , search actions , get action schema , autocomplete action , execute action , execute action batch , get run , get batch , list runs , list models , describe model , query models ). Hosted clients (ChatGPT connectors, Claude.ai, Cursor over HTTP) point at that URL and sign in with OAuth; the consent screen picks the workspace when the user belongs to several. ai mcp server is for the other job: a curated, named subset — this tool, that agent, this filtered model — for a client that should see exactly that and nothing else.
Publishing a workspace MCP server
Actions take kind: "tool" or kind: "agent" — an agent can be exposed as a callable MCP tool, not just a tool. waitUntilFinished controls whether the call blocks on the run.
Resources take kind: "model" (a filtered, column selected view of a model — keep isReadOnly: true unless the client is meant to write) or kind: "file" (workspace files by UUID, see [ ../cargo content/SKILL.md ](../cargo content/SKILL.md)).
update replaces actions / resources wholesale rather than merging — read the current server with mcp server list and pass the full array back.
Serving it to a coding agent — cargo ai mcp
Either server reaches any stdio MCP client through the CLI, using the credentials already on the machine. No token is copied into client config.
With no server , the bridge uses CARGO MCP SERVER UUID when set, otherwise the platform /mcp . This changed: older CLIs resolved "the workspace's only MCP server" and failed with InvalidUsage when the workspace had none or several — a bare cargo ai mcp now always has something to serve. stdout carries the MCP protocol and all logs go to stderr, so never print anything to stdout around it.
When to reach for this instead of the skills: the skills give an agent the whole CLI; an MCP surface gives it a bounded set with no shell. Use the bridge for in conversation lookups and one off actions, and the CLI for batches, workflows, schema changes, and anything with a cost gate. Full routing rule: [ ../cargo/SKILL.md ](../cargo/SKILL.md) → "These skills vs Cargo's MCP surfaces".
Consuming an external MCP server
authentication takes {"issuedAt": "...", "accessToken": "..."} or "null" . Connected clients are attached to an agent through its release: release update draft mcp clients … , then release deploy draft .
Memories
Memories are pieces of information an agent stores from conversations for future reference. They can be scoped to a workspace, user, or specific agent.
Help
Every command supports help :