The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Rdstation Crm MCP listing page.
An open-source MCP server for RD Station CRM — the leading CRM in Brazil and Latin America. Manage contacts, deals, tasks and notes, and get pipeline health reports, straight from Claude or any MCP-compatible client.
"How's my sales pipeline this month?" → stage-by-stage totals, win rate, and the deals going stale.

RD Station CRM is huge in the LatAm market, but had no open-source MCP server. This project connects it to the MCP ecosystem so AI agents can work your pipeline: qualifying leads, moving deals, scheduling follow-ups, and answering questions about your sales data in natural language.
Claude Desktop (claude_desktop_config.json):
Claude Code:
That's it. Ask Claude something like "list my open deals" or "give me a pipeline overview".
| Tool | Description |
|---|---|
rdcrm_search_contacts | Search contacts by name, email or phone |
rdcrm_get_contact | Contact details, including linked deals |
rdcrm_upsert_contact | Create a contact, or update it if the email already exists |
rdcrm_list_deals | List deals filtered by status, pipeline, stage, owner, dates |
rdcrm_get_deal | Deal details: stage, value, owner, contacts, products |
rdcrm_create_deal | Create a deal — accepts stage by name, resolved automatically |
rdcrm_update_deal | Move stage, change owner, rating, close date, pause/resume |
rdcrm_close_deal | Mark won or lost (lost reasons resolved by name) |
rdcrm_list_tasks | List tasks by deal, assignee, status, type, due date |
rdcrm_create_task | Create a task (call, email, meeting, whatsapp...) on a deal |
rdcrm_add_note | Add a note to a deal's timeline |
rdcrm_pipeline_overview | Pipeline health report: totals per stage, win rate, stalled deals |
These tools are designed for LLMs, not as a 1:1 API wrapper:
rdcrm_pipeline_overview answers the questions humans actually ask ("where are deals stuck?") with a single tool call.The default (rdstation-crm-mcp) runs over stdio for a single local user, with the token read once from RDSTATION_CRM_TOKEN. For a team-hosted or registry-listed deployment (e.g. Smithery), run the Streamable HTTP variant instead:
This starts an HTTP server (http://127.0.0.1:8080/mcp by default) implementing the MCP Streamable HTTP transport, with proper session lifecycle (initialize → Mcp-Session-Id → DELETE to close).
Because a hosted server can serve more than one user, there's no single implicit token: each session sends its own Authorization: Bearer <token> header on initialize. A RDSTATION_CRM_TOKEN env var still works as a fallback default for a single-tenant self-hosted setup where every caller shares one CRM account.
Env vars:
| Var | Default | Purpose |
|---|---|---|
PORT | 8080 | Port to listen on |
HOST | 127.0.0.1 | Bind address — use 0.0.0.0 for containers/cloud |
ALLOWED_HOSTS | (unset) | Comma-separated Host header allow-list (DNS-rebinding guard); recommended when binding to 0.0.0.0 without a reverse proxy in front |
RDSTATION_CRM_TOKEN | (unset) | Default token used when a session sends no Authorization header |
The HTTP layer (src/client/) is isolated from the tools, with retry and exponential backoff for 429/5xx built in.
Contributions welcome — open an issue first for anything non-trivial.
MIT © Fernando Ludvig
Not affiliated with or endorsed by RD Station. Uses the public RD Station CRM API v1.