Skip to main content
Glama

Everything on file about a person

get_dossier
Read-onlyIdempotent

Everything on file about one person, in sections: what they have done, who they work with, how they are spoken about, what they have written or said in public, and what has been in the news about them lately. Broader than a short brief and not written for any one purpose — this is the file, not the verdict. Use it for "tell me everything about her", "what am I walking into with this person", "is this creator worth working with", "background on him before the call". If you only need an email, ask for their contact details instead — that is far cheaper. If a short written assessment is what you want, ask for a brief. If the name matches more than one person you get the candidates and nothing is charged; nothing is charged when nobody matches.Costs 30 credits the first time, and nothing at all if you have looked this person up before. If you name a company MentionFox holds a record for, the answer starts with the MentionFox check on it: red flags found, in how many sources, with a link to the full findings. Plans and credits: https://mentionfox.com/pricing

Input Schema

NameRequiredDescriptionDefault
nameNoThe full name of the person, for example "Jane Doe". Give either name or person_id.
formatNosummary: the most useful sections only. full: every section that has something in it.summary
companyNoOptional. Where they work, so a common name finds the right person, for example "Acme".
refreshNoSet true only to build the file again from scratch instead of returning the one already on file; that is charged again.
person_idNoThe id of one person from the candidate list an earlier call returned, when the name matched several people. Give either name or person_id.

Output Schema

NameRequiredDescriptionDefault
nameNoThe person.
depthNoHow full the file is.
errorNoPresent when the call could not do the work; says why and that nothing was charged where that is so.
titleNoTheir current role.
formatNosummary or full, as asked.
statusNo"needs_disambiguation" when the name matched more than one person; pick one and call again with its person_id.
companyNoWhere they work now.
messageNoA plain note about the answer, for example why candidates were returned instead of a result.
photo_urlNoA link to their photo.
share_urlNoA link to the file you can share.
candidatesNoPeople or companies the name could mean, each with an id and enough to tell them apart. Nothing is charged for this list.
word_countNoLength of the file in words.
enriched_atNoWhen the file was last built (ISO date and time).
pricing_noteNoWhat this call cost and what a repeat costs.
credits_chargedNoCredits this call took. 0 when nothing was charged.
markdown_contentNoThe file, as text with headings.
mentionfox_checkNoPresent when the call named a company MentionFox holds a record for: MentionFox's own check on it (the sentence, red flags and notes with their source links, how many sources) and a link to the full findings.
retry_with_paramNoThe input to send on the next call with the chosen candidate.
person_profile_idNoThe id of this person's file; pass it to export_report to make a sendable copy.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / mentionfox_check
      Added value: +{
      +  "description": "Present when the call named a company MentionFox holds a record for: MentionFox's own check on it (the sentence, red flags and notes with their source links, how many sources) and a link to the full findings."
      +}
  2. Changed6 schema fields changed
    • changedInput schema / properties / company / description
      Previous value: -"Company name — disambiguation hint when name is ambiguous."New value: +"Optional. Where they work, so a common name finds the right person, for example \"Acme\"."
    • changedInput schema / properties / format / description
      Previous value: -"summary = the most actionable subset; full = every populated section"New value: +"summary: the most useful sections only. full: every section that has something in it."
    • changedInput schema / properties / name / description
      Previous value: -"Natural-language person name. Provide either name or person_id."New value: +"The full name of the person, for example \"Jane Doe\". Give either name or person_id."
    • changedInput schema / properties / person_id / description
      Previous value: -"UUID lock-in after disambiguation. Provide either name or person_id."New value: +"The id of one person from the candidate list an earlier call returned, when the name matched several people. Give either name or person_id."
    • changedInput schema / properties / refresh / description
      Previous value: -"Force a fresh enrichment instead of reading cache (charges 30 cr)."New value: +"Set true only to build the file again from scratch instead of returning the one already on file; that is charged again."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "candidates": {
      +      "description": "People or companies the name could mean, each with an id and enough to tell them apart. Nothing is charged for this list.",
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "company": {
      +      "description": "Where they work now.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "credits_charged": {
      +      "description": "Credits this call took. 0 when nothing was charged.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "depth": {
      +      "description": "How full the file is.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "enriched_at": {
      +      "description": "When the file was last built (ISO date and time).",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Present when the call could not do the work; says why and that nothing was charged where that is so.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "format": {
      +      "description": "summary or full, as asked.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "markdown_content": {
      +      "description": "The file, as text with headings.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "description": "A plain note about the answer, for example why candidates were returned instead of a result.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "The person.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "person_profile_id": {
      +      "description": "The id of this person's file; pass it to export_report to make a sendable copy.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "photo_url": {
      +      "description": "A link to their photo.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "pricing_note": {
      +      "description": "What this call cost and what a repeat costs.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "retry_with_param": {
      +      "description": "The input to send on the next call with the chosen candidate.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "share_url": {
      +      "description": "A link to the file you can share.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "description": "\"needs_disambiguation\" when the name matched more than one person; pick one and call again with its person_id.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "title": {
      +      "description": "Their current role.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "word_count": {
      +      "description": "Length of the file in words.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "title": "Everything on file about a person",
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds the parts annotations cannot express: the 30-credit cost, free repeat lookups, no charge on ambiguous or empty name matches, re-charge on refresh, and the prepended MentionFox company check. The cost and ambiguity handling materially change how an agent should plan a call.

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?

Scope and cost are front-loaded, and the routing guidance follows in priority order. It runs long, and the closing pricing URL plus the company-check paragraph are somewhat tangential to the core definition, but nothing is redundant enough to hurt comprehension.

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 multi-parameter, paid, read-only lookup with an output schema available, the description covers scope, cost, ambiguity, refresh semantics, and partial-result behavior. An agent has everything needed to decide and invoke 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 100%, so the baseline is 3; the description earns an extra point by explaining the operational consequence of person_id (from an earlier candidate list) and that refresh rebuilds from scratch and is charged again. The format parameter's summary/full trade-off is left entirely to the schema, which is acceptable given full coverage.

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 names a specific resource ('everything on file about one person') and enumerates its sections, then explicitly scopes it against cheaper alternatives: a brief, contact details. An agent can tell what this returns and what it is not without opening the 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?

It gives concrete trigger phrases ('tell me everything about her', 'background on him before the call') and explicit when-not routing: use contact details if you only need an email, use a brief if you want a short assessment, both flagged as cheaper. That is precisely the when/when-not/alternative structure that leads to correct tool selection.

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