Skip to main content
Glama
staruml

StarUML MCP Server

Official
by staruml

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: generating a new diagram, retrieving info for all diagrams, retrieving info for the current diagram, and retrieving an image by ID. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case: generate_diagram, get_all_diagrams_info, get_current_diagram_info, get_diagram_image_by_id. The convention is uniform.

    Tool Count5/5

    With 4 tools, the server is well-scoped for the StarUML domain, covering generation and information retrieval without unnecessary bloat.

    Completeness4/5

    The server provides generate, list, and retrieve operations for diagrams. Missing update/delete capabilities are a minor gap, but the core workflow of creating and inspecting diagrams is well-covered.

  • Average 3.6/5 across 4 of 4 tools scored. Lowest: 2.9/5.

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

    • 1 of 1 community issues answered or closed 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 status not available
  • 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 disclosing behavior. It only says 'Generate a diagram', which implies a mutation but does not explain side effects, whether it overwrites an existing diagram, or what happens in StarUML. The schema adds supported diagram types, but the description itself offers minimal behavioral insight.

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

    Conciseness3/5

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

    The description is a single concise sentence with no fluff, but it is under-specified. It omits important context such as the need for Mermaid code and unsupported diagram types, which are only available in the schema. The brevity is efficient, but it sacrifices useful information that a well-rounded description should include.

    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 low complexity (one parameter, no output schema) and the rich schema description of the parameter, the description is minimally adequate. However, it lacks any mention of return values, side effects, or how it fits with the sibling tools. The gaps prevent it from being fully complete, but the combination of schema and short description covers the essential mechanics.

    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 single parameter 'code' is fully documented in the schema with a clear description and a list of supported diagram types, so the description does not need to add much. The description itself mentions no parameter details, but the schema coverage is 100%, making a baseline score of 3 appropriate.

    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 clear action ('Generate') and resource ('a diagram in StarUML'), which is specific enough to understand the tool's core function. It implicitly differs from sibling tools that retrieve diagram information or images, but does not explicitly name them or highlight the distinction.

    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 the sibling 'get_*' tools. There is no mention of alternatives, prerequisites, or situations where this tool should be preferred. The only usage hint ('Mermaid code') is buried in the schema, not the description.

    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. It only says 'Get information', which implies a read-only operation, but it does not disclose return format, possible failure modes (e.g., no current diagram open), or any other behavioral details beyond the tool's name.

    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?

    One concise sentence, front-loaded with the action and resource. No wasted words.

    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 tool with no parameters, annotations, or output schema, the description is minimally adequate. It clarifies the target ('current diagram in StarUML') but leaves the returned information undefined, which is a notable gap given no output schema exists.

    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 there is no parameter semantic burden. Baseline for 0-parameter tools is 4; the description correctly avoids inventing parameter details.

    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 ('Get') and identifies the resource ('information for the current diagram in StarUML'). The term 'current' distinguishes it from siblings like get_all_diagrams_info (all diagrams) and get_diagram_image_by_id (image by ID), while generate_diagram clearly has a different action.

    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 when to use the tool (when information about the current diagram is needed) but does not explicitly state alternatives or exclusions. It does not mention that get_all_diagrams_info should be used for a list of all diagrams, though the sibling names make this inferable.

    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 only states that an image is fetched, without revealing the output format (e.g., base64, URL, binary), error handling, or any side effects. This is a minimal disclosure that leaves significant ambiguity for the agent.

    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 immediately conveys the tool's purpose and scope, with no redundant or vague wording. It is front-loaded and 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?

    The tool is simple with one parameter, but the absence of an output schema and annotations means the description must clarify the return format, which it does not. The agent is left uncertain about how to consume the 'image' result. However, given the simplicity of a read-only getter, the description is minimally adequate.

    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 input schema covers 100% of parameters, with a detailed description for diagramId that adds practical value by referencing get_all_diagrams_info. The description itself adds no additional parameter semantics, but the schema's cross-tool guidance elevates it above the baseline of 3.

    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 verb 'Get' and the specific resource ('image of a diagram by its ID') in StarUML. It distinguishes itself from sibling tools like get_all_diagrams_info and get_current_diagram_info, which return metadata rather than the image.

    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 does not explicitly state when to use this tool versus alternatives, but the schema parameter description hints at the workflow by directing users to get_all_diagrams_info for the diagramId. No exclusions or alternative usage guidance are provided, leaving the usage context implied rather than explicit.

    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 must convey behavior. 'Get' indicates a read-only operation, but the description does not disclose the specific nature of the returned information, potential size, or any side effects. This is minimal but acceptable for a simple retrieval tool.

    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, clear sentence with no filler. It is front-loaded and efficiently states the tool's purpose without unnecessary detail.

    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 lack of an output schema and annotations, the description leaves 'information' vague. It does not specify the fields or format of the returned diagram details, which is a gap for an agent deciding if this tool meets its needs. A short list of returned attributes would improve 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?

    The tool has zero parameters, so the input schema is empty. The description does not need to explain parameters, and the zero-parameter case warrants the baseline score of 4.

    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 retrieves information for all diagrams in StarUML. The verb 'Get' and scope 'all diagrams' distinguishes it from the sibling get_current_diagram_info, making the purpose unambiguous.

    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 'for all diagrams' provides clear context on when to use this tool, implying it should be chosen over get_current_diagram_info when a complete collection is needed. However, it does not explicitly reference alternatives or exclusion scenarios, so it stops 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

staruml-mcp-server MCP server

Copy to your README.md:

Score Badge

staruml-mcp-server 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/staruml/staruml-mcp-server'

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