example-mcp-server-stdio
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation3/5
The tools have some overlap in mathematical functionality, such as 'calculate', 'advanced_calculate', and 'solve_math_problem', which could cause confusion about which to use for specific tasks. However, descriptions help differentiate them by scope (e.g., basic vs. advanced, interactive vs. batch). The non-math tools like 'demo_progress' and 'maintenance_mode' are clearly distinct, preventing complete ambiguity.
Naming Consistency3/5The naming is mixed with some consistency in verb_noun patterns like 'explain_formula' and 'solve_math_problem', but deviations exist such as 'calculator_assistant' (noun_verb) and 'demo_progress' (verb_noun with a prefix). There's no chaotic naming, but the lack of a uniform convention reduces predictability.
Tool Count4/5With 8 tools, the count is reasonable for a server focused on mathematical calculations and demonstrations. It's slightly over-scoped due to overlapping math tools, but each tool serves a purpose, and the number aligns well with the apparent domain without being excessive or too thin.
Completeness3/5The server covers a range of mathematical operations from basic to advanced, including interactive and batch features, but there are notable gaps such as no clear update or delete operations for stored calculations or data. The inclusion of demo tools like 'maintenance_mode' suggests a focus on functionality rather than full lifecycle coverage, leaving the surface incomplete for broader use cases.
Average 2.9/5 across 8 of 8 tools scored. Lowest: 2/5.
See the Tool Scores section below for per-tool breakdowns.
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.jsonto 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
- Behavior1/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. However, it only states 'Interactive calculator assistance with context-aware help', which is too vague to convey any behavioral traits. It doesn't specify whether this is a read-only or mutative operation, what kind of help is provided (e.g., explanations, calculations, or troubleshooting), or any constraints like rate limits or authentication needs. This lack of detail makes the tool's behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of a single phrase 'Interactive calculator assistance with context-aware help'. It wastes no words, though it could be more informative. However, its brevity is appropriate for a simple tool, and it doesn't include unnecessary details, earning a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given 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 for a tool with 2 parameters and multiple sibling tools. It doesn't explain what the tool returns, how it interacts with the provided parameters, or its role relative to other calculator tools. While the schema covers parameters, the overall context is insufficient for an AI agent to fully understand the tool's function and application.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with parameters 'query' and 'context' clearly documented in the schema itself. The description adds no additional meaning beyond what the schema provides, as it doesn't elaborate on what constitutes a valid 'query' or how 'context' should be used. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Interactive calculator assistance with context-aware help' is vague and tautological, essentially restating the tool name 'calculator_assistant' with minor elaboration. It doesn't specify what the tool actually does (e.g., answer math questions, provide step-by-step solutions, or offer usage tips), nor does it distinguish it from sibling tools like 'calculate', 'solve_ath_problem', or 'explain_formula'. This leaves the purpose unclear beyond a generic calculator-related function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does 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 specific contexts, prerequisites, or exclusions, and fails to differentiate it from sibling tools such as 'calculate' or 'solve_ath_problem'. This absence of usage instructions makes it difficult for an AI agent to select this tool appropriately among the available options.
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 performing 'multiple calculations in a single request' which implies a batch operation, but doesn't disclose behavioral traits like error handling (e.g., if one calculation fails), performance characteristics, rate limits, authentication needs, or what the output looks like. For a tool with no annotations, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence: 'Perform multiple calculations in a single request'. It's front-loaded with the core purpose, has zero waste, and every word earns its place. It's appropriately sized for a simple tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which means return values are documented elsewhere), no annotations, and a simple input schema with one parameter, the description is minimally complete. It states what the tool does but lacks context about when to use it, behavioral details, or how it fits with siblings. For a batch calculation tool with output schema, it's adequate but has clear gaps in guidance and transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 0%, but the description doesn't compensate by explaining the 'calculations' array structure, the meaning of 'a', 'b', 'op', or the enum values. However, since there's only one parameter (calculations array) and the schema is well-defined with properties and enums, the baseline is 3 as the schema does the heavy lifting despite 0% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as 'Perform multiple calculations in a single request', which is clear but vague. It specifies the verb 'perform' and resource 'calculations', but doesn't distinguish it from siblings like 'calculate' or 'advanced_calculate' beyond the batch aspect. The purpose is understandable but lacks specificity about what types of calculations or how it differs from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 batch_calculate over calculate, advanced_calculate, or other sibling tools. There's no context about use cases, prerequisites, or exclusions. The agent must infer usage from the name alone.
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. 'Perform a basic arithmetic calculation' implies a read-only operation but doesn't specify if it's stateless, has side effects, requires permissions, or handles errors. It mentions nothing about the 'stream' parameter's behavior (progress notifications), rate limits, or output format, leaving significant gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Perform a basic arithmetic calculation'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool. Every part of the sentence earns its place by conveying the essential action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (basic arithmetic) and the presence of a rich input schema (100% coverage) and output schema, the description is minimally adequate. However, with no annotations and multiple sibling tools, it fails to provide context on differentiation or behavioral details like error handling. The description covers the 'what' but lacks the 'when' and 'how' needed for full completeness in this environment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for all parameters (e.g., 'First operand', 'Operation to perform', 'If true, emit progress notifications'). The description adds no additional meaning beyond what the schema provides, as it doesn't explain parameter interactions, constraints, or examples. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a basic arithmetic calculation' clearly states the tool's purpose with a specific verb ('perform') and resource ('arithmetic calculation'). However, it doesn't distinguish this from sibling tools like 'advanced_calculate', 'batch_calculate', or 'solve_math_problem', leaving the scope of 'basic' ambiguous. The description is functional but lacks differentiation from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 its siblings. With tools like 'advanced_calculate', 'batch_calculate', and 'solve_math_problem' available, there's no indication of what makes this tool 'basic' or when to choose it over others. No context, exclusions, or alternatives are mentioned, leaving usage decisions unclear.
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. While 'explain' and 'interactively' imply a read-only, informative operation, the description doesn't clarify what 'interactively' entails (e.g., step-by-step guidance, visual aids, or user prompts), nor does it mention any limitations like formula complexity, supported notations, or potential errors. This leaves significant gaps in understanding the tool's 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence with no wasted words. It's front-loaded with the core purpose ('explain a mathematical formula') and includes the key behavioral trait ('interactively') efficiently. Every word earns its place, 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/5Given 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 for a tool with two parameters and interactive behavior. It doesn't explain what the output looks like (e.g., text explanation, steps, or visual elements), how 'interactively' manifests, or any constraints on formula input. For a tool that likely involves complex processing, this leaves too much unspecified for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning both parameters ('formula' and 'examples') are fully documented in the schema. The description adds no additional semantic information about these parameters beyond what's in the schema, such as expected formula formats or what types of examples are included. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('explain') and resource ('mathematical formula'), and the adverb 'interactively' adds useful context about the nature of the explanation. However, it doesn't explicitly differentiate this from sibling tools like 'solve_math_problem' or 'calculator_assistant', which likely have overlapping domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With sibling tools like 'solve_math_problem' and 'calculator_assistant' available, there's no indication of whether this tool is for educational purposes, step-by-step breakdowns, or other specific contexts where it would be preferred over those alternatives.
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 mentions 'may request user input', which is useful context about potential interactive behavior. However, it doesn't address important aspects like whether this is a read-only operation, computational limits, error handling, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise - just one sentence that efficiently communicates the core functionality. It's appropriately sized and front-loaded with the main purpose, though the parenthetical about user input could be integrated more smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what kind of output to expect, what mathematical domains are supported, computational limitations, or how the 'may request user input' feature works. The agent would be left guessing about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 thoroughly. The description doesn't add any additional meaning about the parameters beyond what's in the schema. The baseline of 3 is appropriate when 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Solve a word problem or mathematical expression' with the additional context 'may request user input'. This specifies both the verb ('solve') and the resource ('math problem'), though it doesn't explicitly differentiate from sibling tools like 'calculate' or 'advanced_calculate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'calculate', 'advanced_calculate', or 'explain_formula'. The description only states what the tool does, not when it's appropriate or what distinguishes it from similar tools in the server.
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. While it mentions the types of operations, it doesn't describe important behavioral aspects: error handling (e.g., for invalid inputs like negative factorial), computational limits, whether operations are exact or approximate, or what the output format looks like. The description is purely functional without behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that efficiently lists all supported operations. Every word earns its place by specifying the tool's scope. The front-loaded structure immediately communicates the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (per context signals), the description doesn't need to explain return values. However, for a mathematical tool with 4 parameters and no annotations, the description should ideally provide more context about operation specifics, constraints, or examples. The description is minimally adequate but leaves gaps in understanding the tool's full behavior and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 75% schema description coverage (3 of 4 parameters have descriptions), the schema already documents most parameters well. The description adds minimal value beyond the schema - it lists the operation types (which the enum already shows) but doesn't explain parameter relationships (e.g., that 'k' is only needed for combinations/permutations, or that 'base' is optional for log). Baseline 3 is appropriate given the good schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Perform advanced mathematical operations' with specific examples (factorial, log, combinations, permutations). This distinguishes it from simpler calculation tools like 'calculate' or 'batch_calculate' by specifying 'advanced' operations. However, it doesn't explicitly differentiate from 'solve_math_problem' which might also handle similar operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With sibling tools like 'calculate', 'batch_calculate', 'solve_math_problem', and 'calculator_assistant', there's no indication of when this 'advanced' tool is preferred over those other mathematical tools. The description only lists operations without context about appropriate use cases.
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 mentions 'progress notifications' and '5 updates', implying a sequence of updates, but doesn't specify whether this is a read-only demonstration, if it modifies any state, what triggers the updates, or any rate limits or side effects. For a 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Demonstrate progress notifications with 5 updates'. It is front-loaded with the core purpose and includes a specific detail (5 updates) without any redundant or verbose language. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, output schema exists), the description is minimally adequate. It states what the tool does but lacks context on usage, behavior, or output. The output schema likely covers return values, so the description doesn't need to explain those. However, for a demonstration tool with no annotations, more behavioral context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter information is needed. The description doesn't add any parameter details, which is appropriate here. Baseline is 4 for 0 parameters, as the schema fully covers the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Demonstrate progress notifications with 5 updates'. It specifies the verb ('Demonstrate') and resource ('progress notifications'), and provides a concrete detail about the number of updates. However, it doesn't explicitly differentiate from sibling tools like 'maintenance_mode' or 'advanced_calculate', which could also involve progress or notifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 specific contexts, prerequisites, or exclusions, nor does it refer to sibling tools. The agent must infer usage based solely on the tool name and description, which is insufficient for informed 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 mentions 'simulate' and 'demo only', which hints that this is a non-destructive, mock operation, but it doesn't clarify what 'simulate' entails (e.g., whether it actually affects tool functionality, returns mock data, or has side effects). For a tool with no annotations, this leaves gaps in understanding its real-world impact and safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Simulate enabling or disabling tools for maintenance (demo only)'. It's front-loaded with the core purpose and includes essential context without unnecessary details. 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.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, 100% schema coverage, and an output schema exists), the description is reasonably complete. It covers the purpose and demo context, and with an output schema, it doesn't need to explain return values. However, for a tool with no annotations, it could benefit from more behavioral details (e.g., what 'simulate' means operationally) to be fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter-specific information beyond what the input schema provides. With 100% schema description coverage, the schema already documents 'toolName' and 'enable' parameters clearly, including enum values for 'toolName'. The baseline score of 3 is appropriate as the schema does the heavy lifting, and the description doesn't compensate with additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Simulate enabling or disabling tools for maintenance (demo only)'. It specifies the action ('enabling or disabling') and the target ('tools'), though it doesn't explicitly differentiate from sibling tools like 'demo_progress' that might also be for demos. The mention of 'maintenance' and 'demo only' adds context but doesn't fully distinguish it from other demo-related 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context with 'demo only', suggesting this tool is for testing or demonstration purposes rather than production. However, it doesn't provide explicit guidance on when to use this vs. alternatives like 'demo_progress' or other sibling tools, nor does it specify prerequisites or exclusions. The implied context is helpful but lacks detailed alternatives.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yigitkonur/example-mcp-server-stdio'
If you have feedback or need assistance with the MCP directory API, please join our Discord server