Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct aspect: server metadata, instructions (with clear get/list/search separation), type lookup, spec sections (get/list/search), and proposals. No overlapping purposes; an agent can easily distinguish them.

    Naming Consistency4/5

    Most tools follow a noun_verb pattern (e.g., instruction_get, type_get, section_list). The exception is spec_version (noun_noun), but it's a single outlier and still readable. Overall pattern is predictable.

    Tool Count5/5

    9 tools is well-scoped for a WebAssembly spec reference server. Each tool provides unique functionality without being too few or too many, covering instructions, types, sections, and proposals.

    Completeness5/5

    The tool set covers the core reference needs: instruction lookup/enumeration/search, type lookup, spec section navigation and search, and proposal listing. There are no obvious gaps for the server's purpose of providing spec information.

  • Average 4.5/5 across 9 of 9 tools scored.

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

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

  • 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

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The annotations indicate readOnlyHint=true, and the description describes a read-only search operation with no contradiction. It adds transparency by explaining the ranking order ('anchor-exact > title > anchor > prose') and that a prose snippet is included for body matches. This provides behavioral detail beyond the annotations.

    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, consisting of two sentences plus a clear follow-up instruction. It is front-loaded with the primary purpose and uses no unnecessary words. Every sentence contributes to understanding the tool's function and usage.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

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

    The tool has 4 parameters and no output schema. The description explains the search scope, ranking, the 'matched_on' field, and suggests a follow-up tool. While it does not detail the exact response structure, it provides sufficient context for an agent to use the tool and interpret results. For a search tool, this is adequately complete.

    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% with all parameters described. The description adds minimal extra semantics: it relates the 'spec' parameter to the index being searched and explains that 'query' matches against multiple fields. However, the schema already documents these details sufficiently, so the description provides marginal added value. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it performs 'Full-text search across the section index of a spec' and enumerates the specific specs (core/js-api/web-api). It explicitly describes what is matched (clause anchors/ids, titles, prose) and distinguishes itself as the entry point when the exact anchor is unknown, with a follow-up suggestion to section_get. This is specific and distinguishes from sibling tools like section_get or instruction_search.

    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 explicitly says 'The entry point when you don't know the exact anchor. ... follow up with section_get,' providing clear usage context and a recommended next step. It also lists the three spec values, guiding selection. However, it does not explicitly state when not to use this tool (e.g., when the exact anchor is known), though that is implied by the guidance.

    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?

    The description aligns with the readOnlyHint annotation and adds value by detailing the source repository and the fields returned per row. No contradictions.

    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, front-loaded with the main purpose, and every sentence provides necessary information without waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    Despite lacking an output schema, the description enumerates the fields in each row, making the return value clear. All filter options are explained, ensuring completeness.

    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% with individual parameter descriptions. The tool description repeats and groups these parameters but does not add substantial new meaning beyond what the schema provides, resulting in a baseline score.

    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 WebAssembly proposals and their phases from a specific repository, with explicit filtering options. This distinguishes it from sibling tools focused on instructions, types, sections, and specs.

    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 on what the tool does and how to filter, but it does not explicitly state when to use this tool versus alternatives. However, the sibling tools are sufficiently distinct in purpose.

    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?

    The description aligns with the `readOnlyHint` annotation by indicating a fetch operation. It adds valuable context about the nature of core validation/execution clauses being SpecTec-generated with terse prose but pointing to formal rules via `formal_refs` and URL. No contradiction with annotations.

    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 adequately concise and front-loaded with the core purpose. It includes useful examples and return information without unnecessary fluff. A minor improvement could be slightly shorter sentences, but overall it is 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 no output schema, the description sufficiently outlines what the tool returns (clause title, cleaned prose, cross-references, formal_refs, rendered URL). It covers the main behavioral expectations and output structure, making it complete for the agent to understand the tool's functionality.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 100% coverage with descriptions for all three parameters. The tool description adds substantial meaning beyond the schema by providing concrete examples of valid `id` values (e.g., `syntax-numtype`, `valid-unreachable`) and explaining that these match stable fragment IDs in the rendered spec.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Fetch' and resource 'spec clause by id or anchor', clearly stating its purpose. It distinguishes itself from sibling tools like `section_list` and `spec_version` by focusing on fetching a single clause by identifier, not listing or searching.

    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 on when to use this tool: to retrieve a specific clause by its id/anchor across different specs (core, js-api, web-api). It implicitly differentiates from siblings like `section_list` by focusing on individual clause retrieval, though it does not explicitly state when not to use it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations provide readOnlyHint=true, and the description adds behavioral context beyond annotations: it details the return components (classification, sibling members, clause prose, SpecTec references, spec URL). This gives the agent a good understanding of what to expect without contradicting the read-only nature.

    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 efficiently packs the core purpose, examples, and return types. Every phrase adds value, and there is 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 tool with 2 parameters, 100% schema coverage, no output schema, and readOnlyHint annotation, the description adequately covers what the tool does and returns. It does not explain error behavior (e.g., if name is not found), but given the simplicity and good schema annotations, this 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?

    Schema description coverage is 100%, so baseline is 3. The description adds value by providing examples of accepted values for the 'name' parameter (e.g., 'i32', 'functype') and noting case-insensitivity, which goes beyond the schema's basic description.

    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 'look up' and clearly identifies the resource as 'WebAssembly type or type form by name'. It lists concrete value types and type forms, and specifies the outputs (classification, sibling members, defining clause prose, SpecTec references, spec URL), distinguishing it from sibling tools that focus on instructions, sections, or proposals.

    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 states when to use the tool (to look up a type or type form) and what it returns. However, it does not explicitly state when not to use it or provide direct comparison with sibling tools such as instruction_get or spec_search. The context signals indicate siblings, but the description lacks 'when not to use' guidance.

    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?

    Annotations already declare readOnlyHint=true. Description adds that it returns lightweight rows for navigation, which is consistent. It does not contradict annotations. The description adds context about the return structure and filtering, but does not mention rate limits or auth requirements.

    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?

    Two sentences that immediately convey the core action and key parameters. No wasted words. The structure is front-loaded with the main purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    Given 6 parameters with full schema coverage, no output schema, the description provides a complete picture: what it does, key filters, and the return structure. It also suggests a follow-up tool, which enhances completeness.

    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?

    Schema coverage is 100% with parameter descriptions. The description adds value by listing specific values for path and spec, and summarizing the filter parameters. This goes beyond the schema's individual descriptions.

    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?

    Clearly states it enumerates spec clauses for navigation, specifying the spec parameter and filters. Distinguishes from sibling tools like section_get (which retrieves a single section) and instruction_list. The verb 'enumerate' plus 'for navigation' gives a specific purpose.

    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?

    Explicitly mentions the spec parameter and suggests follow-up with section_get. Provides a clear usage context for navigation. Does not explicitly state when not to use, but the follow-up suggestion implies appropriate use.

    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?

    Annotations already provide readOnlyHint=true. Description adds value by detailing the return content (package info, commit SHAs) and purpose of reproducibility verification.

    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?

    Two sentences, efficiently packed with purpose and usage guidance. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    With no parameters, no output schema, and good annotations, the description fully covers what the agent needs: purpose, usage context, and return value.

    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?

    No parameters, so baseline is 4. Description does not need to explain parameters.

    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 it returns self-description: package name, version, and pinned upstream commit SHA. It contrasts with sibling tools that fetch specific content like instructions or types.

    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?

    Explicitly instructs to use this tool first when citing the spec or verifying freshness and reproducibility. Does not list when not to use, but context is clear.

    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?

    The annotations already declare readOnlyHint=true, and the description adds value by detailing the output fields (opcode bytes, category, version, traps, etc.). It does not contradict annotations. However, it does not discuss authentication or rate limits beyond what is implied by annotations.

    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 with no wasted words. The main purpose is front-loaded, and details about output fields follow. Each sentence adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    Despite no output schema, the description enumerates all expected output fields (opcode bytes, category, version, stack signature, validation/execution prose anchors, spec URLs, traps). This is complete for a single-instruction fetch tool with 3 optional parameters.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/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 well. The description adds extra semantics: 'mnemonic wins if both match' and clarifies opcode format (hex bytes). This provides useful context beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states the tool fetches one WebAssembly instruction by mnemonic or binary opcode, clearly distinguishing it from siblings like instruction_list (lists all) and instruction_search (searches). The verb 'Fetch' and resource 'instruction' are 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 provides clear disambiguation (mnemonic wins if both match) and explains when opcode is used. However, it does not explicitly state when not to use this tool or list alternatives beyond the sibling tools, which is a minor gap.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses that results are sorted by opcode and includes the can_trap field, which adds behavioral context beyond the readOnlyHint annotation. It also references instruction_get for trap conditions, managing expectations.

    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, consisting of two well-structured sentences. Every element earns its place, with no redundant or extraneous text.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    The description adequately covers the tool's functionality, return format (lightweight rows, sorted, includes can_trap), and relationship to sibling tools. Given no output schema, it provides sufficient information for an agent to understand what to expect.

    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?

    With 100% schema description coverage, the baseline is 3. The description adds value by explaining the purpose of each filter, giving an example for prefix, and noting the return includes can_trap, thus providing meaningful context beyond schema field names.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Enumerate' with the resource 'WebAssembly instructions' and lists all optional filters, clearly defining the tool's scope. It distinguishes from the sibling 'instruction_get' by noting that tool provides full detail.

    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 states the tool returns lightweight rows and suggests following up with instruction_get for full detail, providing clear usage guidance. However, it could explicitly mention when not to use this tool versus alternatives like instruction_search.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate readOnlyHint=true, and the description aligns by describing a search operation. The description adds behavioral context like matching strategy (exact > substring) and the matched_on field, which extends beyond the schema.

    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?

    Three concise sentences, front-loaded with purpose. No unnecessary words, each sentence adds value: purpose, usage guidance, and what to expect in return.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

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

    Given 3 parameters and no output schema, the description adequately covers the tool's behavior, return fields (matched_on), and follow-up action. It is complete for a search tool with well-documented parameters.

    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?

    Schema coverage is 100%, so baseline is 3. The description adds value by providing example queries and explaining the matching strategy, slightly exceeding the schema's description.

    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 specific verbs ('Search WebAssembly instructions') and resources ('instruction list'), and distinguishes itself from siblings like instruction_get and instruction_list by stating it is the entry point when the exact mnemonic is unknown.

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

    Usage Guidelines5/5

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

    The description explicitly states 'The entry point when you don't know the exact mnemonic', providing clear when-to-use context. It also advises to follow up with instruction_get for details, guiding the agent on the workflow.

    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

wasm-mcp MCP server

Copy to your README.md:

Score Badge

wasm-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/xyzzylabs/wasm-mcp'

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