Skip to content
Pathbound DOCS

MCP — Tools Reference

The MCP server exposes 47 tools to MCP clients. Tools are grouped here by domain. Each entry shows the tool name, a one-line description, key required parameters, and the MCP annotations (readOnly, destructive, idempotent).

For full parameter shapes including optional fields, the MCP server publishes a schema via the standard MCP tools/list method — most clients (including Claude.ai) display this inline.

ToolDescriptionKey paramsAnnotations
list_contactsList/filter contacts. Supports count_only, fields=summary.(filters)read-only
get_contactFetch a contact with bounded events (20) and actions (10).contact_idread-only
create_contactCreate a contact. Min: email.emailwrite
update_contactUpdate properties on a contact.contact_idwrite, idempotent
get_contact_timelineChronological events for a contact across all sources.contact_idread-only
get_contact_conversationsGmail + Intercom thread history. Pass include_messages=true for bodies.contact_idread-only
list_contact_email_threadsCompact thread list — thread_id, last_message_id, subject.contact_idread-only
list_contact_notesAll notes on a contact.contact_idread-only
create_contact_noteAdd a freeform note (direct, no approval).contact_id, contentwrite
update_contact_noteEdit an existing note.contact_id, note_id, contentwrite, idempotent
delete_contact_noteDelete a note. Irreversible.contact_id, note_iddestructive, idempotent
ToolDescriptionKey paramsAnnotations
list_companiesList/filter companies (search domain, name, industry).(filters)read-only
get_companyFetch a company with up to 25 associated contacts.company_idread-only
create_companyCreate a company. Min: domain.domainwrite
update_companyUpdate properties on a company.company_idwrite, idempotent
list_company_notesAll notes on a company.company_idread-only
create_company_noteAdd a freeform note.company_id, contentwrite
update_company_noteEdit an existing note.company_id, note_id, contentwrite, idempotent
delete_company_noteDelete a note. Irreversible.company_id, note_iddestructive, idempotent
ToolDescriptionKey paramsAnnotations
list_identitiesConfigured senders (email + LinkedIn). No credentials returned.read-only

Creating, updating, and deleting identities — and the LinkedIn auth flow — is REST-only (identities:write). MCP can read identities to pick a sender, but cannot manage them.

ToolDescriptionKey paramsAnnotations
list_agentsList configured agents.read-only
get_agentFull agent config (playbook, capabilities, schedule, LLM).agent_idread-only
update_agentModify playbook, capabilities, or enabled state.agent_idwrite, idempotent
trigger_agentManual run, optionally for specific contacts.agent_idwrite
list_agent_runsExecution history with status filter.agent_idread-only
get_agent_runRun details. mode=summary for counts only; mode=full caps at 25 contacts.run_idread-only
ToolDescriptionKey paramsAnnotations
list_actionsList actions, filterable by status, type, contact, company, agent, dates.(filters)read-only
get_actionSingle action detail.action_idread-only
create_actionDraft an action. Defaults to require_approval: true.type, params, identity_iddestructive
update_actionEdit params, scheduled_time, etc. on a pending/scheduled action.action_idwrite, idempotent
approve_actionApprove an agent-proposed action by (run_id, contact_id, action_index).run_id, contact_id, action_indexdestructive
reject_actionReject an agent-proposed action.run_id, contact_id, action_indexdestructive, idempotent

create_action accepts the same type values documented in the Actions APIemail_message, linkedin_connection, create_note, create_task, update_contact, update_company, update_lifecycle_stage, escalate_to_human, sync_to_crm, send_slack_message, resend_*. The params field is a JSON string in MCP (parsed server-side) so it can be dropped into the tool call as a single string.

ToolDescriptionKey paramsAnnotations
list_eventsList events with rich filters. Supports count_only, fields=summary.(filters)read-only
get_eventSingle event with associated contact/company.event_idread-only
get_event_typesDistinct event names recorded for the tenant.read-only
get_event_statsTotal + breakdown by type, domain, day.(filters)read-only
ToolDescriptionKey paramsAnnotations
list_segmentsList all segments.read-only
get_segment_contactsPaginated members of a segment.segment_idread-only
ToolDescriptionKey paramsAnnotations
batch_get_detailsUp to 25 contacts or companies in one call.entity_type, idsread-only
batch_get_activityRecent events for up to 25 contacts in one call.contact_idsread-only
aggregate_dataServer-side group-by on contacts/companies/events. 50+ dimensions.entity, group_byread-only

aggregate_data is the right tool for any “by X, count Y” question. Always prefer it over paginating list tools.

ToolDescriptionKey paramsAnnotations
review_pending_actionsConsolidated view of pending actions grouped by agent and run.read-only

This is the queue view a human (or Claude) walks through when approving agent output. Filter by agent_id, contact_id, or type to focus the review.

The Pathbound MCP server is built on the @modelcontextprotocol/sdk. The same tool list above is exposed via the standard tools/list method — any compliant MCP client can connect via OAuth and call them. See the MCP authentication flow for the OAuth handshake.

For the source of truth on each tool’s parameter schema and behaviour, see packages/mcp/src/tools.ts in the Pathbound repo.