Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct role: discovery of servers, discovery of tools, schema retrieval, invocation, and lifecycle management. list_tools and get_tool_schema are layered by detail level rather than overlapping.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern: list_servers, list_tools, get_tool_schema, call_tool, wake_server, sleep_server. The verbs are simple and predictable.

    Tool Count5/5

    Six tools is well-scoped for an MCP hub: discovery, metadata access, invocation, and server lifecycle are each represented without redundancy. No tool feels unnecessary or missing.

    Completeness5/5

    The surface covers the full hub workflow: discover servers, inspect tools and schemas, call tools, and manage on-demand server state. There are no dead ends for normal usage.

  • Average 4.1/5 across 6 of 6 tools scored. Lowest: 3.2/5.

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

    • No community issues in the last 6 months
    • 87 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • Tools from this server were used 4 times in the last 30 days.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • 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. The description does not mention any side effects, permissions, rate limits, error behaviors, or whether the call is read-only or mutating. It only states the requirement for arguments to match the schema, which is more of a usage instruction than a behavioral disclosure.

    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 one short sentence that gets to the point immediately, plus a second sentence with a crucial usage hint. It is front-loaded and every word earns its place, with no fluff.

    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 simplicity of the tool (with a clear connection to get_tool_schema) and high schema coverage, the description is minimally sufficient. However, it lacks detail on error handling, return value format (no output schema), and potential side effects, which could be important for an execution tool.

    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 three parameters. The description adds minimal value by pointing to get_tool_schema for argument matching, but it does not elaborate on the parameters' semantics beyond what the schema provides.

    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: to call a tool on an MCP server. It names the primary action (call) and the resource (tool on a server), and it differentiates itself from siblings by implying it executes rather than lists or manages servers/tools.

    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 gives a clear prerequisite: arguments must match the schema from get_tool_schema. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it or suggest any alternative for related operations.

    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?

    No annotations are provided, so the description carries the full burden. It accurately describes the tool as a 'get' operation without any side effects, which is transparent regarding its read-only nature. It doesn't mention edge cases like error handling for nonexistent tools, but for a simple retrieval tool this is sufficient and honest.

    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 that front-loads the core purpose and adds a brief note on why it's useful (for constructing call_tool arguments). Every word earns its place; there is no fluff or redundancy. It's highly concise and well-structured.

    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 the tool's simplicity—two parameters, no output schema, and no complex behavior—the description is complete. It explains what the tool does and its role in the workflow. It doesn't cover error cases, but those are not essential for a basic schema retrieval tool. The description is sufficiently detailed 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 input schema has 100% description coverage, with both parameters (tool and server) clearly defined. The description adds no additional parameter meaning beyond what's in the schema, so it doesn't degrade the baseline. It's adequate but doesn't exceed expectations.

    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: retrieving the full description and JSON input schema for a specific tool. It uses the specific verb 'get' with the resource 'tool schema' and distinguishes from siblings by specifying it's for one tool, unlike list_tools or list_servers which list multiple.

    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 primary use case: obtaining the schema needed to construct arguments for call_tool. This gives clear context on when to use it (before calling a tool) and implicitly distinguishes from sibling tools like list_tools and list_servers. However, it doesn't explicitly mention exclusion cases or alternatives, so it's not a full 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?

    No annotations are provided, so the description carries the full burden. It does not explicitly state that the operation is read-only or side-effect-free, though the nature of listing tools implies it. The description could be more transparent about safety or permissions.

    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 concise, with two sentences that convey the purpose and a relevant usage hint. No unnecessary words or redundancy.

    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 simple tool, the description is sufficient. It states the action and hints at follow-up steps. The lack of an output schema means the description does not need to explain return values, and the sample parameter description adds context. Slightly more detail on what is included in the list would be beneficial, but it's adequate.

    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 sole parameter 'server' has a description in the schema ('Server name from list_servers'), which already provides clear meaning. The description adds no extra detail but does not need to; the schema coverage is complete.

    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 tools of a specified MCP server, distinguishing it from sibling tools like list_servers and get_tool_schema. The verb 'list' and resource 'tools of one MCP server' are specific and unambiguous.

    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 a usage hint: 'Use get_tool_schema before calling a tool for the first time,' which guides the agent on follow-up actions. However, it does not explicitly mention when to avoid this tool (e.g., when needing server list), though the sibling tools make this somewhat implicit.

    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 behavioral disclosure burden. It clearly states the immediate stop action and the important side effect that the server restarts automatically on the next tool call. It does not detail error conditions or permission requirements, but the key behavior is 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?

    The description is two concise sentences with no unnecessary filler. It front-loads the primary action and then adds the crucial automatic-restart behavior, making it easy to scan.

    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 simple tool with one parameter and no output schema, the description covers the essential behavior and restart semantics. It is complete enough to use effectively, though it could mention what happens if the server is already asleep or whether manual wake is needed.

    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 coverage is 100% and the only parameter is already described as 'Server name from list_servers'. The description adds no extra meaning beyond the schema, 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 states a specific action ('Stop an on-demand server immediately') with a clear resource and distinguishes itself from waiting for idle timeout. It also contrasts with the sibling wake_server by explaining the automatic restart behavior.

    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 gives clear context: use this when you want to stop an on-demand server immediately rather than waiting for its idle timeout. It does not explicitly list exclusions or name alternative tools, but the usage context is clear and the sibling list helps disambiguate.

    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?

    Since no annotations are provided, the description must carry transparency. It explains the main effect (starting the server) and the no-op condition, but does not mention side effects like latency, cost, or failure behavior. For a wake operation, this is reasonably 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?

    The description is one concise sentence with no fluff. It delivers the core action and the no-op clause efficiently. Perfectly sized for a tool 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?

    Given no output schema, the description adequately covers the purpose, the trigger condition, and the no-op behavior. It does not mention prerequisites like server existence, but that is likely obvious from the parameter description. Overall, complete enough for typical use.

    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 already describes the parameter as 'Server name from list_servers', which is clear. The description adds no additional semantics about the parameter, so baseline 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 (start a server) and the intent (make the first tool call fast). It also distinguishes from the sibling tool by noting the no-op when already running, making it purpose-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 when to use (before calling a tool on a sleeping server) but does not explicitly contrast with alternatives like sleep_server. However, it gives clear guidance that it's safe to call even if running, which is helpful.

    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 provided, the description carries the transparency burden. It discloses the hidden-server behavior and that wake_server/sleep_server still manage hidden servers, adding meaningful behavioral context 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 two sentences, front-loaded with the core purpose and followed by a useful usage note. Every sentence earns its place with no redundancy.

    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 zero-parameter list tool with no output schema, the description provides sufficient context: what is listed, the status aspect, when to call it, and hidden-server nuances. It does not enumerate possible status values, but that is a minor gap.

    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 and schema coverage is 100% vacuously, so there are no parameter semantics to clarify. The baseline of 4 applies because no parameter documentation is needed.

    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 and resource: 'List all MCP servers available through this hub, with their status.' This clearly distinguishes it from sibling tools like list_tools, which lists tools rather than servers.

    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 explicit usage guidance: 'Call this first to see what is available.' It also clarifies how hidden servers behave relative to wake_server/sleep_server, giving context for when this tool is useful.

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

Copy to your README.md:

Score Badge

mcp-hub 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/ni-c/mcp-hub'

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