Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a unique, clearly defined role: starting a scan, checking its status, listing past scans, retrieving reports, and revealing leaked credentials. No two tools overlap in purpose or output.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (scan_target, scan_status, list_scans, get_report, reveal_credentials), using lowercase with underscores throughout. The convention is uniform and predictable.

    Tool Count5/5

    Five tools is well-scoped for a privacy OSINT server. Each tool covers a necessary step in the scanning workflow without redundancy or bloat, making the set feel complete and manageable.

    Completeness5/5

    The tool set covers the full scan lifecycle: initiate, monitor, list history, retrieve general report, and access sensitive credentials. There are no obvious dead ends, and the guidance in descriptions ensures agents can navigate the workflow seamlessly.

  • Average 4.5/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 13 commits 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
  • This repository is licensed under AGPL 3.0.

  • 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

  • Behavior4/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 well: it discloses possible statuses, what happens when done (includes headline result fields and skipped sources due to missing API tokens), and implies it's a read-only status check. It does not mention error/timeout behavior, so not a 5.

    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: the first clause states the core purpose, followed by concise status values and a clear 'when done' detail plus a direct next-step instruction. Every sentence earns its place with no fluff.

    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?

    Given a simple one-parameter tool with no output schema, the description covers the essential behavior: status outcomes, key result fields when complete, skipped sources, and recommended follow-up. It lacks a full return schema and edge-case behavior, but is reasonably complete for the tool's complexity.

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

    Parameters3/5

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

    The schema provides only a bare 'scan_id' string with 0% coverage. The description adds context that scan_id refers to a scan initiated by scan_target, but does not clarify format, required source, or how to obtain it beyond implication. This partially compensates for the schema gap but is not fully descriptive.

    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 clearly states the tool's purpose: 'Check a scan started by scan_target' with specific status outcomes (running, done, error). It distinguishes itself from siblings by focusing on status checking rather than starting (scan_target), listing (list_scans), reporting (get_report), or credential handling (reveal_credentials).

    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?

    It provides clear sequencing context ('Check a scan started by scan_target' and 'Then call get_report(scan_id)'), indicating when to use this tool in a workflow. However, it does not explicitly name alternatives or state when not to use it, so it falls short of full exclusionary guidance.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It discloses that the tool exposes the most sensitive data (plaintext passwords) and sets an explicit invocation gate, a critical behavioral trait. However, it does not discuss authorization, logging, or error behavior, so it is not fully transparent.

    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?

    Three short lines with a clear front-loaded purpose followed by a critical gate note. Every sentence serves to clarify the tool's sensitive nature, with no redundant content.

    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 tool with an output schema, the description provides crucial usage context that helps an agent decide to invoke it. The main gap is the undocumented scan_id, but sibling tools likely provide this identifier. The sensitivity gate is well-covered, making it mostly complete.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain scan_id beyond referencing 'a scan'. The name and context imply scan_id identifies the scan, but no format, source, or validation details are given. The description must compensate for the sparse schema and largely fails to do so.

    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 'Return' and specific resource 'leaked-credentials dossier', clarifying it provides plaintext passwords. It distinguishes from sibling tools by labeling it the explicit gate for the most sensitive output, separating it from get_report or list_scans.

    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?

    Provides explicit when-to-use guidance: only call when the user clearly asked for actual leaked credentials. This implies when not to use it (e.g., if a user only wants a summary) and frames the tool as a gated operation.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden of disclosure. It clearly states that the markdown output omits the leaked-credentials section, which is a significant behavioral trait not inferable from the schema. It also notes the default format and the alternative for credentials. However, it doesn't mention error handling, permissions, or response structure beyond this.

    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?

    Two concise sentences, front-loaded with the core purpose, and every sentence adds critical information. No fluff or repetition.

    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 tool with two parameters and an output schema, the description covers the essential behavior, including format options and the credential removal caveat. It could benefit from a brief note on when to prefer this over scan_status/list_scans, but the output schema and sibling names fill some gaps.

    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?

    The schema provides no descriptions for the parameters (0% coverage). The description adds meaning to fmt by listing valid values 'md' (default) and 'json', and implicitly explains scan_id through the 'scan's report' context. While scan_id is self-explanatory, the fmt clarification is valuable.

    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 clearly states the tool's purpose: returning a scan's report. It distinguishes itself from siblings by focusing on report retrieval, and mentions the fmt parameter for format selection. The verb 'return' and resource 'scan's report' are specific.

    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 implies usage context by explaining the default format and the crucial caveat that leaked credentials are removed from markdown, directing users to reveal_credentials for that data. It doesn't explicitly contrast with scan_status or list_scans, but the purpose alone makes the distinction clear.

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

  • Behavior4/5

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

    With no annotations, the description adequately discloses the tool's output characteristics (newest first, specific fields). It provides transparency about what the tool returns without any hidden side effects.

    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?

    A single sentence that is direct and complete, with no wasted words.

    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?

    The tool is simple, and the description covers its key behavior and output ordering. With an output schema present, the description need not elaborate on return structure.

    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?

    No parameters exist, and the description mentions the output fields, which is sufficient since there is nothing to explain about input semantics.

    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 clearly states the tool lists previously run scans with a specific order (newest first), which distinguishes it from sibling tools like scan_status or get_report that serve different purposes.

    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 it clear this is for retrieving past scans, providing a clear context for when to use it. It does not explicitly exclude other tools, but 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.

  • Behavior5/5

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

    With no annotations provided, the description carries the full behavioral burden. It discloses that the scan runs in the background, takes several minutes, returns immediately with a scan_id, allows only one scan at a time, and that leaked credentials are not in the headline result. This is rich, non-obvious behavior beyond what structured fields could convey.

    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 three tightly written sentences that deliver all essential information without padding. It front-loads the purpose and immediately follows with actionable workflow steps, constraints, and input requirements. Every sentence earns its place.

    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?

    Despite having no output schema and no annotations, the description covers the essential context: the asynchronous nature, the return value (scan_id), the polling workflow, the concurrency limit, input prerequisites, and where to find sensitive data. This is complete for an agent to correctly select and invoke the 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?

    The input schema has 6 optional parameters with no descriptions, and the description compensates for most: it names email, phone, name, city, and state in context, and specifies that at least one of email/phone/name is required, with name working best alongside city/state. However, zip_code is not mentioned at all, leaving a small gap in parameter semantics.

    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 'Start a privacy-OSINT scan,' clearly specifying both the action and the resource. It differentiates itself from sibling tools by mentioning the immediate return of a scan_id and directing users to subsequent tools (scan_status, get_report, reveal_credentials).

    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?

    Explicitly instructs when to use this tool ('Provide at least one of email / phone / name') and what to do next: 'Poll scan_status(scan_id) until it reports "done", then call get_report(scan_id).' It also states the concurrency limitation and points to reveal_credentials for leaked credentials, providing clear alternatives.

    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

eidolon MCP server

Copy to your README.md:

Score Badge

eidolon 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/sudohnim/eidolon'

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