Skip to main content
Glama
mukiwu
by mukiwu

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: analyze_compatibility focuses on API compatibility risks and polyfills, analyze_modernization targets code modernization and library replacement, check_browser_support checks browser support for Web APIs, list_api_categories lists API categories, recommend_api_combination recommends API combinations based on needs, and search_mdn searches MDN documentation. The descriptions clearly differentiate their scopes, eliminating any ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case: analyze_compatibility, analyze_modernization, check_browser_support, list_api_categories, recommend_api_combination, and search_mdn. This uniformity makes the tools predictable and easy to understand, with no deviations in naming style.

    Tool Count5/5

    With 6 tools, the count is well-scoped for a development advisory server focused on Web API analysis and modernization. Each tool serves a specific function within this domain, such as compatibility checks, modernization analysis, and documentation search, ensuring a balanced and efficient toolset without being too sparse or overwhelming.

    Completeness4/5

    The toolset provides comprehensive coverage for Web API analysis, including compatibility checks, modernization advice, browser support, API categorization, combination recommendations, and documentation search. A minor gap exists in lacking direct tools for implementing or testing the recommended changes, but agents can work around this by using the provided information to guide development decisions.

  • Average 3.1/5 across 6 of 6 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 is failing
  • 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 the full burden of behavioral disclosure. It mentions analysis and recommendations but doesn't describe what the tool actually does (e.g., scans code, generates reports, requires internet access) or any behavioral traits like performance impact, error handling, or output format details. This leaves significant gaps in understanding the tool's 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 extremely concise—a single sentence in Chinese that directly states the tool's function without any fluff. It's front-loaded and wastes no words, making it efficient for quick understanding.

    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 tool's complexity (analyzing API compatibility with 3 parameters) and lack of annotations and output schema, the description is insufficient. It doesn't explain what the analysis entails, what the recommendations include, or how results are returned, leaving the agent with incomplete information for effective 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 input schema has 100% description coverage, clearly documenting all three parameters. The description adds no additional semantic context beyond what's in the schema, such as explaining how 'projectPath' is used or what 'browserslistConfig' entails. 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: analyzing API compatibility risks and recommending polyfill solutions for a project. It specifies the verb 'analyze' and the resource 'API compatibility risks,' but doesn't explicitly differentiate from sibling tools like 'analyze_modernization' or 'check_browser_support,' which might have overlapping functionality.

    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 with sibling tools such as 'check_browser_support' or 'recommend_api_combination,' 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions checking compatibility and getting support versions and polyfill recommendations, but lacks details on response format, error handling, rate limits, authentication needs, or whether it's a read-only operation. For a tool with no annotation coverage, 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 in Chinese that front-loads the core purpose and key outputs. Every word earns its place: it specifies the data source (Can I Use database), action (check compatibility), target (Web API), and outputs (support versions and polyfill recommendations). There is no wasted verbiage or redundancy.

    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 tool's complexity (checking browser compatibility with polyfill recommendations), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., structured data on browser support percentages, polyfill links), error conditions, or limitations. For a tool with no structured behavioral data, more descriptive context 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 ('feature' and 'targetBrowsers') with descriptions and defaults. The description adds no additional parameter semantics beyond implying the tool uses the Can I Use database, which is context but not parameter-specific. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.

    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: '使用 Can I Use 資料庫檢查 Web API 的瀏覽器相容性,取得支援版本和 polyfill 建議' (Use Can I Use database to check Web API browser compatibility, get support versions and polyfill recommendations). It specifies the verb ('檢查' - check), resource ('Web API 的瀏覽器相容性' - Web API browser compatibility), and data source ('Can I Use 資料庫'). However, it doesn't explicitly differentiate from sibling tools like 'analyze_compatibility' or 'analyze_modernization', which likely have overlapping functionality.

    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 'analyze_compatibility' or 'search_mdn', nor does it specify prerequisites, exclusions, or typical use cases. The agent must infer usage from the purpose alone, which is insufficient for optimal tool 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. The description states it '推薦最佳的 API 技術組合' (recommends the best API technology combination), which implies a read-only, advisory function without mutations. However, it doesn't disclose key behavioral traits such as whether the recommendations are based on real-time data, require authentication, have rate limits, or what the output format might be (e.g., list of APIs with explanations). 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.

    Conciseness4/5

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

    The description is concise and front-loaded, consisting of a single sentence: '根據自然語言描述的需求,推薦最佳的 API 技術組合' (Based on natural language described requirements, recommend the best API technology combination). It efficiently communicates the core purpose without unnecessary words. However, it could be slightly improved by adding a brief example or more context, but as-is, it's well-structured and to the point.

    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 recommending API combinations and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of APIs, compatibility scores, or implementation steps), nor does it cover behavioral aspects like dependencies or limitations. With no output schema and minimal description, users or AI agents would lack crucial information to understand the tool's full context 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?

    The input schema has 100% description coverage, with clear documentation for all three parameters: 'requirement' (functional requirement description), 'targetBrowsers' (target browser support), and 'performanceRequirements' (performance needs). The description doesn't add any meaning beyond what the schema provides—it only mentions '自然語言描述的需求' (natural language described requirements), which aligns with the 'requirement' parameter but doesn't elaborate on syntax 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.

    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: 'recommend最佳的 API 技術組合' (recommend the best API technology combination) based on natural language requirements. It specifies the verb 'recommend' and the resource 'API technology combination', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'analyze_compatibility' or 'search_mdn', which might have overlapping functionality.

    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 minimal guidance on when to use this tool. It mentions '根據自然語言描述的需求' (based on natural language described requirements), which implies usage for general API recommendation scenarios. However, it doesn't specify when to use this versus alternatives like 'analyze_compatibility' for compatibility checks or 'list_api_categories' for browsing APIs, nor does it mention any exclusions or prerequisites. This lack of explicit context reduces its helpfulness.

    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 what information is retrieved (API info, usage, deprecation, compatibility) but lacks details on behavioral traits like rate limits, authentication needs, response format, or error handling. 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 words. It clearly communicates the tool's function and the types of information retrieved, 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 lack of annotations and output schema, the description is incomplete. It doesn't explain the return values, error conditions, or behavioral constraints, which are crucial for a search tool. While the purpose is clear, the description fails to provide enough context for effective tool 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 schema description coverage is 100%, so the schema already documents all parameters (query, limit, locale) with their descriptions and defaults. The description adds no additional meaning beyond what the schema provides, such as examples of query usage or locale implications, resulting in a 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: searching MDN Web Docs to obtain API information, usage instructions, deprecation status, and browser compatibility. It specifies the resource (MDN Web Docs) and the types of information retrieved, though it doesn't explicitly differentiate from sibling tools like 'analyze_compatibility' or 'check_browser_support'.

    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 other tools might be more appropriate, such as using 'analyze_compatibility' for deeper compatibility analysis or 'list_api_categories' for browsing categories instead of searching.

    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 for behavioral disclosure. It states the action ('列出' - list) and data source ('Can I Use 資料庫' - Can I Use database), but doesn't describe what the return format looks like, whether there are rate limits, authentication requirements, or any 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/5

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

    The description is a single, efficient sentence in Chinese that directly states what the tool does without any unnecessary words. It's appropriately sized for a simple list operation and front-loads the core functionality ('列出所有可用的 Web API 類別' - list all available Web API categories). Every word earns its place.

    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 parameters, no annotations, no output schema), the description is minimally adequate. It explains what the tool does and where data comes from, but doesn't describe the return format or any behavioral constraints. For a read-only list operation, this is acceptable but leaves room for improvement regarding output expectations.

    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 with 100% schema description coverage, so the schema fully documents the absence of inputs. The description appropriately doesn't discuss parameters since none exist, and it adds value by specifying the data source ('Can I Use 資料庫' - Can I Use database) which isn't captured in the schema. This exceeds the baseline expectation for zero-parameter tools.

    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 resource ('Web API 類別' - Web API categories) with specific source ('從 Can I Use 資料庫中' - from Can I Use database). It distinguishes itself from siblings by focusing on listing categories rather than analyzing compatibility or searching documentation. However, it doesn't explicitly differentiate from potential similar 'list' tools that might exist in other contexts.

    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 'search_mdn' for documentation search or 'analyze_compatibility' for compatibility analysis, nor does it specify prerequisites or appropriate contexts for retrieving category lists versus other operations.

    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. While it describes the analysis function and modernization focus, it lacks critical behavioral information: whether this is a read-only analysis or makes changes, what permissions are needed, whether it generates output files, performance characteristics, or error handling. For a tool with 4 parameters and no annotations, this is a significant 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, well-structured sentence that efficiently communicates the tool's purpose, scope, and benefits. Every element earns its place: the analysis action, target code types, modernization focus, specific library examples, and bundle size reduction benefit. No wasted words or redundancy.

    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 tool's complexity (analyzing code for modernization opportunities), lack of annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the analysis output looks like, whether it's a report file or console output, what specific modernization suggestions are provided, or how the tool handles different code patterns. For a code analysis tool with behavioral implications, more context 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 description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions analyzing JavaScript/TypeScript code which aligns with the parameters, but provides no additional syntax, format, or usage details. Baseline 3 is appropriate when schema does the heavy lifting.

    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 purpose with specific verbs ('分析', '找出', '減少') and resources ('JavaScript/TypeScript 程式碼', '第三方函式庫', 'npm bundle'). It explicitly distinguishes from siblings by focusing on modernization opportunities rather than compatibility checking, browser support analysis, or API recommendations mentioned in sibling tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear context about when to use this tool: for analyzing JavaScript/TypeScript code to find modernization opportunities, specifically replacing third-party libraries with native Web APIs. However, it doesn't explicitly state when NOT to use it or mention alternatives among the sibling tools (like analyze_compatibility or check_browser_support), which would be needed for a perfect score.

    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

dev-advisor-mcp MCP server

Copy to your README.md:

Score Badge

dev-advisor-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/mukiwu/dev-advisor-mcp'

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