Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    The specialized tools (OCR, error diagnosis, diagrams, data viz, UI conversion, UI diff) have distinct purposes, and the generic image_analysis is explicitly positioned as a fallback. However, understand_technical_diagram and analyze_data_visualization could overlap for certain images, and image_analysis could be used for any task, creating some ambiguity.

    Naming Consistency3/5

    Most tools follow a verb_object pattern (extract_text_from_screenshot, diagnose_error_screenshot, understand_technical_diagram, analyze_data_visualization), but image_analysis is noun-based and ui_to_artifact is not verb-first. ui_diff_check is also ambiguous in word order, so the pattern is mixed but still readable.

    Tool Count5/5

    Seven tools is a well-scoped number for a vision MCP server. It covers a broad range of image analysis tasks without being bloated, and each tool has a clear role.

    Completeness4/5

    The tool set covers major vision tasks: generic understanding, OCR, error screenshot diagnosis, technical diagram interpretation, data visualization analysis, UI conversion, and UI diff checking. Minor gaps exist, such as no generic image comparison (only UI-specific) and no image generation/transformation, but these are somewhat outside the core analysis purpose.

  • Average 4.1/5 across 7 of 7 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 is passing
  • 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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It only documents input formats for image and question, but says nothing about return behavior, limitations, or side effects. This is a significant gap for a general image analysis 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 extremely concise: one sentence for purpose/usage and a clean Args list. It is front-loaded with the key purpose and wastes no 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?

    It covers purpose, usage context, and parameter semantics adequately. Since an output schema exists, return-value details are not required. However, the absence of any behavioral notes (e.g., limitations, error cases, or security considerations for URLs) leaves it only minimally complete.

    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 0%, and the description compensates well by detailing image input types (local path, HTTP(S) URL, base64 URI) and clarifying question as '想了解的内容或问题' (content or question you want to know). This adds meaningful value beyond the schema's bare field names.

    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 '通用图像理解' (general image understanding) and positions it as a fallback for when specialized tools don't match, distinguishing it from siblings like extract_text_from_screenshot. The verb+resource is clear, though it does not explicitly name alternatives.

    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?

    It explicitly says '适用于其他专用工具不匹配的场景' (suitable for scenarios where specialized tools do not match), giving a clear condition for use. It also implies question answering via the question parameter, but lacks specific exclusions or named alternative tools.

    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. It states the core comparison operation but does not disclose additional behavioral traits such as output format, limitations, or side effects. However, there is no misleading information and the operation is inherently non-destructive.

    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 and well-structured: a one-sentence purpose followed by a clean Args list. Every part earns its place with no redundant information.

    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's simplicity, an output schema exists, and the description covers all parameters with format hints, the description is largely complete. Minor gaps remain in explicit usage guidance and behavioral details, but the core is sufficient for an agent to invoke the tool correctly.

    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 schema provides no parameter descriptions (0% coverage), but the description compensates by explaining each parameter: image1 and image2 accept paths, URLs, or base64 URIs, and question is an optional focus. This adds clear meaning beyond the raw 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 function: compare two UI screenshots and mark visual or implementation differences. This specific verb+resource combination distinguishes it from sibling tools like image_analysis or extract_text_from_screenshot.

    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?

    Usage is implied by the purpose (use when you have two UI screenshots to compare), but the description does not explicitly state when to use it versus alternatives, nor does it mention any exclusions or conditions.

    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 carry full burden. It discloses the core behavior (extract insights/trends) and accepted image formats in args, but does not discuss limitations, output structure, or potential failure modes. It is not misleading, so a moderate score is appropriate.

    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 with a clear purpose sentence and structured Args list. No redundant information; every sentence adds value.

    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?

    With 2 parameters and an output schema, the description is adequate for selecting and invoking the tool. It lacks explicit alternative guidance but covers the essential context (chart types, optional question).

    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 covers 0% of parameters, but the Args section in the description provides meaningful semantics: image supports path/URL/base64 URI, and question is an optional focus. This compensates well for the lack of schema 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?

    The description clearly states the tool reads data visualization charts (bar/line/pie, dashboards) and extracts insights/trends, with a specific verb and resource. It distinguishes from siblings like image_analysis by targeting charts specifically.

    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 usage for data visualization images with an optional focus question, but does not explicitly mention when not to use or alternatives like image_analysis or understand_technical_diagram. Clear context but no exclusions.

    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 of behavioral disclosure. It states that the tool 'locates the problem and gives actionable repair suggestions,' which conveys the output behavior. However, it does not disclose limitations (e.g., image quality, dependence on context) or any potential side effects. This is adequate but not comprehensive.

    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 compact and well-structured: one sentence for purpose, followed by a clear Args list. Every sentence adds value, with no redundancy. The purpose is front-loaded, and the parameter explanations are concise and aligned with the schema.

    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 simplicity of the tool (only two parameters) and the presence of an output schema, the description adequately covers purpose, parameters, and high-level behavior. It does not explicitly discuss when to choose this tool over siblings, but the dedicated error-diagnosis scope makes the tool's role clear. Overall, it is complete for its complexity.

    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 0%, so the description must compensate. It explains both parameters: image (path/URL/base64 URI) and context (optional background info), adding meaning beyond the bare 'string' type. It does not specify constraints like file size or supported formats, but for two simple parameters this is sufficient.

    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: analyze error/exception screenshots, locate the problem, and give actionable repair suggestions. It uses a specific verb ('diagnose') and resource ('error screenshot'), and clearly distinguishes it from sibling tools like generic image_analysis or extract_text_from_screenshot.

    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 implicitly defines the use case (analyzing error screenshots) which guides selection over generic alternatives, but it does not explicitly mention when not to use this tool or name alternative tools. The clarity of purpose makes the usage context evident, but explicit exclusionary guidance is absent.

    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 of behavioral disclosure. It explains the conversion target and parameter semantics, but does not describe any process details, limitations, or edge cases (e.g., handling of invalid images, output format). It adds some context beyond the schema by enumerating target types, but still leaves behavior somewhat open.

    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-loading the core purpose in the first sentence, followed by a clearly structured Args block. Every line adds information without waste. The formatting, though simple, is easy to parse and perfectly sized.

    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?

    For a three-parameter tool with an output schema, the description covers the essential context: input, target types, and optional requirements. The output schema handles return values, so the description does not need to explain them. It is sufficiently complete for an agent to select and invoke the tool correctly.

    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 0%, and the description fully compensates. It explains 'image' with formats (path/URL/base64 URI), 'target_type' with all four allowed values, and 'question' as an optional parameter with examples. This is a model of parameter documentation for a low-coverage 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 opens with a clear statement of purpose: '将 UI 截图转换为指定产物:代码、提示词、规格说明或描述。' (convert UI screenshot to specified artifacts: code, prompt, specification, or description). It uses a specific verb (convert) and resource (UI screenshot), and clearly distinguishes from siblings like image_analysis or extract_text_from_screenshot, which focus on analysis/extraction rather than generation.

    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 context by listing target artifact types, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. Sibling tools are not referenced, so an agent would have to infer the niche from the purpose sentence alone. This meets the 'implied usage' level, not full guidance.

    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 is the sole source of behavioral information. It only states that the tool interprets technical diagrams and accepts an optional question, but does not disclose processing details, limitations, or output characteristics beyond what the output schema would imply.

    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 short, front-loaded with the main purpose, and the Args section is compact and free of filler. Every sentence contributes useful information.

    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 relatively simple two-parameter tool with an output schema, the description adequately covers input formats and the tool's scope. It does not explicitly differentiate from sibling tools, but the diagram-type examples provide enough contextual guidance for selection and invocation.

    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 schema only defines 'image' and 'question' as strings with zero description coverage, so the description's Args section adds essential meaning. It specifies that image can be a path, URL, or base64 URI, and explains that question is optional and targets specific aspects of interest.

    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 '解读' (interpret) and clearly identifies the resource as technical diagrams, listing concrete types such as architecture, flowchart, UML, ER, and system design. This clearly distinguishes it from generic sibling tools like image_analysis.

    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 by enumerating the types of diagrams this tool is meant for, which tells an agent when to use it. However, it does not explicitly mention alternative tools or state when not to use it, so it lacks direct exclusions.

    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 disclose the OCR function and applicable content types, and mentions the optional 'question' parameter for specific extraction needs. However, it does not mention limitations (e.g., on non-text images or handwriting) or failure modes, leaving gaps in transparency.

    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 and well-structured, front-loading the main purpose and then presenting a clean argument list. Every sentence adds value with no redundant repetition of schema or annotations.

    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's simplicity (two parameters) and the existence of an output schema, the description covers the essential aspects: function, use cases, and parameter details. It could be more complete by explicitly stating limitations (e.g., not suitable for charts or handwriting), but for this complexity level it is sufficiently complete.

    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 schema's parameters have no descriptions (coverage 0%), but the 'Args' section in the description thoroughly explains both: image accepts path/URL/base64 URI, and question is optional with an example ('只提取报错堆栈'). This fully compensates for the missing schema descriptions and adds meaningful context beyond raw 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 states '对截图进行 OCR,提取其中的文本' (Perform OCR on screenshots, extract text), giving a specific verb and resource. It also lists applicable content types (code, terminal output, documents) and clearly distinguishes itself from sibling tools like image_analysis and diagnose_error_screenshot, which serve different purposes.

    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 states suitable content types ('适用于代码、终端输出、文档、普通文本等'), providing clear context for when to use the tool. However, it does not mention exclusions or alternative tools, so it lacks explicit when-not 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

vision-mcp MCP server

Copy to your README.md:

Score Badge

vision-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/sunqb/vision-mcp'

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