Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation3/5

    Most tools have clear roles, but discover_tools and plan_capabilities_for_goal both address goal-driven tool selection, which could cause misselection. test_composition adds another layer of ambiguity about how it relates to discover_tools.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern (e.g., discover_tools, ingest_repo, invoke_planned_tool). The naming convention is uniform and predictable.

    Tool Count5/5

    8 tools is well within the ideal 3-15 range, covering distinct stages of the discovery workflow without excess. Each tool appears to serve a necessary function.

    Completeness4/5

    The set covers discovery, ingestion, planning, invocation, and stats, forming a cohesive workflow. However, it lacks explicit management of registered candidates beyond Azure DevOps scanning, which could be a minor gap.

  • Average 3.6/5 across 8 of 8 tools scored.

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

    • No community issues in the last 6 months
    • 0 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 MIT License.

  • 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 provided, the description carries full responsibility for behavioral disclosure. It does not mention whether the operation is read-only, what results look like, whether it handles multiple repositories, rate limits, or required authentication scopes. The user must infer behavior from the verb 'Scan.'

    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 a single sentence with no wasted words. It is front-loaded with the primary action and resource, making it easy to parse.

    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?

    Given the lack of annotations and output schema, the description should explain what the tool returns or the structure of the metadata extracted. It also does not clarify the optional 'project' parameter's effect on the scan. For an organization-wide scan tool, this is a significant gap.

    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?

    Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema: it clarifies that 'organization' is a URL and that 'pat' is for authentication, but these are already present in the schema descriptions. No additional parameter semantics 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 a specific verb ('Scan'), a specific resource ('Azure DevOps organization'), a scoping detail ('repositories with wikis'), and an outcome ('extract tool metadata from front matter'). This distinguishes it from sibling tools like discover_tools or ingest_repo by focusing on Azure DevOps wiki scanning and metadata extraction.

    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, no prerequisites (e.g., required PAT scopes), and no exclusions. The description simply states what the tool does without contextualizing it against sibling tools.

    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 the full burden of behavioral disclosure. It does not mention potential side effects, permissions, or whether the operation is read-only, leaving the agent without clear safety expectations beyond the tool name.

    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 a single, concise sentence that directly conveys the purpose without any unnecessary words or repetition. It is optimally structured for quick comprehension.

    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 such a simple no-parameter tool, the description is largely sufficient. It clearly indicates what is listed, though it does not describe the return format or any ordering, which could be useful but not critical for a straightforward listing 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?

    This tool takes zero parameters, so there is no parameter information to add beyond the schema. The score reflects the baseline for tools with no parameters, as the description does not need to clarify parameter usage.

    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 verb 'List' and the resource 'registered tool candidates', making the purpose evident. It does not explicitly differentiate from sibling tools like discover_tools, so it lacks full sibling discrimination, but the phrasing 'available for discovery' hints at a passive listing role.

    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?

    The description provides no guidance on when to use this tool versus alternatives such as discover_tools. It simply states what the tool does without context, prerequisites, or exclusions.

    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 of behavioral disclosure. It only describes the basic action and purpose but does not mention side effects (e.g., whether it clones, updates, or modifies the graph), idempotency, or return values. This is a minimal description for a mutation-like operation.

    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 a single, front-loaded sentence with no redundant phrases. It efficiently communicates the core action and purpose.

    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?

    The tool is simple (2 required params, no output schema), but as an ingest operation it likely has side effects on the code graph. The description does not explain what the tool returns, any prerequisites (e.g., repository accessibility), or the impact on existing data, leaving context incomplete.

    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 input schema covers 100% of parameters with clear descriptions for repoUrl and repoName. The tool description adds no additional parameter-specific meaning, so the baseline score of 3 is appropriate.

    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 action ('Ingest') and the resource ('a repository into the code graph'), with a specific purpose ('for tool discovery'). It distinguishes from sibling tools like discover_tools and scan_azure_devops by focusing on the ingestion action.

    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 phrase 'for tool discovery' implies a use case, but no explicit guidance is given on when to choose this tool over alternatives like discover_tools or scan_azure_devops. There are no exclusions or alternative recommendations.

    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 the full burden of disclosing behavior. It mentions 'using proxy implementations,' which signals the tool does not execute real integrations, but it does not disclose whether the operation is read-only, what side effects occur, what the output looks like, or any error behavior. This is insufficient for a testing tool.

    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 a single, tightly worded sentence that immediately conveys the tool's purpose. It includes essential qualifiers (composition, discovery goal, proxy implementations) without any fluff or repetition.

    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?

    The tool has a nested object parameter and no output schema, yet the description does not explain the return value, how results are reported, or any assumptions about the test environment. It leaves significant gaps for an agent trying to understand what happens after invocation.

    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 input schema already provides descriptions for both parameters (compositionId, inputs), achieving 100% coverage. The description adds no additional meaning beyond what the schema offers, so the baseline score of 3 applies.

    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 action (Test), the object (a tool composition), and the context (against the discovery goal using proxy implementations). This distinguishes it from siblings like invoke_planned_tool or discover_tools by focusing specifically on testing a composition with proxies.

    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 the tool is used for testing a composition, which is helpful, but it does not explicitly state when to use this over alternatives (e.g., before invoking the actual tool) or provide exclusions. It lacks clear context about prerequisites or when not to use it.

    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 is the sole source of behavioral context. 'Get' implies read-only, and adding 'about discovered tools and ingested repositories' clarifies the scope. However, it does not state side effects (if any), whether it triggers a refresh, or the format of the statistics returned. This is minimal but not misleading, scoring at the viable baseline.

    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 a single, front-loaded sentence that states the verb and resource directly. It contains no filler, repetition, or unnecessary detail. Every word contributes to understanding the tool's 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?

    Given the tool's simplicity (zero params, no output schema), the description covers the basic function but lacks details about the return structure or what specific statistics are included. This is adequate for a stats retrieval but leaves some ambiguity about the output shape. It is not as complete as richer descriptions that specify return fields or aggregation level.

    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 tool has zero parameters, so per the rubric the baseline is 4. The description correctly avoids mentioning nonexistent parameters, and no additional parameter information is needed. The empty schema fully covers this dimension.

    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 the specific verb 'Get' and clearly identifies the resource: 'statistics about discovered tools and ingested repositories.' This distinguishes it from sibling tools like discover_tools and ingest_repo, which are action-oriented. The purpose is unambiguous and directly aligned with the tool name.

    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. It does not mention that it should be called after discovery/ingestion, nor does it exclude any specific use cases. The description is purely declarative with no contextual 'when to use' advice.

    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 of behavioral disclosure. It only says 'Execute a planned tool' but does not disclose potential side effects, return values, permission requirements, or whether this is a safe read-only operation. Executing a tool could have arbitrary consequences, and that 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.

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no redundant information. It says exactly what is needed and nothing more, making it highly concise and well-structured.

    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?

    For a tool that executes other tools, the description is minimal. It lacks information about what the execution returns, whether there are side effects, or any caveats. Given there is no output schema or annotations, the description leaves the agent without a full picture. The basic purpose is clear, but the operational context is incomplete.

    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 already provides descriptions for both parameters (100% coverage). The description adds valuable context by explicitly stating that the toolId comes from plan_capabilities_for_goal, linking the parameter to another tool's output. It also clarifies that args are to pass to the planned tool, which is helpful beyond the 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 uses the specific verb 'Execute' and identifies the resource as 'a planned tool returned by plan_capabilities_for_goal', clearly distinguishing it from the planning sibling tool (plan_capabilities_for_goal). It is unambiguous about 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 implicitly states when to use the tool: after plan_capabilities_for_goal has returned a planned tool. This provides a clear usage context and ties the tool to a specific prerequisite. However, it does not explicitly mention alternatives or when not to use this tool, so it is just short of a 5.

    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. It discloses the core behavior (planning and returning tool IDs) but does not state whether the operation is read-only, whether prior discovery is required, or what happens when no tools are found. This is a moderate gap.

    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 a single sentence with a front-loaded verb and resource, conveying purpose and output without any wasted words. It is efficiently structured.

    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 adequately covers the basic purpose and return value, but lacks context about prerequisites (e.g., needing discover_tools first), the meaning of 'code-graph suggestions', and any side effects. With no annotations and no output schema, more detail would be beneficial.

    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?

    Schema descriptions cover all 3 parameters, so the baseline is 3. The description adds context about using discovered resources but does not explain how 'project' or 'preferredTags' influence planning beyond what the schema already states.

    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 the specific verb 'Plan' with the resource 'capabilities' and clearly states the input source ('discovered tools and code-graph suggestions') and output ('planned tool IDs to invoke'). This distinguishes it from siblings like discover_tools and invoke_planned_tool.

    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 a workflow position: planning happens after discovery ('discovered tools') and before invocation ('to invoke'). It does not explicitly exclude alternatives or state 'when not to use', but the sibling tool names and context make the intended usage clear.

    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?

    No annotations are provided, so the description carries the full burden. It discloses the output (tool candidates and compositions) but lacks details on read-only nature, side effects, or return format. This is adequate but not comprehensive.

    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 a single, front-loaded sentence that immediately conveys the tool's purpose with 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?

    The tool has no output schema and moderate complexity, but the description covers the core behavior and return value. It could be improved by specifying the exact structure of candidates/compositions, but it is sufficient for basic usage.

    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?

    Schema description coverage is 100%, so the baseline is 3. The description adds no extra parameter-specific meaning beyond the overall goal-focused purpose.

    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: discovering tools based on a natural language goal. It distinguishes itself from siblings like list_candidates and plan_capabilities_for_goal by focusing on goal-driven discovery.

    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 the usage context: when you have a natural language goal and need to find tools or compositions. It doesn't explicitly mention alternatives or when not to use it, but the intended scenario is clear.

    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

tool-disco MCP server

Copy to your README.md:

Score Badge

tool-disco 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/egoughnour/tool-disco'

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