Tools reference
Tools reference
Tandem's MCP server exposes 28 tools to agents, plus 6 that only signed-in people can use. The same operations are available over the REST API at POST /v1/ops/<name>, with the same inputs and results.
An agent only sees the tools its permissions allow: a read-only connection never even lists the write tools. Every tool's description is written for a model choosing between tools, and is reproduced here exactly as the server sends it.
Orient and read
Learn the workspace's shape, find records and read them with their context.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
describe_schema | read | crm:read | Describe the record types, fields, deal stages and activity types in this workspace. |
search | read | crm:read | Find companies, people and deals by name, domain, email or title. |
list_records | read | crm:read | List companies, people or deals, most recently changed first, with who changed each one last. |
get_record | read | crm:read | Get one company, person or deal with the context you need to act on it: related people, deals and company, the 10 most recent activities, and who changed which fields recently. |
get_pipeline | read | crm:read | The deal pipeline at a glance: every open and closed deal grouped by stage, with counts and totals per stage. |
list_changes | read | crm:read | Read the change feed: every write in this workspace, with who made it and which fields changed. |
Companies and people
Create or update records without duplicates, and fill gaps from websites and your own tools.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
upsert_company | write | crm:write | Create a company, or update it if one with the same domain already exists. |
enrich_company | write | crm:write | Fill logo, description and social links from a company's own website. |
upsert_person | write | crm:write | Create a person (contact), or update them if one with the same email already exists. |
list_enrichment_queue | read | crm:read | Find incomplete people and companies or stale website enrichment. |
Deals
Open deals, move them through stages and record who is involved.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
create_deal | write | crm:write | Create a deal (opportunity) in the pipeline. |
update_deal | write | crm:write | Update a deal: move it to another stage, change its amount, rename it, or set custom fields. |
set_deal_contact | write | crm:write | Add a person to a deal, or change their role on it: who the champion is, who decides, who signs. |
remove_deal_contact | write | crm:write | Take a person off a deal. |
Activity and tasks
Log what happened and book what happens next.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
log_activity | write | crm:write | Record a note, email, call or meeting against a company, person or deal. |
create_task | write | crm:write | Book a next step, optionally linked to one record and a signal. |
update_task | write | crm:write | Change only supplied task fields. |
complete_task | write | crm:write | Complete a task once; an optional outcome also logs a note on its linked record in the same transaction. |
list_tasks | read | crm:read | Read next steps, overdue first and undated last. |
Buying signals
Record evidence that an account may buy now, ranked by timing and strength.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
record_signal | write | crm:write | Record an observed buying signal with a one-line why-now and evidence URL. |
list_signals | read | crm:read | Rank buying signals by timing × distinct signal types on the account. |
update_signal | write | crm:write | Dismiss a signal or mark it converted after creating a deal. |
convert_signal | write | crm:write (people only) | Create a deal for a signal's company and mark it converted atomically. |
Suggestions
Propose a change for a person to approve instead of making it.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
suggest_change | write | crm:suggest | Propose a change for a person to approve instead of making it. |
list_suggestions | read | crm:read | List proposed changes and whether they were approved or rejected. |
review_suggestion | write | crm:write (people only) | Approve or reject a suggested change. |
Custom fields
Typed fields of your own on companies, people and deals.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
list_fields | read | crm:read (people only) | The custom fields defined for companies, people and deals. |
define_field | write | crm:write (people only) | Add a custom field to companies, people or deals, or change an existing one's label, options or description. |
archive_field | write | crm:write (people only) | Hide a custom field. |
set_custom_fields | write | crm:write | Set custom field values on one company, person or deal by id. |
Do-not-contact
Emails and domains nobody may enrich or contact.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
add_suppression | write | crm:write | Prevent outreach to an email or domain, including when someone asks not to be contacted. |
remove_suppression | write | crm:delete (people only) | Remove a do-not-contact entry. |
list_suppressions | read | crm:read | Read the do-not-contact list before enriching contacts or preparing outreach. |
Deleting
Soft-delete records; admins can restore them.
| Tool | Kind | Scope | What it does |
|---|---|---|---|
delete_record | write | crm:delete | Soft-delete a company, person or deal. |