Agent tools reference

This app exposes an MCP server at /mcp, protected by OAuth. Tools read your CRM data as your signed-in account, so row-level security decides what an agent can see — a token can never widen that.

Scopes

funnel:read · funnel:admin

Rate limit

120 calls/min per user · 300 per client

Audit

HMAC-signed, arguments hashed only

Pipeline summary

pipeline_summaryfunnel:read

Headline lead and deal counts, open pipeline ARR and win rate.

Inputs

  • No arguments.

Output

structuredContent: { leads, deals, openDeals, wonDeals, openArr, wonArr }

Example call

{ "name": "pipeline_summary", "arguments": {} }

Example response

{ "leads": 412, "deals": 96, "openDeals": 51, "wonArr": 1840000 }

List leads

list_leadsfunnel:read

CRM leads visible to you, newest first, with optional filters.

Inputs

  • limit number 1–200Defaults to 25.
  • source stringExact match on lead source.
  • segment stringExact match on segment.
  • region stringExact match on region.

Output

structuredContent: { count, leads[] }

Example call

{ "name": "list_leads", "arguments": { "limit": 10, "source": "outbound" } }

Example response

{ "count": 10, "leads": [ { "company_name": "…", "created_at_ts": "…" } ] }

List deals

list_dealsfunnel:read

CRM deals with ARR, status and stage events.

Inputs

  • limit number 1–200Defaults to 25.
  • status open | won | lostOptional status filter.
  • segment stringExact match on segment.
  • region stringExact match on region.

Output

structuredContent: { count, deals[] }

Example call

{ "name": "list_deals", "arguments": { "status": "open", "limit": 25 } }

Example response

{ "count": 25, "deals": [ { "arr": 42000, "status": "open" } ] }

List funnel stages

list_funnel_stagesfunnel:read

The configured lead and deal stage model, including aliases.

Inputs

  • No arguments.

Output

structuredContent: { lead[], deal[] }

Example call

{ "name": "list_funnel_stages", "arguments": {} }

Example response

{ "lead": [ { "key": "qualified", "label": "Qualified" } ] }

List entry points

list_entry_pointsfunnel:admin

Configured Attio, Apollo and Google lead bot entry points.

Inputs

  • No arguments.

Output

structuredContent: { entryPoints[] }

Example call

{ "name": "list_entry_points", "arguments": {} }

Example response

{ "entryPoints": [ { "id": "attio", "name": "Attio" } ] }

Denials you may see

  • Not authenticated — connect the server with OAuth first.
  • Unsupported scope(s) — the token carries a scope this server does not define; the call is refused rather than downgraded.
  • Requires the "funnel:admin" scope — re-issue the token with that scope.
  • Rate limit reached — retry after the stated number of seconds.

View the agent audit trail