Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: searching for scenes, checking scene quality, computing indices, and getting statistics. No overlap or ambiguity.

    Naming Consistency4/5

    All tool names use snake_case with a noun_noun or verb_noun pattern (e.g., stac_search, scene_quality). While not all are strictly verb_noun, they are consistent in format and readable.

    Tool Count5/5

    Four tools is appropriate for the domain of satellite imagery analysis, covering the essential workflow from search to statistics without unnecessary bloat.

    Completeness4/5

    The tool set covers the key steps: search, quality check, index computation, and statistics. A minor gap is the lack of scene metadata retrieval, but stac_search likely provides some metadata.

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

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

    • No community issues in the last 6 months
    • 8 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
  • 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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavioral traits, but it only states the basic action. It does not mention performance implications, error handling, data limits, or side effects. For example, it is silent on whether the polygon must be simple, what happens if the scene_id is invalid, or if the tool modifies data.

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

    Conciseness3/5

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

    The description is a single concise sentence of 8 words, which is efficient but overly terse given the tool's complexity. It front-loads the core action, but could add essential parameter details without losing conciseness. It is acceptable but not optimally balanced.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with 4 parameters (2 required), a nested object, and an output schema, the description is too sparse. It does not explain the return structure, the role of the polygon and scene_id, the default index, or the 'all_touched' flag. Although an output schema exists, the description should provide enough context to understand the tool's scope and usage, which it fails to do.

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

    Parameters1/5

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

    The schema has 0% documentation coverage (no descriptions in the schema properties), so the description must compensate. However, it adds no meaning beyond the parameter names: it does not explain what 'polygon' (expected format), 'scene_id' (identifier meaning), 'index_name' (valid values beyond NDVI), or 'all_touched' (behavior) entail. The description fails to provide any 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 clearly states the tool returns zonal index statistics within a WGS84 GeoJSON polygon. The verb 'Return' and resource 'zonal index statistics' are specific, and the scope distinguishes it from siblings like 'scene_quality' (quality metrics) and 'compute_index' (index computation).

    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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, constraints, or when not to use it. The description only states what the tool does, leaving the agent to infer usage context.

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

  • Behavior2/5

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

    No annotations exist, so the description carries the full burden. It mentions 'clear' but does not explain the behavior (e.g., cloud filtering). Missing details on pagination, results format, or any side effects. The output schema exists but is not referenced.

    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?

    Single sentence, 12 words front-loaded with the verb and resource. No extraneous information; every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with 5 parameters (3 required) and an output schema, the description is too brief. It fails to describe parameter roles, return values, or how it pairs with sibling tools. The output schema exists but is not leveraged in the description.

    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%. The description hints at 'area and date range' but does not explicitly map to the 'bbox', 'start_date', 'end_date' parameters. 'Clear' suggests cloud cover but does not explain 'max_cloud_cover'. Format requirements for dates or bounding boxes are omitted.

    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 uses a specific verb 'Find' and resource 'clear Sentinel-2 L2A scenes', and mentions key constraints ('over an area and date range'). It distinguishes from siblings like 'compute_index' by focusing on scene retrieval, though not explicitly.

    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 guidance on when to use this tool versus alternatives like 'scene_quality' or 'compute_index'. No exclusions or context for appropriate usage are provided.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It only mentions 'check' but does not disclose if the tool is read-only, what side effects occur, or what happens if checks fail (e.g., errors or warnings).

    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 a single sentence of 8 words, with no redundant information. It is efficiently front-loaded with the purpose, though it could benefit from additional structure like bullet points or examples.

    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?

    Given the existence of an output schema (not shown), the description does not need to detail return values. However, it lacks information on parameter semantics and behavioral details, making it minimally complete for a two-parameter tool.

    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%, so description must compensate. It mentions 'cloud, nodata, and AOI coverage' but does not explain how the two parameters ('scene_id' and 'bbox') relate to these concepts. No details on format or constraints are provided.

    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 verb 'Check' and specifies the resources: 'scene cloud, nodata, and AOI coverage'. It also provides context ('before index computation'), which distinguishes it from sibling tools like 'compute_index' or 'stac_search'.

    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 description implies this tool is a prerequisite for index computation but does not explicitly state when to use it versus alternatives like 'quick_stats' or 'compute_index'. No exclusions or specific conditions are given.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states the core function without revealing side effects, error handling, or safety properties. The behavior regarding scene quality failure is not addressed.

    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?

    One sentence efficiently conveys the purpose and a key prerequisite. No extraneous information, but slightly more detail on parameters could be included without harming conciseness.

    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?

    Given the presence of an output schema, return values need not be described. The description mentions a prerequisite (scene_quality) and lists index options, but fails to explain bbox and scene_id, leaving the tool incomplete for a 3-parameter tool.

    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 coverage is 0%, but the description adds meaning only for index_name by listing possible indices (NDVI, NDWI, NBR). Bbox and scene_id remain unexplained, leaving significant gaps.

    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 verb 'compute' and the specific resources 'NDVI, NDWI, or NBR', distinguishing it from siblings like scene_quality and stac_search.

    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?

    Explicitly advises checking the scene with scene_quality first, providing clear context for when to use this tool. However, no exclusions or alternatives are mentioned.

    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

eo-mcp MCP server

Copy to your README.md:

Score Badge

eo-mcp 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/ShafHaider007/eo-mcp'

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