RichbeeQuickstart

title: Agent quickstart · status: DRAFT (not approved, not published)

Agent quickstart: Richbee CRM

1. Get a key

TODO: signup flow. Keys are sent as Authorization: Bearer <key>. The test prefix is rb_test_; TODO: the live prefix. Machine clients can instead exchange a client_id/secret at POST <your-richbee-endpoint>/oauth/token (grant_type=client_credentials, optional scope) for an rb_at_... token.

2. Connect your client

Cursor (~/.cursor/mcp.json)

json
{ "mcpServers": { "richbee-crm": { "url": "<your-richbee-endpoint>/mcp", "headers": { "Authorization": "Bearer rb_..." } } } }

Claude Code

bash
claude mcp add --transport http richbee-crm <your-richbee-endpoint>/mcp --header "Authorization: Bearer rb_..."

Claude.ai / Claude Desktop

TODO: custom connectors expect OAuth authorization-code, and Richbee currently supports only client_credentials. Recommended path is TBD.

Agent frameworks (any MCP client)

Point any MCP client that supports streamable HTTP at <your-richbee-endpoint>/mcp with the bearer header. TODO: tested snippets for specific frameworks.

Raw JSON-RPC check:

bash
curl -s <your-richbee-endpoint>/mcp \
  -H "Authorization: Bearer rb_..." -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

No MCP? Use REST via <your-richbee-endpoint>/openapi.json. Paths are /v1/{companies,contacts,deals,notes}.

3. Try it

The agent calls create_company, then create_contact, then create_deal with {"title":"Acme pilot","amount_cents":1200000,"stage":"qualified"}.

Tools at a glance

Tools Scope
list_*, get_*, export_{entity} crm:read
create_*, update_*, delete_*, bulk_{create,update,delete}_* (max 100, atomic) crm:write
export_workspace, get_export (links valid 15 min) admin

Entities: company, contact, deal (stages: lead, qualified, proposal, won, lost; amounts in cents), note.

When something fails

Errors are application/problem+json with code and hint. Follow the hint. Retry creates with the same Idempotency-Key so nothing is duplicated.