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.1

  • Disambiguation5/5

    Each tool has a distinct purpose: doctor for diagnostics, list_diagrams for read-only state, sync_document for creating/verifying links, and open_diagram for opening a specific diagram. There is no meaningful overlap between the tools.

    Naming Consistency4/5

    Three tools follow the verb_noun pattern (list_diagrams, sync_document, open_diagram), but 'doctor' is a single noun that deviates from the pattern. This is a minor inconsistency in an otherwise consistent set.

    Tool Count5/5

    With 4 tools, the server is well-scoped for its purpose: setup check, listing, syncing, and opening. Each tool is necessary and contributes to a clear workflow without redundancy.

    Completeness4/5

    The core lifecycle of managing Mermaid.ai links is covered: diagnostics, list, sync/create/verify, and open. A minor gap is the lack of an explicit unlink or delete tool, though sync_document may handle some reconciliation.

  • Average 3.8/5 across 4 of 4 tools scored. Lowest: 3.1/5.

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

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It mentions 'create or verify' but fails to disclose that by default it writes to the file (check_only defaults to false), nor does it mention side effects like file modification or handling of Mermaid blocks without links. This is a significant transparency gap for a potentially mutating operation.

    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 no waste. It is efficiently structured, though its brevity sacrifices necessary context. For conciseness alone it earns a 4, but it is not maximally effective due to missing behavioral details.

    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?

    Despite having a schema and output schema, the description is incomplete for a tool that may modify a file. It lacks usage guidelines, behavioral transparency, and context about what constitutes a 'Mermaid block' or how verification behaves. The description alone is insufficient for an agent to confidently use the tool correctly.

    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% (both parameters have descriptions), so the baseline is 3. The description adds no parameter-specific meaning beyond the schema; it does not clarify how the 'document' path or 'check_only' flag relates to the stated behavior. This is acceptable but unhelpful.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Create or verify exactly one local Mermaid.ai link for every Mermaid block.' This includes a specific verb ('create or verify'), resource ('Mermaid block'), and scope ('every'), distinguishing it from sibling tools like list_diagrams or open_diagram.

    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 does not mention specific scenarios, exclusions, or relationships with sibling tools (doctor, list_diagrams, open_diagram). Usage is only implied by the tool's name and 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 carries the burden. The verb 'List' implies a read-only operation, but the description does not explicitly state non-destructiveness or disclose any side effects. It also leaves the term 'managed-link state' unexplained, which could be important behavioral context. Overall, it is adequate but lacks detail.

    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 conveys the essential information without any fluff. Every word contributes to understanding what the tool does.

    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?

    This is a simple listing tool with one parameter and an output schema (which is present). The description explains the purpose and scope adequately. It could mention read-only behavior explicitly, but the verb 'List' and the presence of the output schema make the tool fairly complete for an agent to 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 already fully describes the only parameter (document) with its own description. The tool description adds no extra meaning about the parameter, so the baseline of 3 applies. It neither enhances nor detracts from 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 clearly states the tool's action (List), the resource (Mermaid blocks and their managed-link state), and the scope (one Markdown document). It is specific and distinguishes this from siblings like open_diagram and sync_document, which imply different actions.

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

    Usage Guidelines4/5

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

    The description gives clear context: this tool is used to list diagrams in a specific document, which implies when to use it. However, it does not explicitly mention alternatives or exclusions (e.g., 'use open_diagram to view a diagram') or when not to use it. The sibling names help but are not referenced.

    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 behavioral transparency burden. It does disclose the key side effect ('This changes the shared scratch diagram'), but it does not explain the nature of the change (e.g., overwriting vs. appending), reversibility, or required permissions. This is adequate but leaves 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 two sentences, front-loaded with the action and resource, followed by the side effect and usage rule. Every sentence contributes essential information with no redundant fluff.

    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 description covers purpose, side effect, parameter selection, and a usage prerequisite, while the output schema handles return values. It does not mention exclusions or alternative tools, but for this relatively simple tool with rich schema context, it is largely 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 description coverage is 100%, so the schema itself already explains block_id, block_index, and document. The description text adds the selection rule (exactly one) and the prerequisite relationship to list_diagrams, but these are also partially embedded in the parameter descriptions. This meets the baseline for high schema coverage without adding much beyond 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 uses a specific verb ('Open') and resource ('one linked Mermaid block in the shared Mermaid.ai scratch diagram'), clearly differentiating this tool from siblings like list_diagrams and sync_document. It also states the side effect ('This changes the shared scratch diagram') to reinforce the action.

    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 to provide exactly one of block_id or block_index and that this is 'normally after calling list_diagrams', giving clear usage guidance and a prerequisite. It does not explicitly state when not to use the tool or name alternatives, so it stops short of a 5.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It lists what is checked, which is useful, but it does not disclose side effects, whether it is read-only, or what the output looks like. The description adds value but lacks deeper 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/5

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

    The description is a single, focused sentence that lists the areas checked. Every word earns its place; 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.

    Completeness4/5

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

    Given the tool has no parameters and an output schema exists, the description only needs to convey purpose and high-level behavior. It does that effectively by listing the four areas checked, which is sufficient for an agent to understand the tool's role. Slightly more detail on what 'readiness' entails could improve it, but it is complete enough.

    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, so the schema provides no groundwork. By calibration, a tool with no parameters receives a baseline of 4. The description does not need to explain parameters, and it doesn't add any confusing parameter information.

    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 'check' and clearly identifies the resource (configuration, link secret, local bridge, and Chrome/CDP readiness). This distinguishes it from sibling tools like list_diagrams, sync_document, and open_diagram by indicating a diagnostic 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?

    The description implies when to use the tool—when checking system readiness—but does not explicitly state alternatives or exclusions. The context is clear enough for an agent to understand its role as a diagnostic tool.

    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

mermaid-ai-links MCP server

Copy to your README.md:

Score Badge

mermaid-ai-links 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/Async23/mermaid-ai-links'

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