Skip to main content
Glama

List pipeline contacts

listPipelineContacts
Read-onlyIdempotent

Lists contacts on the contact pipeline for one or more ICPs, with stages, company, outreach status and reply and meeting counts. pagination.total_contacts is every contact on the selected ICPs: give it for how many contacts there are, and pagination.contacts_by_stage for how many are in each stage, without paging. One call takes up to 20 ICPs; for more, split them and add the totals. company_card_id gives one account's contacts and their own stages. MCP defaults to 25 contacts. Follow pagination.next_cursor for more. REST calls without paging options retain the full board.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "listPipelineContacts"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / query / properties / company_card_id
      Added value: +{
      +  "description": "Only this account's contacts, by its card ID from getPipeline. Every count then covers just them.",
      +  "format": "uuid",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, idempotent, closed-world read, yet the description still adds real value: MCP default page size of 25, cursor-following behavior, the fact that aggregate counts ignore paging, the 20-ICP per-call cap, and that REST calls without paging options return the full board. It does not cover ordering, permissions, or rate limits, but the disclosure beyond annotations is unusually rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and return fields are front-loaded, then pagination caveats follow. Every sentence carries information, though a few phrasings are compressed to the point of awkwardness ('give it for how many contacts there are').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested-query, read-only listing tool with no output schema, the description covers purpose, return fields, pagination shape, and count semantics for all parameter paths. Minor gaps remain (result ordering, behavior when cursor is stale or limit omitted under REST), but an agent could call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite low schema description coverage, the description explains nearly every nested parameter: icp_id accepting one or many (max 20, split and sum beyond), limit's default of 25 with cursor continuation, and company_card_id restricting results and rescoping all counts to that account. That is meaningful semantics an agent could not derive from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Lists contacts on the contact pipeline') plus scope ('for one or more ICPs') and the fields returned (stages, company, outreach status, reply and meeting counts). This distinguishes it in substance from audience/campaign contact listers, though it never names a sibling tool explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operational guidance: use pagination.total_contacts for the overall count and contacts_by_stage for per-stage counts without paging, cap at 20 ICPs per call and split beyond that, and use company_card_id to narrow to a single account. It lacks explicit when-not/alternative-tool routing (e.g., versus listAudienceContacts or listCampaignContacts).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources