Skip to main content
Glama

Query segment people

query_segment_people
Read-only

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": {
      "group_id": "<group_id>"
    },
    "name": "query_segment_people"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoPage size (default 200).
offsetNoPage offset (default 0).
tag_idNoNarrow to the rows a tag's bar counts; omit for every counted row.
channelNo'linkedin' or 'email' to bound the rows; omit for both.
sendersNoNarrow to the prospects of these teammates (emails from a group's `senders`). Omit for every teammate; an email not in the workspace is dropped, and if none remain the result is empty.
withoutNoWith `tag_id`, list the bar of the people lacking that tag (a several-tag analysis's Without bar) instead.
group_idYesThe segment group to read (from list_segment_groups).
untaggedNoNarrow to the 'No match' row's people (classified as nothing, empty `tags`); takes precedence over `tag_id`.
agent_idsNoScope to people with a prospect in one or more campaigns (agent_tasks ids); omit for all.
on_behalf_ofNoA teammate's email, or an agency client's from list_agency_clients, to run this call in that account: their agents, settings, connected accounts, and credits. Omit it to act on your own account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / on_behalf_of / description
      Previous value: -"An agency client's email, from list_agency_clients, to run this call in that client's account: their agents, settings, connected accounts, and credits. Omit it to act on your own account."New value: +"A teammate's email, or an agency client's from list_agency_clients, to run this call in that account: their agents, settings, connected accounts, and credits. Omit it to act on your own account."
  2. Changed2 schema fields changed
    • changedInput schema / properties / tag_id / description
      Previous value: -"Narrow to the rows a tag's rate counts; omit for every counted row."New value: +"Narrow to the rows a tag's bar counts; omit for every counted row."
    • addedInput schema / properties / without
      Added value: +{
      +  "default": false,
      +  "description": "With `tag_id`, list the bar of the people lacking that tag (a several-tag\nanalysis's Without bar) instead.",
      +  "type": "boolean"
      +}
  3. Changed4 schema fields changed
    • changedInput schema / properties / channel / description
      Previous value: -"'linkedin' or 'email' to read the outcome from; omit for both."New value: +"'linkedin' or 'email' to bound the rows; omit for both."
    • changedInput schema / properties / senders / description
      Previous value: -"Narrow to people reached by these teammates (emails from a group's `senders`), and\nread their outcome from those teammates' prospects only. Omit for every teammate; an\nemail not in the workspace is dropped, and if none remain the result is empty."New value: +"Narrow to the prospects of these teammates (emails from a group's `senders`).\nOmit for every teammate; an email not in the workspace is dropped, and if none remain\nthe result is empty."
    • changedInput schema / properties / tag_id / description
      Previous value: -"Narrow to people carrying this tag; omit for all classified people."New value: +"Narrow to the rows a tag's rate counts; omit for every counted row."
    • changedInput schema / properties / untagged / description
      Previous value: -"Narrow to the 'No match' people (classified as nothing, empty `tags`); takes\nprecedence over `tag_id`. Omit for all classified people."New value: +"Narrow to the 'No match' row's people (classified as nothing, empty `tags`);\ntakes precedence over `tag_id`."
  4. Changed2 schema fields changed
    • changedInput schema / properties / channel / anyOf
      Previous value: -[
      -  {
      -    "description": "The outreach channel a query is bounded to; None means both.",
      -    "enum": [
      -      "linkedin",
      -      "email"
      -    ],
      -    "title": "Channel",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "An outreach channel.",
      +    "enum": [
      +      "linkedin",
      +      "email"
      +    ],
      +    "title": "Channel",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / on_behalf_of
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "An agency client's email, from list_agency_clients, to run this call in that client's account: their agents, settings, connected accounts, and credits. Omit it to act on your own account."
      +}
  5. Changed4 schema fields changed
    • addedInput schema / properties / agent_ids
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "integer"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Scope to people with a prospect in one or more campaigns (agent_tasks ids); omit\nfor all."
      +}
    • addedInput schema / properties / senders
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Narrow to people reached by these teammates (emails from a group's `senders`), and\nread their outcome from those teammates' prospects only. Omit for every teammate; an\nemail not in the workspace is dropped, and if none remain the result is empty."
      +}
    • removedInput schema / properties / task_ids
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "items": {
      -        "type": "integer"
      -      },
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Scope to people with a prospect in one or more campaigns (agent_tasks ids); omit\nfor all."
      -}
    • addedInput schema / properties / untagged
      Added value: +{
      +  "default": false,
      +  "description": "Narrow to the 'No match' people (classified as nothing, empty `tags`); takes\nprecedence over `tag_id`. Omit for all classified people.",
      +  "type": "boolean"
      +}
  6. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond readOnlyHint, the description discloses detailed behavior: one row per counted data point, newest classification first, multi-channel/multi-teammate duplication, exclusion of classified-but-never-contacted people, and the meaning of owner, LinkedIn invite/accepted flags, and reply_text. This is rich behavioral context that directly affects interpretation.

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 description is front-loaded with the relationship to get_segment_rates and is organized into a summary plus detailed return semantics. It is long and dense, but most of that length earns its place given the tool's complex row model and lack of an output schema.

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

Completeness5/5

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

For a 10-parameter read-only analytics drill-down with no output schema, the description is complete: it explains row semantics, ordering, pagination, and all key return fields. An agent has enough information to call it correctly and interpret the response.

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

Parameters3/5

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

Schema coverage is 100% and the parameter descriptions already explain tag_id, channel, senders, without, untagged, agent_ids, and on_behalf_of. The description adds useful conceptual context that filters align with get_segment_rates and that total is pre-pagination, but it does not add substantial per-parameter meaning beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource, framing the tool as the people-level drill-down behind one bar of get_segment_rates. It explains the row grain, including why a person can appear multiple times, which makes its purpose distinct from aggregate segment tools.

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 explicitly ties use to get_segment_rates with the same filters and explains paging via limit/offset. It provides clear context for when to drill into people rather than rates, but does not explicitly state when not to use it or name other alternatives beyond get_segment_rates.

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