You connected Cabgo to ChatGPT, Claude or Cursor through its MCP server. The first time the operator says "create my delivery app," the agent returns an error because it tried calling a discovery tool before the creation tool. The second time, after creating two apps, it doesn't pass tenantId on the next action and the server responds with tenant_mismatch. The third, it receives the Tier-4 confirmation card and treats it as a retryable error. All three trip on the same root cause: the agent is learning the catalog conventions by trial and error.
We published a public skill that fixes this. It's an MIT-licensed SKILL.md file at github.com/CabgoApp/cabgo-mcp-operator-skill that any agent can load to operate Cabgo's MCP server correctly from the first call.
The five conventions the skill teaches
The skill loads these conventions as agent context when it detects that the task is Cabgo-shaped:
- The bearer binds to a user, not a tenant: an operator routinely owns multiple apps (taxi and delivery, for example) and the same token covers all of them
- There is always a persistent default tenant when the operator has at least one: the first cabgo_create_my_app promotes itself, cabgo_set_default_tenant lets the operator change it later
- tenantId is an optional argument on every dashboard tool: it accepts both UUID and slug (pidelo-express, taxi-express), and the server promotes it to the X-Cabgo-Tenant header
- The brand-new operator with zero apps is a valid flow state: the only callable tools are the public ones plus cabgo_create_my_app and cabgo_list_my_tenants
- Destructive tools use a two-step HMAC confirmation with a five-minute TTL: the Tier-4 card is not an error, it's the confirmation step before execution
Before and after the skill
Without the skill, an agent connected to Cabgo's MCP learns patterns by trial and error. It wastes tokens on discovery pre-calls, gets tenant_mismatch errors it has to interpret, retries in a loop when confirmation cards appear, and sometimes suggests generating Stripe links inside the chat — which would violate OpenAI's and Anthropic's commerce policies. With the skill loaded, those same errors disappear because the agent knows in advance which tool matches each operator intent and what pattern to follow for destructive or multi-tenant operations.
How to install it in your agent
The skill is distributed as a single markdown file. Three installation paths depending on the agent client:
- Global Claude Code: download SKILL.md to ~/.claude/skills/cabgo-mcp-operator/ and it auto-activates in any project when the agent detects a Cabgo task
- Project-local Claude Code: the same file inside .claude/skills/cabgo-mcp-operator/ of the repo scopes it to that project
- Claude Desktop: drop the file under ~/Library/Application Support/Claude/skills/ on macOS or the equivalent path on other systems
- ChatGPT and Cursor: paste the SKILL.md content into the client's custom-instructions field — still works as a reference but without auto-trigger
What's next
Cabgo's MCP catalog grows as new tools land (persistent-default tenant auto-resolution, creation-channel attribution, locale-update via chat). The skill ships as a single versioned file so any integrator can fork it, add operation-specific conventions and share improvements with the community. For integrators building on top of Cabgo's REST API, the skill complements the interactive documentation at cabgo.app/api-docs because it covers agent behavior, not just the server contract.
The repository is open at github.com/CabgoApp/cabgo-mcp-operator-skill. Issues and pull requests land in the same place.


