Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. The tools target specific resources like API references, examples, overviews, community resources, plugin guides, templates, and search, making it easy for an agent to select the right tool without confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes, such as get_api_reference, get_backstage_examples, and search_backstage_knowledge. This predictable naming scheme enhances readability and usability.

    Tool Count5/5

    With 7 tools, the server is well-scoped for its purpose of providing Backstage knowledge and development resources. Each tool earns its place by covering distinct aspects like documentation, examples, guides, and search, without being overly sparse or bloated.

    Completeness5/5

    The tool surface is complete for the domain of Backstage information retrieval, covering CRUD-like operations (get/search) across all key areas: API, examples, overview, community, plugin development, templates, and search. There are no obvious gaps that would cause agent failures.

  • Average 2.9/5 across 7 of 7 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves API references but doesn't describe behavioral traits like whether it's a read-only operation, if it requires authentication, rate limits, or what the output format looks like (e.g., structured data or documentation text). This is a significant gap for a tool with no annotation coverage.

    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, efficient sentence that front-loads the core purpose without unnecessary details. Every word contributes to understanding the tool's function, making it appropriately sized and well-structured.

    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 complexity of retrieving API references and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., documentation text, structured endpoints), how to handle the optional parameter, or any prerequisites. For a tool with no structured output and behavioral gaps, this is inadequate.

    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 has 100% description coverage, with the parameter 'api' fully documented including its optional nature and enum values. The description adds no additional parameter semantics beyond what the schema provides, such as default behavior when no API is specified or details on the retrieved content. Baseline 3 is appropriate as the schema does the heavy lifting.

    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's purpose: 'Get Backstage API reference including REST endpoints, GraphQL, and client libraries.' It specifies the verb 'Get' and the resource 'Backstage API reference' with scope details. However, it doesn't explicitly differentiate from sibling tools like 'get_backstage_overview' or 'get_plugin_development_guide,' which might also provide API-related information.

    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. It doesn't mention sibling tools or contexts where this tool is preferred, such as for detailed API specifications versus high-level overviews or examples. This leaves the agent without explicit usage instructions.

    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 states what the tool does but lacks details on permissions, rate limits, response format, or any side effects. For a tool with no annotations, this is a significant gap in transparency.

    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, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

    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 no annotations and no output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., format of examples), behavioral traits, or usage context. For a tool with 2 parameters and no structured support, more detail is needed to be fully helpful.

    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 schema already documents both parameters with descriptions and an enum. The description adds no additional meaning beyond implying retrieval of examples, which is covered by the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 ('Get') and resource ('code examples and samples for common Backstage development scenarios'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_plugin_development_guide' or 'search_backstage_knowledge', which might also provide code-related content, so it misses full sibling distinction.

    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. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'get_api_reference' or 'search_backstage_knowledge', leaving the agent without context for selection.

    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 states the tool retrieves an overview but doesn't cover aspects like whether it's read-only, requires authentication, has rate limits, or what the return format is. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

    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, efficient sentence that front-loads the core purpose. It avoids unnecessary words and directly states what the tool does. However, it could be slightly more structured by explicitly mentioning the optional parameter or output details, though this is minor.

    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 low complexity (one optional parameter, no output schema, no annotations), the description is minimally adequate. It covers the purpose but lacks details on behavior, usage context, and output format. For a simple read operation, this is acceptable but not comprehensive, aligning with a baseline score.

    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 has 100% description coverage, with one optional parameter 'section' fully documented via enum values. The description adds no additional parameter semantics beyond what the schema provides, such as default behavior if no section is specified. Baseline 3 is appropriate since the schema does the heavy lifting.

    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's purpose: 'Get comprehensive overview of Backstage framework including core features, benefits, and architecture.' It specifies the verb ('Get') and resource ('overview of Backstage framework') with scope details. However, it doesn't explicitly differentiate from sibling tools like 'get_api_reference' or 'search_backstage_knowledge,' which prevents a perfect score.

    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. It doesn't mention sibling tools like 'get_backstage_examples' or 'search_backstage_knowledge,' nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context for selection.

    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 states what the tool does ('Get') without detailing aspects like whether it's read-only, requires authentication, has rate limits, or what the output format might be. This is a significant gap for a tool with no structured behavioral hints.

    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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized, making it easy to parse quickly, with every part contributing essential information.

    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 is incomplete. It doesn't address behavioral traits, output details, or usage context, which are crucial for an agent to effectively invoke this tool. The schema covers parameters well, but overall context is insufficient for a tool with no other structured guidance.

    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 has 100% description coverage, with a well-documented optional 'category' parameter including an enum. The description doesn't add any parameter-specific information beyond what the schema provides, such as examples or usage tips, but the schema's completeness justifies the baseline score of 3.

    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's purpose with specific verbs ('Get') and resources ('community resources, support channels, and common questions about Backstage'), making it easy to understand what it retrieves. However, it doesn't explicitly differentiate from sibling tools like 'search_backstage_knowledge' or 'get_backstage_overview', which might have overlapping scopes.

    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. It doesn't mention any prerequisites, exclusions, or comparisons to sibling tools such as 'search_backstage_knowledge' for more specific queries or 'get_backstage_overview' for general information, leaving the agent without 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 are provided, so the description carries the full burden of behavioral disclosure. It states 'Generate' implies a creation or output operation, but doesn't specify what is generated (e.g., files, code structure), whether it's read-only or modifies anything, or any side effects like overwriting existing files. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

    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, efficient sentence that front-loads the core action and resource without any wasted words. It's appropriately sized for the tool's complexity, making it easy to parse quickly while conveying the essential 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?

    Given no annotations and no output schema, the description is incomplete for a tool that generates something. It doesn't explain what the output is (e.g., a file, directory structure, or code snippets), any dependencies, or error conditions. For a 3-parameter tool with no structured behavioral data, the description should provide more context about the generation process and results.

    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 schema already documents all parameters (pluginType, pluginName, features) with descriptions and enums. The description adds minimal value beyond the schema by mentioning 'specified configuration', which loosely maps to the parameters but doesn't provide additional syntax or usage details. Baseline 3 is appropriate as the schema handles most of the parameter documentation.

    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 action ('Generate') and resource ('plugin scaffold template'), specifying it's for a template with configuration. It distinguishes from siblings like 'get_plugin_development_guide' by focusing on scaffold generation rather than guidance. However, it doesn't explicitly differentiate from all siblings, such as 'get_backstage_examples', which might also involve templates.

    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. It doesn't mention prerequisites, such as needing a plugin development environment, or contrast with siblings like 'get_plugin_development_guide' for learning versus this tool for creation. Usage is implied only by the action 'Generate', with no explicit context 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 full burden. It mentions 'search across all Backstage knowledge' but doesn't disclose behavioral traits like whether results are paginated, sorted, or filtered; what format the output takes; or any rate limits or authentication requirements. For a search tool with zero annotation coverage, this is a significant gap in transparency.

    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, efficient sentence that front-loads the core purpose ('Search across all Backstage knowledge') and adds necessary detail ('for specific topics or keywords'). There is zero waste, and every word earns its place, 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.

    Completeness2/5

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

    Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of results, summaries, links), how results are structured, or any limitations (e.g., search scope, performance). For a tool that likely returns varied data, this lack of context is inadequate.

    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 description coverage is 100%, with the single parameter 'query' documented as 'Search query for finding relevant information'. The description adds minimal value beyond this, mentioning 'specific topics or keywords' which loosely aligns with the schema but doesn't provide additional syntax, format, or examples. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 action ('Search') and target resource ('all Backstage knowledge'), specifying scope and method. It distinguishes from siblings like 'get_api_reference' by emphasizing broad search rather than retrieving specific pre-defined resources. However, it doesn't explicitly contrast with all siblings (e.g., 'get_backstage_examples' might also involve searching).

    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. It doesn't mention when to prefer this over sibling tools like 'get_backstage_overview' for general information or 'get_plugin_development_guide' for specific topics. There are no exclusions or prerequisites stated, 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?

    With no annotations provided, the description carries full burden but offers minimal behavioral information. It states what content is retrieved but doesn't describe format (HTML, markdown, structured data), size limitations, authentication requirements, or error conditions. For a retrieval tool with zero annotation coverage, this leaves significant behavioral gaps.

    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, efficient sentence that communicates the core purpose and scope without wasted words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.

    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 single-parameter retrieval tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It covers what content is retrieved but lacks information about format, structure, or behavioral characteristics. The description meets basic requirements but doesn't compensate for the lack of structured metadata.

    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% with the single parameter 'topic' fully documented including enum values. The description adds no parameter-specific information beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting, though the description could have explained how the optional parameter affects results.

    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's purpose: 'Get detailed guide for developing Backstage plugins' with specific content areas (setup, structure, best practices). It distinguishes from siblings like 'get_api_reference' or 'get_backstage_overview' by focusing specifically on plugin development guidance. However, it doesn't explicitly contrast with 'get_plugin_scaffold_template' which might overlap.

    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 about when to use this tool versus alternatives. The description doesn't mention when to choose this over 'get_backstage_examples', 'search_backstage_knowledge', or other siblings. There's no context about prerequisites, timing, or exclusion criteria.

    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 MCP server

Copy to your README.md:

Score Badge

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/PawelWaj/MCP'

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