Skip to main content
Glama

Aidenix

person_search

Read-onlyIdempotent

Find people who fit — by role, company and timing — with their contacts. Returns one row per person: name, title, seniority, department, company and its website, LinkedIn, location, the work email at the CURRENT employer, all known work emails, personal emails and phones from professional sources, months in role against their usual tenure, and why they matched. Beyond title and firmographics it filters on timing: started the role in the last N days, alumni of a company who left, in the seat longer than usual, engaged with a company's LinkedIn posts, talks about a topic, writes code in a language, company website runs a technology, fresh funding. Opted-out people are excluded. Each person returned costs one request of the user's quota; an empty page costs nothing — start with a small limit to see the total, then page with next_cursor. This is the way IN from an account or a segment: company_people lists one company's team (admin only), person_signals explains one human, email_intel checks an address you already hold. Emails here are not SMTP-checked — run them through email_intel_bulk before a send. Present the total, then the people with the reason they matched; keep cursors and raw fields for your workflow.

Input Schema

NameRequiredDescriptionDefault
limitNoPeople per page, 1-100. Each person returned costs one request.
cursorNonext_cursor from the previous page, to continue the same search.
filtersYesFilters, combined with AND; values inside one list combine with OR. At least one is required. Who: titles ['vp sales'], levels ['c-level','vp','director','head','manager'], departments ['Sales','Marketing','Engineering and Technical'], decision_makers true, countries ['United States'], states, cities, skills, programming_languages ['Rust'] (from GitHub). Where: industries ['Software Development'], company_size_min / company_size_max, company_countries, technologies ['HubSpot'] (on the company website), company_hiring true, funded_since '2025-06', founded_after 2018, domains ['stripe.com'], companies (LinkedIn slugs), exclude_domains. Timing and intent: new_in_role_days 90, past_companies ['salesforce'] (alumni who left), overdue_only true (in the seat 30%+ longer than their usual tenure), likes_posts_of ['hubspot'], engages_with_topics ['revops']. Your own list: profiles ['https://linkedin.com/in/x', 'jane@acme.com'] — up to 100 LinkedIn URLs or work emails per call, returns exactly those people (working or not) with contacts, each row carries the `input` it came from; anyone not in the data is skipped and costs nothing.
only_with_contactsNoSkip people without any email or phone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world, but the description adds genuinely non-obvious behavior: each returned person costs one request against the user's quota, an empty page is free, opted-out people are excluded, and emails are not SMTP-checked. These quota and data-quality disclosures go well beyond what structured fields provide.

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 scope and return fields are front-loaded and nearly every sentence carries actionable information. It is dense — a long run-on paragraph enumerating return fields and filters — but not padded, as the enumeration maps directly to absent 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 complex tool with nested filters, 100% schema coverage, no output schema, and 17 siblings, the description closes every needed gap: what comes back per row, how cost/quota works, pagination mechanics, exclusion of opted-out people, and the email verification caveat. An agent has everything required to call and interpret it.

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 field-level docs already exist; the description still adds meaning by explaining AND-across-filters/OR-within-list semantics, the timing/intent filter concept, and that profiles accepts up to 100 URLs/emails and returns each row tagged with its `input`, skipping unknowns at no cost. This is real added value, though the per-field detail largely mirrors 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 opens with a specific verb+resource ("Find people") and immediately scopes it by role, company, timing, and contacts. It explicitly distinguishes itself from siblings (company_people for one company's team, person_signals for one human, email_intel for an address), so an agent can select it without opening other schemas.

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?

It names alternatives with the exact condition that selects them ("This is the way IN from an account or a segment"), gives pagination strategy (start small to see the total, then page with next_cursor), and adds a downstream sequencing rule (run emails through email_intel_bulk before a send). When-to-use and when-not are both explicit.

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