Skip to main content
Glama

Find people on X asking for what the brand sells

find_reply_leads

Search recent public X posts (last 7 days) for people who need what this brand sells, and save the real ones as reply leads, each with a drafted reply in the account's voice. NOTHING is posted: show the user each lead and its draft, and call approve_reply_lead only for the ones they approve. connection_id is the X account to search and later reply from (list_social_accounts). Leave queries out and our AI writes the search phrases from the brand; pass looking_for to steer it ("people asking for a website builder"), or queries to run exact X search phrases. Each search costs the workspace X read credits, so run it when the user asks, not repeatedly. No Creative Credits.

Input Schema

NameRequiredDescriptionDefault
queriesNoExact X search phrases to run instead of writing them. At most 5.
brand_idYesBrand workspace id from list_brands
user_goalNoOptional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details.
persona_idNoWrite the drafts as this publishing profile (list_publishing_profiles). Default: the profile the account belongs to, else the brand.
looking_forNoWhat kind of people to find, in the user's words.
connection_idYesThe X account (connection_id from list_social_accounts).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / user_goal
      Added value: +{
      +  "description": "Optional: the user's goal behind this call, in one short sentence of plain words (e.g. \"add a page so customers can book tables\"). No names, emails or other personal details.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only flag it as a non-read-only, open-world, non-idempotent call; the description supplies the missing consequence detail: what is written (reply leads plus drafts), that no post is published, that each run consumes workspace X read credits (but no Creative Credits), and that execution is gated on user approval. That is meaningful context beyond the structured hints and is consistent with readOnlyHint=false.

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 the action and the scope, then the safety/approval constraint, then parameter guidance and cost. Every sentence carries information, though the middle is dense with backticked identifiers and multiple ideas packed into one paragraph, which slightly slows scanning.

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 6-param, non-idempotent, open-world write with no output schema, the description covers side effects, approval flow, cost, and parameter selection. It does not say what comes back when nothing is found, the shape/count of the saved leads, or whether repeated runs create duplicates — the one real gap for a non-idempotent tool.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds value the schema does not: the mutual-exclusivity/precedence rule between `looking_for` and `queries` ('leave queries out and our AI writes the search phrases'), and that `connection_id` is the account later used to reply, not merely a search target. `user_goal` and `persona_id` semantics remain schema-only.

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?

Specific verb+resource+scope: search recent public X posts (last 7 days) for prospects and save them as reply leads with drafted replies. It also distinguishes itself from list_reply_leads and approve_reply_lead by describing the creation step and the approval hand-off, so an agent can tell the three apart without opening a schema.

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

Usage Guidelines5/5

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

States when to run it ('when the user asks, not repeatedly') and when not to act ('NOTHING is posted'), and routes the follow-up explicitly: 'call approve_reply_lead only for the ones they approve.' It also disambiguates the two search modes (AI-written queries vs. exact `queries`) and tells the agent to resolve `connection_id`/`brand_id` via sibling list tools first.

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