Skip to main content
Glama

dealmachine_post_people_export

Destructive

Export people to CSV. Export matching people as a CSV file. Returns signed download URLs. Limited to 1,000,000 records per export. Pass limit to export only the first N matching records. The request is synchronous — the response is returned once the export is complete (typically up to 30 seconds). Requires user approval and confirmed=true before changes or credit use. Writes are never retried automatically.

Input Schema

NameRequiredDescriptionDefault
bodyYes
confirmedNoSet true only after the user approves this change or credit use.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / body / properties / exclude_lists / anyOf
      Previous value: -[
      -  {
      -    "description": "Query Builder list protocol object. For people, use people_list_ids with numeric list IDs.",
      -    "example": {
      -      "people_list_ids": [
      -        123,
      -        456
      -      ]
      -    }
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Query Builder list protocol object, with numeric list IDs or list UUIDs. people_list_ids matches the people; property_list_ids matches their properties, so a person stays only through a property that is not on an excluded property list.",
      +    "example": {
      +      "people_list_ids": [
      +        123,
      +        456
      +      ]
      +    }
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / body / properties / fields / description
      Previous value: -"Field IDs to include in the export. Omit for the default set. Use person_coordinates to add separate person_latitude and person_longitude columns."New value: +"Field IDs to include in the export. Omit for the default set. Use person_coordinates to add separate person_latitude and person_longitude columns. Add prospect, prospect_source, prospect_added_by, prospect_added_date or prospect_status for the Prospect columns, read from the person on each row: prospect is Yes or No (archived prospects read No), prospect_added_date is the UTC day as YYYY-MM-DD, and the rest are blank when the person is not a prospect; they add no credits."
    • changedInput schema / properties / body / properties / include_lists / anyOf
      Previous value: -[
      -  {
      -    "description": "Query Builder list protocol object. For people, use people_list_ids with numeric list IDs.",
      -    "example": {
      -      "people_list_ids": [
      -        123,
      -        456
      -      ]
      -    }
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Query Builder list protocol object, with numeric list IDs or list UUIDs. people_list_ids matches the people; property_list_ids matches their properties, so a person stays only through a property that is not on an excluded property list.",
      +    "example": {
      +      "people_list_ids": [
      +        123,
      +        456
      +      ]
      +    }
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false; the description adds real value beyond them by disclosing credit consumption, a 1,000,000 record ceiling, synchronous behavior with a typical 30-second ceiling, signed download URLs as the return, and that writes are never retried. It does not explain cost magnitude or what happens on timeout/partial failure, which keeps it below a 5.

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?

Front-loaded with purpose, then limits, latency, and the approval precondition in short scannable sentences. The opening two sentences are near-duplicates ('Export people to CSV' / 'Export matching people as a CSV file'), the only real waste in an otherwise tight description.

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

Completeness3/5

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

For a destructive, credit-consuming, synchronous export with a large nested body schema and no output schema, the description correctly covers the return value (signed URLs) and the approval gate. It is nonetheless incomplete on how to construct a valid request — the locations-or-people_ids requirement, filter discovery via dealmachine_filters, and deduplication behavior are all unaddressed.

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 description coverage is 50% and the schema is deeply nested, so the description must compensate. It clarifies the intent of limit (first N matches) and confirmed (approval gate), but adds nothing about anchor, filters, locations, people_ids, property_match or the list-exclusion protocols — the parameters that most determine a correct call. Only partial compensation.

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?

States a specific verb and resource: 'Export people to CSV' / 'Export matching people as a CSV file'. An agent immediately knows this produces a downloadable CSV of people records. It does not name or distinguish itself from nearby siblings such as dealmachine_property_export or dealmachine_post_lists_list_id_export, so the sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

Provides a usage hint ('Pass limit to export only the first N matching records') and a hard precondition ('Requires user approval and confirmed=true before changes or credit use'), which is genuinely actionable. However there is no guidance on when to choose this over the other export tools, nor on what inputs are required (locations vs people_ids) to make a valid call.

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.