Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes (list vs create, generate vs edit vs variants, code vs image retrieval). However, `generate_and_fetch_code` overlaps with the combination of `generate_screen` and `get_screen_code`, creating minor ambiguity about which to use for a one-step workflow.

    Naming Consistency5/5

    All tool names consistently follow a snake_case verb_noun pattern. Verbs are clear and specific (list, create, generate, edit, get, scaffold). Even the compound `generate_and_fetch_code` follows the same style, making the naming predictable.

    Tool Count5/5

    Nine tools is well-scoped for the Stitch UI generation domain. Each tool covers a distinct step in the workflow without unnecessary redundancy, and the count feels appropriate for the server's purpose.

    Completeness4/5

    Core lifecycle is covered: project creation, screen generation/editing/variants, and retrieval of code and images. However, there is no explicit way to list or delete screens, and no project update/delete endpoints, which are minor gaps for a complete surface.

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

    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
    • 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?

    With no annotations available, the description must fully disclose the tool's behavior. It only says 'edit', implying a mutation, but does not mention side effects, reversibility, permissions, or what happens to the screen after editing. This is insufficient for a potentially destructive 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 a single, front-loaded sentence with no fluff. It efficiently states the action and target, making it appropriately concise for the tool's purpose.

    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 the schema covering parameters, the description lacks essential context about how the text prompt is interpreted, the role of optional modelId/deviceType, and what the edit operation entails. For a tool that modifies an existing screen, this is not sufficiently complete for an agent to understand the full workflow.

    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 fully describes all 5 parameters (100% coverage), including enums for modelId and deviceType. Since the schema already provides the necessary parameter semantics, the description does not add value here, so the baseline of 3 applies.

    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 action ('Edit'), the resource ('an existing screen'), and the method ('using a text prompt'). The word 'existing' implicitly differentiates it from sibling tools like generate_screen, making its 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 Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as generate_screen, nor are any preconditions or exclusions mentioned. The description only states what the tool does, not the appropriate context for its use.

    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, the description carries the full burden of behavioral disclosure. It does not explain side effects, whether it creates a new resource, what the response contains, or any auth/rate-limit considerations. The operation 'generate' is left vague.

    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, front-loaded sentence that directly communicates the core purpose with no wasted words. It is concise and easy to grasp.

    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?

    The description lacks information about expected outcomes, return structure, or preconditions. Since there is no output schema, the description should explain what 'generate' returns or does, but it does not, leaving a significant 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?

    All three parameters have descriptions in the input schema, covering 100% of them. The tool description itself adds no additional parameter semantics, so the baseline score of 3 applies.

    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 action ('Generate a UI screen from a text prompt within a project') with a specific verb, resource, and scope. It distinguishes itself from sibling tools like edit_screen and generate_variants by focusing on generation from a prompt.

    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?

    No guidance is provided on when to use this tool versus alternatives. The description simply states what the tool does, with no mention of prerequisites, exclusions, or situations where other tools would be more appropriate.

    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 must carry the full burden of disclosing behavioral traits. It only says 'generate variants' without mentioning whether this creates new records, mutates existing data, returns output, or has side effects. This leaves the agent with little behavioral understanding.

    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?

    A single, front-loaded sentence that communicates the core function without any filler or redundancy. It is appropriately concise for the level of schema detail provided.

    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?

    For a tool with six parameters and no output schema, the description is too thin. It fails to explain what 'variants' means operationally—whether they are saved, returned as code, or displayed—especially given the presence of sibling tools like generate_and_fetch_code. The schema covers parameters but not the overall tool behavior.

    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 provides full descriptions for all six parameters (100% coverage), so the description does not need to explain parameter semantics. The description adds no additional parameter context, but the baseline of 3 is appropriate given complete schema coverage.

    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 'Generate' and the resource 'design variants of an existing screen', making the core purpose obvious. It is distinct from sibling tools like generate_screen, but it does not explicitly name or contrast with alternatives, so it falls short of a 5.

    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 phrase 'existing screen' implies that this tool is for modifying or branching from an already-created screen, which suggests usage context. However, there is no explicit statement about when to use this tool versus generate_screen, edit_screen, or other siblings.

    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?

    There are no annotations to provide safety or side-effect hints, so the description carries full responsibility. However, it only states the core action and does not disclose return values, potential errors, idempotency, or any side effects beyond creation.

    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 is front-loaded with the verb and resource. Every word earns its place, with no redundancy or filler.

    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 required parameter, and the description covers its basic purpose. However, there is no output schema and no mention of what the tool returns or any post-condition. Given the lack of annotations and minimal context, some crucial behavioral details are missing, but the low complexity prevents a lower score.

    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 fully describes the 'title' parameter ('Title of the new project'), giving 100% coverage. The tool description adds no extra parameter information, but since the schema does the heavy lifting, a baseline score of 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 the action ('Create') and the resource ('a new Stitch project'), which is specific and unambiguous. It distinguishes itself from sibling tools like list_projects, edit_screen, and generate_screen since none of those create a project.

    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?

    No guidance is provided about when to use this tool versus alternatives. Sibling tools like scaffold_project_files might overlap conceptually, but the description offers no context or exclusions to help the agent choose.

    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. It implies a file write operation but does not mention potential side effects like overwriting existing files, creating directories, or whether the operation is reversible. This is a significant gap for a tool that writes to the filesystem.

    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. It front-loads the primary purpose and provides a direct usage instruction, making it easy to parse.

    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?

    For a file-writing tool with no annotations or output schema, the description is thin. It does not explain return values, prerequisites (e.g., existing project/screen), or edge cases like existing file handling. The simplicity of the parameters doesn't fully excuse this omission.

    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%, and each parameter has a description. The description adds minimal value beyond the schema, only clarifying that filePath is for saving UI designs. Since the schema already documents parameter meanings, the baseline of 3 applies.

    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 maps a specific screen to a local file path and is used to save UI designs into the user's workspace. This distinguishes it from sibling tools like generate_screen or get_screen_code, which focus on creation or retrieval rather than file-scaffolding. However, it could be more explicit about the generated HTML artifact.

    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 a clear context: use this tool to save UI designs directly into the user's workspace. It does not enumerate exclusions or explicitly compare against alternatives, but the use case is unambiguous and sufficient for typical selection.

    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 full burden. It discloses a best-effort behavior ('extract full HTML if possible'), which hints at fallback logic, but does not specify the response format, error behavior, or whether the operation is read-only beyond the verb 'Retrieve'.

    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, front-loaded sentence with no redundant information. The parenthetical about extracting full HTML is concise and adds value without bloat.

    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 two well-described parameters, but the lack of an output schema means the description should clarify the return value. It mentions a download URL and optional HTML extraction but leaves the exact structure ambiguous. It is sufficient for a basic tool but lacks precision.

    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 baseline is 3. The description does not add any additional meaning beyond the schema's generic 'The ID of...' descriptions, but the schema already fully documents both 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 uses a specific verb ('Retrieve') and clearly identifies the resource ('HTML code download URL' and potentially 'full HTML') for a generated screen. It distinguishes itself from siblings like get_screen_image and generate_and_fetch_code.

    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?

    No explicit guidance on when to use this tool versus alternatives is provided. It does not mention exclusions, prerequisites, or contrast with generate_and_fetch_code, leaving the usage context implied at best.

    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 'retrieve' without clarifying safety (e.g., read-only nature) or potential side effects. The return format is ambiguous ('base64 screenshot image download URL' could be interpreted multiple ways), and there is no mention of permissions, failures, or URL longevity.

    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 with no redundant information. It clearly communicates the tool's core purpose without verbosity.

    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, the description does mention the return type (a URL), which is useful. However, it does not address error cases, prerequisites (such as the screen being generated), or the exact nature of the URL (e.g., whether it expires or contains base64 data). For a simple getter, this is adequate but not fully comprehensive.

    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 both parameters described generically as 'The ID of the screen' and 'The ID of the project.' The description does not add additional meaning beyond the schema, such as the relationship between screenId and projectId or how to obtain these IDs. Baseline 3 is appropriate since the schema already documents the 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 the tool's function: 'Retrieve the base64 screenshot image download URL for a generated screen.' The verb 'retrieve' is specific, and the resource is well-defined as a screenshot image URL. This distinguishes it from siblings like get_screen_code, which retrieves code instead of an 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 phrase 'for a generated screen' implies the tool is used after a screen has been generated, but no explicit guidance is given regarding when to use this tool versus alternatives like get_screen_code or generate_screen. There are no exclusion statements or references to sibling tools.

    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 must carry the full burden. It states that it generates a screen and retrieves code, but doesn't disclose potential side effects (e.g., screen creation persistence), failure behaviors, or whether it requires an existing project. This lack of behavioral detail 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?

    One sentence, front-loaded, no filler. Achieves maximum clarity with minimal 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?

    The description covers the core function and return type (HTML code), but given it's a compound operation without annotations or output schema, more context about the interaction with projectId and generation behavior would improve completeness. However, schema covers params, so it's adequate.

    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%, with each parameter described. The description adds no additional parameter syntax or behavior beyond the schema, so 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 uses a specific compound verb 'generate and fetch' with clear resources 'UI screen' and 'HTML code', and the 'one-step' phrasing distinguishes it from separate sibling tools generate_screen and get_screen_code.

    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 the use case: when you need both generation and code retrieval in a single step, but it doesn't explicitly name alternatives or state when not to use it. The context is clear enough for inference.

    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. 'List all available' conveys a read-only behavior and a scope limitation ('available'), but it does not disclose potential auth requirements, response format, pagination, or error behavior. For a list tool, this is adequate but not rich.

    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, front-loaded sentence that states the exact purpose without any redundant words or filler. It is both concise and complete for the tool's simplicity.

    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 zero parameters, no output schema, and a simple list operation, the description sufficiently conveys the tool's function. It does not describe the return structure, but 'List' strongly implies returning an array of project objects, which is acceptable for this context.

    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 baseline is 4. The description adds slight semantic value by specifying 'all available', which clarifies that no filtering is applied and only accessible projects are returned.

    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 action ('List') and the resource ('all available Stitch projects'). It distinguishes this tool from sibling tools like create_project and edit_screen by indicating a read-only enumeration operation.

    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 usage—call this to retrieve all Stitch projects—but provides no explicit guidance on when to choose it over alternatives or mention any preconditions. Since it is a simple list operation, the implied usage is acceptable but not fully explicit.

    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

Stitch-mcp-server MCP server

Copy to your README.md:

Score Badge

Stitch-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/0x-Professor/Stitch-mcp-server'

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