Skip to main content
Glama
zesun33

mcp-rtl-review

by zesun33

Server Quality Checklist

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

  • Disambiguation4/5

    The full review tool overlaps with the two targeted check tools, but each has a clearly scoped purpose: comprehensive audit versus specific assignment or width checks. The toolchain info tool is entirely distinct. Some ambiguity exists about when to run the full review versus individual checks, but descriptions mitigate it well.

    Naming Consistency3/5

    All tools share the rtl_ prefix, but the naming pattern is mixed: two use verb_noun (rtl_check_assignments, rtl_check_widths), while rtl_review is verb-only and rtl_toolchain_info is noun_noun. The inconsistency is noticeable but still readable and predictable given the shared prefix.

    Tool Count5/5

    Four tools is well-scoped for a focused RTL review server: one comprehensive review, two targeted checks, and one metadata query. Each tool has a clear purpose and the count feels neither thin nor bloated.

    Completeness5/5

    The full review tool provides broad static-analysis coverage including assignments, reset polarity, widths, and undriven nets, while the targeted check tools allow narrower queries. The toolchain info tool supplies environment and rule-compatibility context. No obvious missing operations are apparent for the stated purpose.

  • Average 3.5/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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.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

  • Behavior3/5

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

    No annotations are present, so the description bears the full burden. It does disclose the core behavior (analyzing bitwidths and detecting mismatch types), which is useful. However, it does not state whether the tool is read-only, what kind of report it produces, whether it requires compilation/elaboration, or how it handles multiple files and hierarchy.

    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 primary action ('Performs semantic bitwidth analysis') and then specifies the concrete behavior. Every word contributes; there is no fluff or repetition of the tool name.

    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?

    With no output schema and no annotations, the description needs to explain what the agent can expect from invoking this tool. It does not mention return values, formatting of diagnostics, exit behavior, or prerequisites such as a working toolchain or required top-module specification. The one-line description is not sufficient for a tool with hierarchical analysis dependencies.

    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 input schema fully documents all three parameters (cwd, top_module, verilog_sources). The description adds no parameter-level meaning beyond that, but the baseline of 3 is appropriate because the schema already carries the load.

    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 ('Performs semantic bitwidth analysis') and names a concrete resource (Verilog/SystemVerilog designs) and defines the exact detection scope (implicit truncation and bit expansion mismatches). This clearly distinguishes it from sibling tools like rtl_check_assignments or rtl_review, which target different analysis concerns.

    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 gives no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or conditions that would route an agent to a sibling tool, leaving the selection entirely to inference from the name and one-line purpose.

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

  • Behavior3/5

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

    With no annotations, the description itself must convey the behavioral profile. 'Returns... information' strongly implies a read-only operation, but it does not disclose side effects, return format, or how the optional cwd affects the result.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    The description is a single sentence with the key verb front-loaded and no filler. It loses a point because it densely bundles multiple concepts—container/host runtime, version info, parser, and rule list—into one clause, reducing immediate readability.

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

    Completeness3/5

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

    For a simple read-only info tool with full schema coverage on its one optional parameter, the description gives the basic scope. However, the absence of an output schema and any detail about return shape or cwd behavior leaves moderate gaps for an agent deciding whether and how to invoke it.

    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 documents the single optional cwd parameter with 100% coverage, so the schema carries the parameter documentation burden. The description adds no additional semantics about how cwd influences the toolchain info, keeping this at the baseline.

    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 identifies a clear verb and resource: it returns container/host runtime, version information, and the supported rule list. It is also distinguishable from the review/check siblings by its informational nature, though the phrase 'active container/host runtime' is somewhat ambiguous.

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

    Usage Guidelines3/5

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

    The tool's purpose implies it should be used when an agent needs toolchain/version/rule-list information rather than performing an RTL review or check. However, it does not explicitly state when to use it vs. siblings or 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.

  • Behavior3/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 does describe the analysis approach (AST-backed, static, semantic audit) and the deliverable (0–100 score with fix suggestions), which is useful. However, it does not mention potential limitations, behavior on parse errors, or confirm the tool is read-only/non-destructive, which an agent typically benefits from knowing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

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

    The description is a single sentence that front-loads the tool's main purpose and enumerates the key evaluation areas and output. It is dense but not bloated; every major element earns its place, though the long list of checks makes it slightly heavy to parse at a glance.

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

    Completeness3/5

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

    For a moderately complex tool with five parameters and no output schema, the description covers the core functionality and the general nature of the output. It lacks details on how ruleset severity levels affect the review, interpretation of the quality score, or any prerequisites for source files, leaving some operational context unexplored.

    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 input schema already documents all five parameters with descriptions. The tool description adds no parameter-specific meaning beyond what the schema provides, which meets the baseline for full schema coverage but does not elevate it.

    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 performs a comprehensive AST-backed static RTL review and semantic audit on Verilog/SystemVerilog designs, listing specific checks (assignment discipline, reset polarity, bitwidths, undriven nets) and an output quality score. This distinguishes it from the narrower sibling tools rtl_check_assignments and rtl_check_widths, which focus on individual aspects.

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

    Usage Guidelines3/5

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

    The description implies this is the full, consolidated review tool, but it does not explicitly state when to prefer it over the sibling tools or when a targeted check would be more appropriate. There is no direct comparison or exclusion guidance, so usage context is only implied.

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

  • Behavior3/5

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

    With no annotations present, the description carries the burden of behavioral disclosure. It implies a read-only audit by using 'Audits' and specifies the exact violation categories, but it does not state whether files are modified, what side effects occur, or how violations are reported.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

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

    The description is a single sentence that front-loads the action and resource, then immediately specifies the exact checks performed. Every word is necessary, with no fluff or redundancy.

    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?

    The tool has no output schema, so the description should ideally clarify what an audit result looks like. It explains what is audited but not how violations are returned (e.g., exit code, report, or structured list). It is adequate for a simple static-analysis tool but leaves a notable gap.

    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% coverage of all parameters, so the description adds no additional parameter meaning. The baseline of 3 is appropriate because the schema already documents the three parameters adequately.

    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 states a specific verb ('Audits') and a specific resource ('Verilog/SystemVerilog source files'), and further narrows the scope to 'assignment discipline violations.' It clearly explains what the tool does, though it does not explicitly distinguish itself from sibling tools like rtl_check_widths.

    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 phrase 'specifically for assignment discipline violations' gives clear context for when to use this tool over more general or width-focused checks. However, it does not explicitly name alternatives or state when not to use it, so it falls short of full guidance.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-rtl-review MCP server

Copy to your README.md:

Score Badge

mcp-rtl-review 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/zesun33/mcp-rtl-review'

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