Skip to main content
Glama

People at a company, by role

people
Idempotent

Use this when the user asks who to contact at a company, for the decision makers there, or for a role at a company ("who runs quality at X"). The people Whimbrel's full company research names at one company, by role: R&D and engineering, quality, regulatory, clinical, supply chain and sourcing, operations and manufacturing, executive, business. Each with title, source, date, a LinkedIn people search, and any published email or phone; work emails are looked up for the top names when none is on record. Also returns the company's published contact routes. With no record on file, this does not start one on its own: it lists the names government records give (SBIR award contacts, people on registry records, ClinicalTrials.gov contacts) and asks first. Pass start_new_record true only after the rep says yes. A record older than a week is shown as stored, with an offer to refresh. Each call is one lookup; a new company record uses one of the plan's records for the month and takes about 5 minutes.

Input Schema

NameRequiredDescriptionDefault
roleNoOptional: one role group to show. Map the rep's words to a key: rd_engineering (R&D and engineering), quality (Quality), regulatory (Regulatory), clinical (Clinical), supply_chain (Supply chain and sourcing), operations (Operations and manufacturing), executive (Executive), business (Business), other (Other). Filters the researched people only.
limitNoMost people to return (default 25).
domainNoOptional: the company's website, for a company Whimbrel does not cover yet. When a reply asks for it, ask the rep and call again with it.
companyYes
start_new_recordNoPass true only after the rep says yes to starting a new company record. Without it, nothing is started or used.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / start_new_record
      Added value: +{
      +  "description": "Pass true only after the rep says yes to starting a new company record. Without it, nothing is started or used.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / domain / description
      Previous value: -"Optional: the company's website, for a company not on Whimbrel's list yet. When a reply asks for it, ask the rep and call again with it."New value: +"Optional: the company's website, for a company Whimbrel does not cover yet. When a reply asks for it, ask the rep and call again with it."
  3. Changed1 schema field changed
    • addedInput schema / properties / domain
      Added value: +{
      +  "description": "Optional: the company's website, for a company not on Whimbrel's list yet. When a reply asks for it, ask the rep and call again with it.",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • changedInput schema / properties / role / description
      Previous value: -"Optional: the function to reach, in plain words (e.g. 'R&D', 'quality', 'sourcing')."New value: +"Optional: one role group to show. Map the rep's words to a key: rd_engineering (R&D and engineering), quality (Quality), regulatory (Regulatory), clinical (Clinical), supply_chain (Supply chain and sourcing), operations (Operations and manufacturing), executive (Executive), business (Business), other (Other). Filters the researched people only."
    • addedInput schema / properties / role / enum
      Added value: +[
      +  "rd_engineering",
      +  "quality",
      +  "regulatory",
      +  "clinical",
      +  "supply_chain",
      +  "operations",
      +  "executive",
      +  "business",
      +  "other"
      +]
  5. Added

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond the annotations: discloses that work emails are looked up externally for top names, that records older than a week are returned as stored with a refresh offer, and that a new record consumes one monthly record and takes ~5 minutes. This coherently explains readOnlyHint=false without contradicting any hint, though the interaction pattern with the rep could be stated slightly more compactly.

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 user-facing trigger before any mechanics, and nearly every sentence carries operative information (roles, record gating, cost, timing). It is long and occasionally convoluted ('The people Whimbrel's full company research names at one company, by role'), which keeps it out of the top band.

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?

With no output schema, the description compensates by enumerating return contents, including the fallback path (SBIR, registry, ClinicalTrials.gov contacts) and the company's published contact routes. Cost, latency, staleness handling, and consent gating are all covered, so an agent has everything needed to call it correctly.

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 80%, so the baseline is 3, but the description adds real meaning: role filters only researched people (not government-record names), start_new_record is gated on explicit rep consent, and domain is a retry signal to ask the rep for a website on uncovered companies. That is more than the schema alone conveys.

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?

States a specific resource (named people at one company) plus concrete return content: title, source, date, LinkedIn people search, published email/phone, and company contact routes. The trigger phrasing ('who to contact at a company', 'who runs quality at X') is specific enough to separate it from generic siblings like company or account.

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?

Opens with an explicit when-to-use trigger, then gives a when-not-to: it will not start a record on its own and instead lists government-record names and asks first. It also names the condition for the alternative path ('Pass start_new_record true only after the rep says yes') and cites the cost of a fresh lookup.

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.