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

  • Disambiguation5/5

    With only one tool, there is no possibility of confusion between tools. The single tool has a clearly defined purpose and inputs, making its function unambiguous.

    Naming Consistency5/5

    The tool name 'extract_document_tables' follows a clear verb_noun pattern and is descriptive. With only one tool, there is no inconsistency to penalize.

    Tool Count2/5

    A single tool is too few for the apparent scope of a server named 'Spec Forge MCP'. The tool, while useful, is narrowly focused and does not justify a server-level presence on its own.

    Completeness1/5

    The server provides only one operation with no surrounding workflow support. There is no way to manage, list, or further process the extracted data, making the surface severely incomplete for any broader purpose.

  • Average 4.2/5 across 1 of 1 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 is passing
  • 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?

    No annotations are provided, so the description must fully disclose behavior. It does state that the tool writes one JSON output file, making the side effect explicit. However, it omits details such as whether existing files are overwritten, whether directories are created, or what happens if no tables are found. The chunking behavior implied by the maxChunkCharacters parameter is also not explained, leaving some ambiguity in the tool's execution.

    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 two sentences long, with no filler. It front-loads the primary action ('Convert...'), then adds source flexibility. Every word contributes to understanding the tool's purpose and capabilities, making it an exemplary concise description.

    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 covers the core purpose, input formats, and output behavior, and an output schema exists to explain return values. It lacks a note about chunking or AI model usage, which is relevant given the maxChunkCharacters parameter. However, for a tool with a clear scope and no siblings, it is largely complete and sufficient for an agent to select and invoke 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?

    The schema already provides descriptions for all four parameters, giving a baseline of 3. The description adds value by explicitly listing the supported document formats (PDF, DOCX, text, markdown, CSV, JSON, HTML), which is more informative than the schema's example of .md and .txt. This enhances understanding of the sourcePath parameter beyond the schema text.

    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 function: converting a document into table data and writing a JSON output file. It enumerates supported input formats and source types, making the purpose specific and unambiguous. There are no sibling tools to conflict with, so the description successfully communicates what the tool does.

    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 provides clear context on when to use the tool: when a document (of supported formats) needs to be converted to tabular JSON. It mentions both local file paths and URLs, giving concrete usage scenarios. Since there are no sibling tools, explicit alternatives are unnecessary, but the description could have hinted at intended use cases or limitations (e.g., not for images).

    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

spec-forge-mcp MCP server

Copy to your README.md:

Score Badge

spec-forge-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/faisalkcmvp/spec-forge-mcp'

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