MCP tool reference
Every tool Pact's MCP server exposes — parameters, output, and required scope.
Pact's MCP server (https://api.pact.place/mcp) exposes nine read/run tools.
All reads are consent-filtered; contact PII is BYOK-decrypted per tenant; every
call is audited and cost-attributed.
Read tools
query_accounts
Search CRM accounts (companies). Scope: read:accounts.
search?, industry?, owner?, limit? (1–100, default 25), offset? →
{ items: Account[], returned, total, consent_filtered, limit, offset }.
query_contacts
Search CRM contacts (people); name/email/phone decrypted per tenant.
Scope: read:contacts.
search?, company?, limit?, offset? → { items: Contact[], returned, total, consent_filtered, ... }.
query_deals
Search pipeline deals. Scope: read:deals.
search?, stage_name?, forecast_cat? (Pipeline/Commit/Best Case/Won/Lost),
owner?, limit?, offset? → { items: Deal[], returned, total, consent_filtered, ... }.
query_pipeline_health
Aggregate pipeline metrics. Scope: read:deals.
pipeline_id? → { open_pipeline_value, weighted_pipeline_value, open_deal_count, win_rate, by_stage[], citations[] }.
get_metric_explanation
Explain why a KPI moved, grounded in the records. Incurs AI cost.
Scope: read:deals.
metric, range? (default 30d), value?, previous?, delta_pct?, unit?,
label? → { explanation, confidence, citations[], cost_cents, model }.
ask_workspace
Natural-language question across the workspace. Incurs AI cost.
Scope: read:accounts.
question, conversation_id? → { answer, citations[], ai_powered, conversation_id, consent_filtered, cost_cents }.
read_briefing
A daily briefing for the calling user. Scope: read:accounts.
focus? → { pipeline, recent_deal_activity[], narrative, narrative_citations[], cost_cents }.
Agent tools
list_agents
List the Pact AI agents runnable via fire_agent. Scope: read:workflows.
→ { agents: [{ id, name, description, reads_pii, tier, schedule }] }.
fire_agent
Run a Pact AI agent. Scope: read:workflows.
agent_id, agent_input?, target_type? (account/contact/deal), target_id?
→ { agent, status, output, confidence, citations[], cost_cents, run_id }, or
{ blocked: true, reason: "consent_withdrawn", detail } when the agent reads PII
about a subject who withdrew consent.
Note
The typed clients (TypeScript, Python) wrap each of these as a method that returns the structured output directly — you rarely call them by raw name.