z_ai_vision_mcp_server_clone
Provides tools for image analysis using OpenAI-compatible vision models. Allows AI agents to analyze images, extract text, diagnose screenshots, understand technical diagrams, analyze data visualizations, check UI differences, and convert UI to artifacts via any OpenAI-compatible vision API endpoint.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@z_ai_vision_mcp_server_cloneDiagnose this error screenshot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
z_ai_vision_mcp_server_clone
OpenAI-compatible MCP server for running image analysis tools against your own vision model endpoint.
Tools
ui_to_artifactextract_text_from_screenshotdiagnose_error_screenshotunderstand_technical_diagramanalyze_data_visualizationui_diff_checkanalyze_image
Related MCP server: vision-mcp
Configuration
Set either VISION_ENDPOINT or VISION_BASE_URL.
Variable | Required | Description |
| Yes, unless | Full chat completions endpoint. |
| Yes, unless | Base URL; |
| Yes | Vision model name sent in the request body. |
| No | Bearer token. Omit for local endpoints that do not require auth. |
| No | Label for your provider. Defaults to |
| No | Local image size limit. Defaults to |
| No | Request timeout. Defaults to |
| No | Optional model temperature. |
| No | Optional model top_p. |
| No | Optional max_tokens. |
You can also place these values in a local .env file in the working directory where the server starts. Real environment variables override .env values.
Run
npm install
npm run build
VISION_ENDPOINT=http://localhost:11434/v1/chat/completions VISION_MODEL=llava npm startOr with .env:
npm startMCP Client Example
{
"mcpServers": {
"z-ai-vision-clone": {
"type": "stdio",
"command": "npx",
"args": ["-y", "z_ai_vision_mcp_server_clone"],
"env": {
"VISION_ENDPOINT": "https://your-provider.com/v1/chat/completions",
"VISION_MODEL": "your-vision-model",
"VISION_API_KEY": "your-api-key"
}
}
}
}Available Tools
7 toolsanalyze_data_visualizationAnalyze Data VisualizationC
Analyze charts, graphs, and dashboards for metrics, trends, anomalies, and implications.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_source | Yes | ||
| analysis_focus | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description omits behavioral details such as output format, required input quality, or side effects. Since no annotations exist, this gap is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but overly terse, sacrificing necessary detail. It is front-loaded but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and parameter descriptions, this description is insufficient for an agent to correctly invoke the tool. It lacks details on inputs and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description adds no meaning to the three parameters. It does not explain what 'image_source', 'prompt', or 'analysis_focus' mean or their expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the resource ('charts, graphs, and dashboards') and action ('analyze for metrics, trends, anomalies, and implications'). It differentiates from sibling tools like 'analyze_image' by focusing on data visualizations, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'understand_technical_diagram' or 'analyze_image'. The description does not specify prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_imageAnalyze ImageC
General-purpose image analysis for cases not covered by the specialized image tools.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits such as side effects, authentication needs, or output format. It fails to mention any, leaving the agent uninformed about what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (12 words), but it sacrifices informativeness for brevity. It does not earn its place as it fails to provide necessary context for usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and two undocumented parameters, the description is severely incomplete. An agent cannot safely or effectively use this tool based on the provided information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the tool description does not explain the role of 'image_source' or 'prompt'. This leaves the agent without understanding how to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description indicates it is a general-purpose image analysis tool, contrasting with specialized siblings. However, it lacks specificity about what analysis entails (e.g., object detection, color analysis), making the purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to use this tool 'for cases not covered by the specialized image tools,' providing clear context for when it is appropriate. It does not elaborate on specific exclusion criteria or name alternatives, but the guidance is direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_error_screenshotDiagnose Error ScreenshotC
Analyze an error screenshot and suggest likely causes and fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| context | No | ||
| image_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It fails to disclose behavioral traits such as whether internet access is needed, data storage implications, or limitations (e.g., requires clear error message, cannot handle handwritten errors). The description implies a diagnostic output but lacks specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 12 words, front-loaded with key action and outcome. No redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no annotations, and no output schema, the description is too sparse. It does not explain return values, edge cases, or limitations. More details are needed for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 3 parameters (prompt, context, image_source) with 0% description coverage. The tool description adds no meaning beyond the schema; it doesn't explain what each parameter does or how to use them. This is a significant gap given low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'analyze' and 'suggest', the resource 'error screenshot', and outcomes 'causes and fixes'. It distinguishes from sibling tools like 'analyze_image' (general) and 'extract_text_from_screenshot' (text-only), making it specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites, exclusions, or scenarios where other tools (e.g., 'analyze_image' or 'ui_diff_check') 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.
extract_text_from_screenshotExtract Text from ScreenshotC
Extract visible text from a screenshot, including code, logs, terminal output, and documents.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_source | Yes | ||
| programming_language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the basic function without mentioning limitations (e.g., image format, size, handwritten text) or side effects. This is a significant gap for a tool with no other documentation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it omits important details. It includes useful examples but lacks structure—no sections for usage, parameters, or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, annotations, and parameter descriptions, the tool definition is incomplete. The description does not cover return values, error conditions, or formatting, leaving the agent with insufficient context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the three parameters. The purpose of 'prompt' and 'programming_language' is unclear, and 'image_source' format is not specified. The description fails to compensate for the missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts visible text from screenshots, listing specific content types like code and logs. This distinguishes it from sibling tools such as analyze_image or diagnose_error_screenshot, which target different tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its siblings, such as diagnose_error_screenshot or analyze_data_visualization. The description lacks context about prerequisites or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_diff_checkUI Diff CheckC
Compare a reference UI screenshot with an actual implementation screenshot.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| actual_image_source | Yes | ||
| expected_image_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It only states 'compare' without disclosing whether it returns a diff image, text, pass/fail, or any side effects. Lacks details on authentication, rate limits, or destructive potential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it lacks structure. It does not front-load key information or use bullet points. While short, it omits critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations, output schema, or parameter descriptions, the description is incomplete. It does not specify return format, error handling, or how the comparison is performed. For a tool comparing images, critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameter descriptions in schema. The tool description adds no semantics beyond parameter names. 'prompt', 'actual_image_source', and 'expected_image_source' are not explained (e.g., URL format, file type).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'compare' and the two resources (reference and actual screenshots). It conveys the core function but does not explicitly differentiate from siblings like 'analyze_image' or 'diagnose_error_screenshot'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not specify prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ui_to_artifactUI to ArtifactC
Convert a UI screenshot into code guidance, a recreation prompt, a design spec, or a description.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| output_type | Yes | ||
| image_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does not mention how the image source is processed, what format the output takes, or any requirements/limitations (e.g., image size, type). This is insufficient for a conversion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise and to the point. It wastes no words but could benefit from a second sentence to clarify parameter roles or output behavior without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three required parameters, no output schema, and no annotations, the description is too brief. It omits crucial details about the output format, the meaning of each output type, and how the tool handles the image. This leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It only adds meaning for 'output_type' by listing the four enum values. The 'image_source' and 'prompt' parameters are not described at all, leaving ambiguity about their format or purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a UI screenshot into one of four specific outputs (code guidance, recreation prompt, design spec, description). This distinct purpose sets it apart from siblings like analyze_image (general) or ui_diff_check (comparison).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., ui_diff_check, diagnose_error_screenshot). The description lacks any context about prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_technical_diagramUnderstand Technical DiagramC
Explain architecture diagrams, flowcharts, UML, ER diagrams, and related technical drawings.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| diagram_type | No | ||
| image_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It only says 'explain' without detailing how the explanation is delivered (e.g., text, structured data), what input is required beyond 'image_source' and 'prompt', or any limitations (e.g., supported image formats, resolution).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose and lists supported diagram types. It is front-loaded and avoids redundancy, though it could be more structured by including input/output hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters (two required) and no output schema or annotations, the description should explain the expected return format, prerequisites (e.g., valid image URL), or examples. It fails to do so, leaving the agent uncertain about how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description must compensate. It only loosely implies that 'diagram_type' corresponds to listed types, but does not explain the meaning or constraints of 'image_source' or 'prompt' (e.g., what constitutes a valid prompt). No additional parameter-level context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Explain') and the resource ('technical diagrams'), and enumerates specific diagram types (architecture, flowcharts, UML, ER). However, it does not explicitly differentiate from sibling tools like 'analyze_data_visualization' or 'analyze_image', which could also handle technical diagrams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not specify when to use this tool versus alternatives, nor does it mention prerequisites or cases where the tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.1.1- First observed
analyze_data_visualization - First observed
analyze_image - First observed
diagnose_error_screenshot - First observed
extract_text_from_screenshot - First observed
ui_diff_check - First observed
ui_to_artifact - First observed
understand_technical_diagram
TDQS
Each tool has a distinct purpose (e.g., data visualization vs. error screenshot vs. text extraction), but 'analyze_image' as a catch-all creates slight ambiguity since it overlaps with the specialized tools.
Most names follow a verb_noun pattern (analyze_*, extract_text_*, understand_*), but 'ui_diff_check' and 'ui_to_artifact' deviate slightly from the typical structure.
With 7 tools focused on image and UI analysis, the count is well-scoped—no unnecessary duplication and full coverage of the domain.
The tool set covers major visual analysis tasks (charts, screenshots, text extraction, UI comparison, diagram understanding) with no obvious gaps for the intended use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for Qwen Image 3 AI image generation
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseBqualityCmaintenanceA lightweight MCP server for image analysis using any OpenAI-compatible API endpoint, enabling AI agents to analyze images via a single tool.123MIT
- AlicenseAqualityBmaintenanceMCP server that provides an analyze_image tool using OpenAI-compatible vision LLMs to describe images from file paths, URLs, or base64 data.1191MIT
- FlicenseAqualityBmaintenanceOpenAI-compatible vision MCP server with 14 provider presets that enables MCP clients to analyze images, including screenshots, text, and UI mockups, via a single analyze_image tool.2-
- AlicenseNot gradedqualityCmaintenanceMCP server for analyzing images using multiple vision LLM providers (OpenCode, OpenAI, Anthropic, Google, and custom OpenAI-compatible endpoints). Provides tools to analyze single or multiple images, list providers, and test vision capabilities.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/1orZero/z_ai_vision_mcp_server_clone'
If you have feedback or need assistance with the MCP directory API, please join our Discord server