Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation3/5

    Most tools have distinct purposes, but scrape_website, extract_contacts, and hunt_company overlap when the goal is finding contact information from a URL. The descriptions help clarify scope, but an agent could still be uncertain whether to scrape, extract, or run a full company dossier.

    Naming Consistency4/5

    Five of six tools follow a consistent verb_noun pattern in snake_case (scrape_website, extract_contacts, hunt_company, hunt_person, consult_cnpj). hunter_search breaks the pattern by using the agent-noun 'hunter' instead of the verb 'hunt'.

    Tool Count5/5

    Six tools is well-scoped for an OSINT/company-research server. It covers search, scraping, contact extraction, company/person investigation, and official CNPJ lookup without unnecessary bloat or feeling too thin.

    Completeness4/5

    The set covers the core intelligence workflow: search, scrape, extract contacts, investigate companies/people, and consult official records. Minor gaps exist, such as no explicit reverse-lookup or export/verification tool, but the main workflows do not hit dead ends.

  • Average 4/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses meaningful behavior: it cleans the page, extracts readable text, and optionally crawls internal pages such as /contato and /sobre. However, it does not mention limitations like JavaScript-rendered pages, potential blocking, rate limits, or the exact meaning of 'subpáginas de contato'.

    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 description is concise and well-organized with Args and Returns sections. The phrase 'subpáginas de contato' is slightly awkward and could be clearer, but overall it is efficient and front-loaded with the core purpose.

    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?

    The description covers the key parameters and return type well for a two-parameter tool, and the presence of an output schema reduces the need to describe return values. However, it lacks guidance on when to use the tool versus siblings, and the contact-subpage behavior is ambiguous enough that an agent may not know exactly what will be returned.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description fully compensates by explaining both parameters. It gives an example URL format and clearly defines the deep_contacts behavior, including which kind of internal pages are scanned.

    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?

    The description clearly states the tool accesses a website, removes ads/junk, and extracts readable text and contact subpages. It distinguishes the tool from contact-only extraction by emphasizing the text-scraping behavior, but it does not explicitly contrast it with siblings like extract_contacts.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives such as extract_contacts or hunt_company. It explains what the tool does but never states when it should be preferred, when it should not be used, or which sibling covers other cases.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Não há anotações, então a descrição precisa carregar o peso do comportamento. Ela informa que retorna um relatório estruturado e que url/text são opcionais condicionalmente, mas não aborda casos como ambos fornecidos, nenhum fornecido, ou limitações de acesso/rate-limit ao vasculhar a URL.

    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?

    A descrição é organizada, com seções Args/Returns, e a operação principal vem logo no início. O termo 'cirurgicamente' é estilístico e desnecessário, mas não prejudica a clareza nem adiciona ruído relevante.

    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?

    Para uma ferramenta simples de dois parâmetros com output schema presente, a descrição cobre o essencial: o que faz, as entradas e o tipo de retorno. Faltam apenas detalhes de borda como precedência quando url e text são enviados juntos, mas isso não compromete gravemente o uso.

    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?

    Com cobertura de schema em 0%, a descrição compensa bem ao definir cada parâmetro e sua relação de opcionalidade ('url é opcional se text for fornecido' e vice-versa). Isso adiciona significado real ao que o schema não documenta.

    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?

    A descrição usa verbo específico ('Extrai'), recurso claro ('e-mails, telefones, WhatsApp, redes sociais e CNPJs') e fonte ('URL ou texto'), diferenciando-se bem de ferramentas irmãs como scrape_website ou hunt_person.

    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?

    A descrição deixa claro o contexto de uso: fornecer uma URL ou texto bruto para extração de contatos. Porém, não explicita quando não usar a ferramenta nem a compara com alternativas, deixando a decisão principalmente por inferência.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations, the description carries the behavioral transparency burden and does disclose the core behavior: searching an official site and extracting contacts, social media, CNPJ, and partners. However, it does not mention limitations, data reliability, or whether this is purely a read-only web intelligence operation, leaving some behavioral uncertainty.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is tightly organized with a one-line summary followed by Args and Returns sections. Every sentence adds value and the most important information is front-loaded.

    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?

    The description is largely complete for invocation: inputs are explained, returns are summarized, and an output schema exists for a full dossier. The main gap is the lack of guidance around when to choose this tool instead of related siblings, which matters given the tool set.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must compensate, and it does: it explains company_name as company or brand name, and domain_or_url as the official site that speeds up the search when already known. Both parameters receive meaningful semantics beyond the raw 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 gives a specific verb and resource: it states it builds a 360-degree company dossier by searching the official website, extracting contacts, social media, CNPJ, and partners. This clearly distinguishes it from siblings like scrape_website or consult_cnpj, which cover only a single aspect.

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

    Usage Guidelines2/5

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

    No explicit when-to-use or when-not-to-use guidance is provided relative to sibling tools. The only usage hint is that providing domain_or_url speeds up the search, but it never explains when to choose hunt_company over extract_contacts, consult_cnpj, or hunt_person.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations, the description carries the full burden and does reveal that the tool scans public sources and returns a summary of profiles and mentions. It does not, however, disclose limits on result freshness, potential inaccuracies, or any access-related behavior, which would matter for correct interpretation of results.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded: a one-sentence summary leads, followed by concise Args and Returns sections. Every sentence adds useful information, with no filler.

    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?

    Considering the simple two-parameter schema and the presence of an output schema, the description supplies enough to invoke the tool correctly: it states the exact inputs and the shape of the outcome. It stops short of being complete because it offers no guidance on choosing this tool among the five siblings, but that gap is shared with the usage-guidelines dimension.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description must add all parameter meaning, and it does: 'name' is clearly specified as Nome completo da pessoa and 'context' is explained with concrete examples (empresa, cidade, cargo). This fully compensates for the absent schema descriptions.

    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 uses a specific verb ('Investiga') with a clear resource ('presença pública de uma pessoa') and enumerates concrete data sources (LinkedIn, cargos, menções e notícias). This makes the tool's purpose immediately clear and distinguishes it from siblings like hunt_company, which targets organizations.

    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?

    The intended use is implied by the tool's purpose — it should be used for investigating a person's public presence. However, it does not explicitly say when to prefer this over hunt_company, hunter_search, or extract_contacts, and gives no exclusions or alternative conditions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations, the description carries the burden. It conveys that this is a read-only search and describes the Markdown return format, but does not disclose potential rate limits, failure behavior, authentication needs, or region restrictions beyond examples. This is adequate but not rich.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded: one purpose sentence, then Args, then Returns. Every line earns its place with no repetition of schema defaults or generic filler.

    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 3-parameter search tool with an output schema, the description covers purpose, parameter semantics, and return format sufficiently. It lacks explicit exclusions or edge-case guidance, but nothing essential for a basic correct call is missing.

    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 0%, so the description must add parameter meaning. It does: query accepts operators, max_results ranges from 1 to 20, and region includes concrete examples like 'br-pt' and 'wt-wt'. This compensates well for the empty schema descriptions.

    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 states a specific action ('Pesquisa na Web/Google') and output (links, titles, summaries). This clearly distinguishes hunter_search from siblings like scrape_website or extract_contacts, which target different resources.

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

    Usage Guidelines4/5

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

    The description makes the intended context explicit — generic web/Google search — and even documents advanced query operators. It does not explicitly exclude alternatives or say when not to use it, but the sibling tools are clearly different enough that the context is unambiguous.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses the data source (BrasilAPI/Receita Federal) and the returned fields, but does not mention error handling for invalid CNPJs, authentication requirements, rate limits, or any auxiliary behavior. This is adequate for a straightforward read-only lookup but leaves some operational unknowns.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and well-organized with a one-line purpose, an Args section, and a Returns section. Every line contributes essential information, and the key purpose statement is front-loaded. No wasted words.

    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 single-parameter read-only tool, the description covers the essentials: the data source, input format, and the return contents including Razão Social, Sócios (QSA), Capital Social, Endereço, and Contatos. Minor gaps like handling of invalid CNPJs and explicit sibling differentiation are absent, but overall the agent has enough context to call the tool correctly.

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

    Parameters5/5

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

    The input schema provides only the parameter name 'cnpj' with no description (0% schema coverage). The description compensates fully by explaining the accepted format and giving two concrete examples: '00.000.000/0001-91' and '00000000000191'. This is exactly the semantic detail an agent needs.

    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 and resource: 'Consulta dados oficiais de uma empresa brasileira na Receita Federal (BrasilAPI)'. This precisely identifies the tool's function and scope, and inherently distinguishes it from the sibling tools (scrape_website, hunt_person, etc.) which target different tasks.

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

    Usage Guidelines4/5

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

    The description clearly establishes the use case: retrieving official Brazilian company data from a CNPJ. It does not explicitly name alternative tools or exclusion conditions, but the unique CNPJ-focused purpose makes the intended context unmistakable, so an agent can infer when to select this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-hunter MCP server

Copy to your README.md:

Score Badge

mcp-hunter MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rrcodeia/mcp-hunter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server