Docs

MCP tools

Agents call POST /api/mcp with a bearer token. This page lists every tool in the MCP manifest: name, required scope, what it is for, and the parameters that matter. Scopes are copied from the manifest. A tool runs only when the token includes every required scope.

Empty scopes are written as none. The call still needs a valid token. Dynamic scopes are checked against the table you pass.

Human-only approval types cannot be approved here. See Permissions and API keys. How to connect a runtime is in Connecting agents.

Parameter lists are the fields callers actually send. Optional fields are included when they change behavior. Servers ignore unknown keys.

Search

ToolScopePurposeKey parameters
rag_searchrag:readHybrid keyword and vector search over indexed chunks.query, match_count, source_tables, since, until
entity_match_searchrag:readResolve a person, company, or campaign name to candidates. Does not merge.query, limit, entity_types
searchrag:readScoped hybrid search with an intent router and optional dimension filters.query, match_count, offset, source_tables, domain_name, deal_name, project_name, skip_router
entity_search_diagrag:readExplain why a name did not resolve.canonical_name
entity_context_queryrag:readPack one entity's card, scoped chunks, and optional tasks and notes for a question.question, entity_type, entity_id or entity_name, include_tasks, include_activities, include_notes

Activities

ToolScopePurposeKey parameters
timeline_for_entityactivities:read, mentions:readActivity timeline for one CRM record.entity_type, entity_id, limit, occurred_after, occurred_before
activity_timelineactivities:readOwner-wide activity feed with keyset pagination.occurred_after, occurred_before, type, work_type, source, exclude_noise, limit, cursor
activity_createactivities:writeCreate or upsert an activity.type, summary, content, source, source_id, occurred_at, raw_payload
mention_addmentions:write, activities:writeLink an activity to an entity.activity_id, entity_type, entity_id

Contacts and accounts

ToolScopePurposeKey parameters
contact_intakecontacts:write, accounts:writeCreate a contact and account from an intake payload.email, company_name, full_name, campaign_id, metadata
scorecard_get<dynamic: contacts:read|accounts:read|deals:read>Latest scorecard for a contact, account, or deal. Scope depends on the table.record_table, record_id
accounts_due_for_enrichmentaccounts:readAccounts whose enrichment is stale, oldest first.limit
entity_getnoneFull entity card by search-entity id.entity_id
entity_creategraph:writeDeprecated. Returns deprecated and does not insert.table, fields (ignored)
entity_field_writegraph:writeWrite one field through the provenance path.table, id, field, value, confidence, src, actor

Entity state and notes

ToolScopePurposeKey parameters
entity_state_getnoneRead agent_state on a contact, account, deal, or project.entity_table, entity_id
entity_state_set<dynamic: contacts:write|accounts:write|deals:write|projects:write>Replace agent_state. Scope matches the table.entity_table, entity_id, agent_state, expected_updated_at
entity_state_patch<dynamic: contacts:write|accounts:write|deals:write|projects:write>Shallow-merge a patch into agent_state.entity_table, entity_id, patch, expected_updated_at
entity_note_addnotes:writeAppend a note.entity_table, entity_id, body, author, source_activity_id
entity_notes_listnotes:readList recent notes, newest first. Long bodies are truncated.entity_table, entity_id, limit

Campaigns

ToolScopePurposeKey parameters
campaign_listcampaigns:readList campaigns.limit
campaign_members_listcampaigns:readList members of one campaign.campaign_id
campaign_member_addcampaigns:writeAdd a contact or an account to a campaign.campaign_id, contact_id or account_id
campaign_member_updatecampaigns:writeUpdate member status and merge SDR metadata.member_id or campaign plus contact or account, member_status, metadata_sdr
campaign_product_linkcampaigns:writeLink or unlink a product.campaign_id, product_id, unlink
campaign_products_listcampaigns:readProducts linked to a campaign.campaign_id
campaign_icp_setcampaigns:writeAttach ICP profiles to a campaign.campaign_id, icp_ids, replace

Approvals

ToolScopePurposeKey parameters
approval_createapprovals:writeCreate a pending approval. Entity creates must send on_approve or table and fields.item_type, title, summary, table, fields, on_approve, metadata
approval_listapprovals:readList approvals.limit, status
approval_resolveapprovals:writeResolve as the agent identity. Human-only types are refused.id, status (approved, rejected, deferred), decision_notes

Extraction

ToolScopePurposeKey parameters
extraction_pendingapprovals:readList pending extraction cards.action_type, limit, offset
extraction_reviewapprovals:writeApprove or reject one extraction card.approval_id, decision, note
extraction_review_bulkapprovals:writeResolve a batch of one action type.action_type, decision, note, limit
extraction_threshold_setapprovals:writeSet the auto-pass threshold for an action type. Database write also requires an admin.action_type, threshold (0 to 1)
extraction_metricsapprovals:readCounts by action type.days

Deals and products

ToolScopePurposeKey parameters
deal_proposalsdeals:readProposed deal names from ingest that are not deals yet.limit
deals_listdeals:readList deals, including forecast and scorecard fields.limit, status, closed, id, name
deal_scorecard_setdeals:writeWrite the scorecard JSON and narrative fields.deal_id, scorecard, deal_summary, deal_details, product_offering, strategic_questions, next_steps
deal_proposal_resolvedeals:writeApprove or dismiss a proposed deal name.proposed_deal_name, approve, domain_id
deal_line_item_setdeals:writeUpsert one deal line item.deal_id, product_id, name, description, quantity, unit_amount, sort_order, id
deal_line_items_listdeals:readLine items on a deal.deal_id
product_listproducts:readList catalog products.status, product_line, q, limit
product_getproducts:readOne product by id or slug.id
product_upsertproducts:writeCreate or update a product. Create and rename file a human-only approval.id, name, slug, description, product_line, status, list_price, pricing_model, url

Tasks

ToolScopePurposeKey parameters
task_createtasks:writeCreate a backlog task. Set human_approval_to_close on purpose. Default is false.title, description, project_id, assignee_type, assignee_id, domain, human_approval_to_close, priority, hidden_until
task_listtasks:readList tasks. Hidden tasks stay out unless include_hidden is true.domain, status, assignee_type, assignee_id, project_id, limit, include_hidden
task_hidetasks:writeSet or clear hidden_until.task_id, hidden_until
task_claimtasks:writeClaim todo tasks for a runtime.assignee_id, claimed_by, limit
task_claim_work_itemtasks:writeClaim the one task a work item points at.work_item_id, claimed_by
task_pickuptasks:write, comments:readClaim plus task and project comments. Acks unread handoffs.work_item_id, claimed_by
task_reassigntasks:reassignReassign to a runtime or user. Handoff comment required.task_id, assignee_type, assignee_id, handoff_note
task_completetasks:writeComplete a todo or doing task that is not close-gated.task_id, result
task_stucktasks:writeMark a task stuck.task_id, reason
task_starttasks:writeMove todo to doing.task_id
task_resumetasks:writeMove stuck to todo. Refuses unmet dependencies.task_ids, note
task_demotetasks:writeMove todo back to backlog.task_id, note
task_reopentasks:writeReopen a done task to an active status.task_id, to_status, note
task_canceltasks:writeCancel from an active status. Reason required.task_id, reason
task_request_promotetasks:writeOpen a promote approval.task_ids, note, domain
task_request_closetasks:writeClose. Human gate opens a card. Otherwise the task can complete, and a linked green pull request can merge.task_ids, note, pr_url, work_item_id, work_result
task_scheduled_createschedules:writeCreate or update a scheduled task. Token only.project_id, title, schedule_cron, scheduled_workflow_template_id, assignee_type, assignee_id
task_scheduled_enableschedules:writeEnable a scheduled task and its job binding. Token only.task_id

Comments and notifications

ToolScopePurposeKey parameters
comment_createcomments:writeCreate a comment and link it to records.body, domain, assignee_runtime_id, related
comment_listcomments:readList comments for a runtime, status, or related record.assignee_runtime_id, status, domain, related_type, related_id, limit
comment_ackcomments:writeAcknowledge a comment.comment_id
comment_appliedcomments:writeMark a comment applied.comment_id
comment_dismisscomments:writeDismiss a comment.comment_id
cockpit_getcockpit:readAggregate payload: pending approvals, notifications, and summaries.none
cockpit_notifications_listcockpit:readIn-app notifications for the token owner.status, limit
cockpit_notification_resolvecockpit:writeMark a notification read or dismissed.id, status

Work lease

ToolScopePurposeKey parameters
work_clock_inwork:writeClaim a work item. A live lease on the same kind and ref conflicts.kind, ref, agent_id, run_id, lease_ttl_minutes
work_set_sessionwork:writeRecord the session, repo, and branch on a claimed item.work_item_id, repo, branch, session_url
work_heartbeatwork:writeExtend the lease.work_item_id
work_logwork:writeAppend a log line and bump the heartbeat.work_item_id, level, message
work_blockwork:writeMark the item blocked.work_item_id, gap_type (policy, data, or tool), reason
work_clock_outwork:writeRelease the item.work_item_id, status (done, failed, skipped), result, error
work_statuswork:readRead by exactly one selector.work_item_id, or kind plus ref, or run_id

Meetings and graph check-in

ToolScopePurposeKey parameters
meeting_graph_checkingraph:writeWrite a meeting activity plus entity proposals, links, notes, and flags.activity, run_id, entities, links, notes, flags
meeting_brief_checkingraph:writeAttach a pre-call brief to a calendar activity. Does not change entities.calendar_activity_id, brief, run_id
entity_graph_checkingraph:writeCheck in entities for a lane without an activity.lane, run_id, entities, links, notes, flags
graph_checkingraph:writeDeprecated alias of meeting_graph_checkin.same as meeting_graph_checkin
graph_checkin_revertgraph:writeRevert a check-in by run id.run_id

Files and marketing assets

ToolScopePurposeKey parameters
file_reservefiles:writeReserve a file row and an upload URL, deduped by hash.sha256, file_name, mime_type, size_bytes, domain
file_commitfiles:writeMark an upload ready after the bytes land.file_id
file_linkfiles:writeLink a file to a record.file_id, entity_type, entity_id, link_kind
file_unlinkfiles:writeRemove one link.file_id, entity_type, entity_id, link_kind
file_share_recordfiles:writeRecord that a file was shared. Does not send it.file_id, contact_id, account_id, shared_via, note
files_for_entityfiles:readFiles and optional share history for a record.entity_type, entity_id, limit, include_shares
file_signed_urlfiles:readShort-lived download URL.file_id, ttl_seconds, download
marketing_asset_createfiles:writeCreate a marketing asset identity. Bytes stay on a file row.title, slug, kind, domain, campaign_id
marketing_asset_version_addfiles:writeAdd a version that points at a committed file.asset_id, file_id, version, set_current
marketing_asset_listfiles:readList assets.kind, domain, campaign_id, project_id, limit
marketing_asset_getfiles:readOne asset and its versions.asset_id
marketing_asset_set_currentfiles:writePoint the asset at a version.asset_id, version

Workflows

ToolScopePurposeKey parameters
workflow_template_createworkflows:writeCreate or update a template and its steps.slug, name, project_id, description, steps, status
workflow_applyworkflows:writeInstantiate a template into tasks on a desk.template_id, context_project_id, trigger
workflow_trigger_describeworkflows:readReturn the trigger input contract. Token must be bound to the workspace.template
workflow_triggerworkflows:writeEnqueue a trigger with validated input.template, input, dedupe_key
flow_startworkflows:writeStart a registered flow by slug.slug, input
flow_run_statusworkflows:writePoll a flow run and its steps.run_id

Skills

ToolScopePurposeKey parameters
skill_listapprovals:readList skills.enabled_only, action_type, family, project_id
skill_getapprovals:readOne skill by slug.slug
skill_metricsapprovals:readRecommendation agreement rates.days
skill_createskills:writeCreate a skill document and queue a collection sync.slug, title, body_md, summary, family, domain
skill_updateskills:writeUpdate a skill and queue a re-sync.skill_id, title, summary, body_md, status, enabled

Goals

ToolScopePurposeKey parameters
metric_catalog_listmetrics:readBuilt-in metric catalog.owning_role, availability, all_versions
metric_querymetrics:readCompute one catalog metric.key, filters, period
charter_listcharters:readList charters.scope, status, slug
charter_getcharters:readOne charter with sections and measures.charter_id or slug, version, include_metric_values
charter_propose_versioncharters:writePropose a draft charter. Publishing waits on an approval.slug, scope, title, sections, measures, summary

ICP

ToolScopePurposeKey parameters
icp_listicp:readList ICP profile versions.status, slug, include_criteria, limit
icp_geticp:readOne ICP and its version history.icp_id, version
icp_propose_versionicp:writeDraft a new ICP version. Activation waits on an approval.slug, name, criteria, summary
account_fit_scoreicp:writeScore an account against an ICP and write the fit fields.account_id, icp_id
accounts_by_tiericp:readAccounts in a fit tier.tier, icp_id, min_score, limit

Outcomes and cases

ToolScopePurposeKey parameters
outcomes_listengagement_outcomes:readList engagement outcomes.status, confirmed_state, deal_id, project_id, account_id, limit
outcome_createengagement_outcomes:writeCreate an outcome. Cannot set achieved directly.title, description, type, source, deal_id or project_id, account_id, status
outcome_updateengagement_outcomes:writeUpdate outcome fields. Does not confirm or achieve.outcome_id plus the fields to change
outcome_confirmengagement_outcomes:writeConfirm, reject, or propose achieved. Achieved files a human-only card.outcome_id, action (confirm, reject, achieve)
cases_listcases:readList support cases.status, account_id, project_id, limit
case_createcases:writeOpen a case on an account.title, description, account_id, project_id, status
case_updatecases:writeUpdate a case and its outcome links.case_id, link_outcome_id, unlink_outcome_id

Agent bus

ToolScopePurposeKey parameters
agent_bus_subscribeagent_bus:writeSubscribe a runtime to the bus.agent_id, session_key, channels
agent_bus_list_agentsagent_bus:readList agents and presence.only_active, only_clocked_in
agent_bus_broadcastagent_bus:writeBroadcast a message.from_agent_id, body, kind, only_clocked_in
agent_bus_sendagent_bus:writeSend to specific agents.from_agent_id, to_agent_ids, body, thread_id
agent_bus_inboxagent_bus:readPull an agent's inbox.agent_id, status, limit
agent_bus_replyagent_bus:writeReply in a thread.from_agent_id, body, thread_id, in_reply_to
agent_bus_ackagent_bus:writeAcknowledge a message.agent_id, message_id