RD Station CRM MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RDSTATION_CRM_TOKEN | Yes | Your RD Station CRM instance token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rdcrm_search_contactsA | Search contacts in RD Station CRM by partial name, exact email or exact phone. Returns one line per contact: name, id, primary email, primary phone, job title. Use the returned id with rdcrm_get_contact for full details (including linked deals). Use when: "find Maria's contact", "do we have someone with email x@y.com?". Don't use when: you want to create or edit a contact (use rdcrm_upsert_contact). |
| rdcrm_get_contactA | Get full details of one contact by ID: all emails and phones, title, notes, and the deals linked to the contact with their status (open/won/lost). Get the contact ID from rdcrm_search_contacts first. |
| rdcrm_upsert_contactA | Create a contact, or update it if one already exists with the given email (matched by exact email). Provide at least email and name. Phone, job title and notes are optional. Returns the contact id. Use when: "add João (joao@acme.com) to the CRM", "update Maria's phone". |
| rdcrm_list_dealsA | List deals with filters: status (open/won/lost/all, default open), pipeline, stage, owner, name, creation date range. Sorted by most recent first. Returns one line per deal: name, id, stage, value, status, owner, last update. Use rdcrm_get_deal for full details. Use when: "what deals are open?", "deals lost this month", "show João's pipeline". |
| rdcrm_get_dealA | Get full details of one deal by ID: status, stage, value, owner, rating, dates, linked contacts (with email/phone) and products. |
| rdcrm_create_dealA | Create a deal in a pipeline stage. Accepts the stage by ID or by name (stage_name, optionally with pipeline_name to disambiguate) — names are resolved automatically. Optional: value (BRL), rating (1-5), owner (user_id or user by email/name), a contact to link (contact_email + contact_name), expected close date. Use when: "create a deal for Acme in the Qualification stage worth R$5000". |
| rdcrm_update_dealA | Update a deal: move it to another stage (by ID or name), change owner, rename, set rating, expected close date, or pause/resume (hold). Use when: "move the Acme deal to Negotiation", "assign this deal to Maria". Don't use when: marking a deal won or lost (use rdcrm_close_deal). |
| rdcrm_close_dealA | Mark a deal as won or lost. For lost deals, pass the reason by name (lost_reason) or ID (lost_reason_id) — names are resolved against the reasons configured in the account — plus an optional note. Use when: "mark the Acme deal as won", "we lost the Beta deal because of price". |
| rdcrm_list_tasksA | List tasks with filters: deal, assignee, status (pending/done/all, default pending), type (call, email, meeting, task, lunch, visit, whatsapp) and due-date range. Returns one line per task: status, subject, id, type, due date, assignee, deal. Use when: "what are my pending tasks?", "overdue follow-ups this week". |
| rdcrm_create_taskA | Create a task on a deal: subject, type (call, email, meeting, task, lunch, visit, whatsapp), due date and time, assignee. Note: free-plan accounts only allow type 'task'; other types return a 403 (paid feature). The assignee can be given by user_id, by email/name in 'user' (resolved automatically), or omitted when the account has a single user. Use when: "schedule a follow-up call on the Acme deal for Friday 10am". |
| rdcrm_add_noteA | Add a text note (annotation) to a deal's timeline. The author can be given by user_id, by email/name in 'user', or omitted when the account has a single user. Use when: "note on the Acme deal: client asked for a discount". |
| rdcrm_pipeline_overviewA | Aggregated health report of a sales pipeline: open deal count and value per stage (in funnel order), won/lost counts and win rate over a recent window (default 30 days), and stalled deals with no updates for N days (default 14). Also the fastest way to discover the account's pipelines and stage names/IDs (errors list all options). Use when: "how's my pipeline?", "where are deals stuck?", "sales summary for this month". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource-action combination: search/get/upsert for contacts, list/get/create/update/close for deals, list/create for tasks, add for notes, and overview for reporting. There is no overlap—rdcrm_get_contact vs rdcrm_get_deal are clearly separated by resource, and update_deal explicitly defers close operations to close_deal, preventing confusion.
The tools follow a highly consistent rdcrm_<resource>_<verb> pattern (rdcrm_search_contacts, rdcrm_get_deal, rdcrm_create_task) throughout. The only minor deviation is rdcrm_pipeline_overview and rdcrm_add_note, which use different verb styles (overview vs get/list, add vs create) rather than strictly following the verb_noun pattern.
12 tools is well within the sweet spot for a CRM server covering contacts, deals, tasks, notes, and pipeline reporting. Each tool serves a clearly identifiable purpose in the sales workflow, and none feel redundant. The count feels right-sized for the domain.
The surface covers the full contact lifecycle (search/get/upsert), the deal lifecycle (list/get/create/update/close), plus tasks, notes, and pipeline analytics—strong coverage. Minor gaps exist: there is no tool to delete a contact or task, no tool to update a task (e.g., mark done), and no way to unlink a contact from a deal. These are workable gaps, not dead ends.