vlm-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VLM_API_KEY | No | Generic API key (used if no per-provider group is set) | |
| VLM_BASE_URL | No | Generic base URL (default Zhipu) | |
| VLM_PROVIDER | No | Provider family override (chat-completions, responses, anthropic, auto) | |
| Z_AI_API_KEY | No | Legacy Z.AI / Zhipu API key | |
| Z_AI_BASE_URL | No | Legacy Z.AI base URL | |
| VLM_VISION_MODEL | No | Generic model name (default glm-4.6v) | |
| Z_AI_VISION_MODEL | No | Legacy Z.AI model name | |
| ANTHROPIC_AUTH_TOKEN | No | Fallback Anthropic API key | |
| OPENAI_ANTHROPIC_MODEL | No | Model name for Anthropic Messages provider | |
| OPENAI_RESPONSES_MODEL | No | Model name for Responses provider | |
| OPENAI_ANTHROPIC_API_KEY | No | API key for Anthropic Messages provider | |
| OPENAI_RESPONSES_API_KEY | No | API key for Responses provider | |
| OPENAI_ANTHROPIC_BASE_URL | No | Base URL for Anthropic Messages provider | |
| OPENAI_RESPONSES_BASE_URL | No | Base URL for Responses provider | |
| OPENAI_CHAT_COMPLETIONS_MODEL | No | Model name for Chat Completions provider | |
| OPENAI_CHAT_COMPLETIONS_API_KEY | No | API key for Chat Completions provider | |
| OPENAI_CHAT_COMPLETIONS_BASE_URL | No | Base URL for Chat Completions provider |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ui_to_artifactA | Convert UI screenshots into various artifacts: code, prompts, design specifications, or descriptions. Use this tool ONLY when the user wants to:
Do NOT use for: screenshots containing text/code to extract, error messages, diagrams, or data visualizations. |
| extract_text_from_screenshotA | Extract and recognize text from screenshots using advanced OCR capabilities. Use this tool ONLY when the user has a screenshot containing text and wants to extract it. This tool specializes in OCR for code, terminal output, documentation, and general text extraction. Do NOT use for: UI design conversion, error diagnosis, or diagram understanding. |
| diagnose_error_screenshotA | Diagnose and analyze error messages, stack traces, and exception screenshots. Use this tool ONLY when the user has an error screenshot and needs help understanding or fixing it. This tool specializes in error analysis and provides actionable solutions. Do NOT use for: code extraction, UI analysis, or diagram understanding. |
| understand_technical_diagramA | Analyze and explain technical diagrams including architecture diagrams, flowcharts, UML, ER diagrams, and system design diagrams. Use this tool ONLY when the user has a technical diagram and wants to understand its structure or components. This tool specializes in interpreting visual technical documentation. Do NOT use for: UI screenshots, error messages, or data visualizations/charts. |
| analyze_data_visualizationA | Analyze data visualizations, charts, graphs, and dashboards to extract insights and trends. Use this tool ONLY when the user has a data visualization image and wants to understand the data patterns or metrics. This tool specializes in interpreting visual data representations. Do NOT use for: UI mockups, error messages, or technical architecture diagrams. |
| ui_diff_checkA | Compare two UI screenshots to identify visual differences and implementation discrepancies. Use this tool ONLY when the user wants to compare an expected/reference UI with an actual implementation. This tool is specialized for UI quality assurance and design-to-implementation verification. Do NOT use for: general image comparison, error diagnosis, or analyzing single UIs. |
| analyze_imageA | General-purpose image analysis for scenarios not covered by specialized tools. Use this tool as a FALLBACK when none of the other specialized tools (ui_to_artifact, extract_text_from_screenshot, diagnose_error_screenshot, understand_technical_diagram, analyze_data_visualization, ui_diff_check) fit the user's need. This tool provides flexible image understanding for any visual content. |
| analyze_videoA | Analyze video content using advanced AI vision models. Use this tool when the user wants to:
Supports both local files and remote URL. Maximum file size: 8MB. Supports MP4, MOV, M4V formats. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each specialized tool targets a distinct visual content type (UI, text, errors, diagrams, charts, UI comparison), and the general analyze_image explicitly serves as a fallback for anything not covered. The routing guidelines in the descriptions prevent overlap and misselection.
All tools follow a consistent snake_case convention with action-oriented verbs (extract, diagnose, understand, analyze) followed by their target. Minor deviations: ui_to_artifact and ui_diff_check use compound phrases rather than a strict verb_noun form, but the pattern remains readable.
Eight tools provide a well-scoped set for a vision-language server: five specialized analyzers, one comparison tool, one general fallback, and one video tool. This falls comfortably within the ideal range and every tool addresses a meaningful use case.
The tool set covers the full spectrum of VLM analysis needs: UI, text, errors, diagrams, data visualizations, UI differences, general images, and videos. The fallback analyze_image ensures no input type falls through, making the surface complete.