dsh-vision
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VISION_HOST | No | Host for streamable-http mode. Default: 127.0.0.1 | 127.0.0.1 |
| VISION_PORT | No | Port for streamable-http mode. Default: 8000 | 8000 |
| VISION_MODEL | No | Default model. Default: glm-4v-plus | glm-4v-plus |
| ZHIPU_API_KEY | No | Zhipu API key, used as fallback if VISION_API_KEY and OPENAI_API_KEY are not set. | |
| OPENAI_API_KEY | No | OpenAI API key, used as fallback if VISION_API_KEY is not set. | |
| VISION_API_KEY | No | API Key. Required. Fallback order: VISION_API_KEY → OPENAI_API_KEY → ZHIPU_API_KEY. | |
| VISION_TIMEOUT | No | Request timeout in seconds. Default: 300 | 300 |
| VISION_BASE_URL | No | OpenAI-compatible endpoint. Default: https://open.bigmodel.cn/api/paas/v4 | https://open.bigmodel.cn/api/paas/v4 |
| VISION_MAX_FILES | No | Maximum number of documents per request. Default: 4 | 4 |
| VISION_TRANSPORT | No | Transport mode: stdio or streamable-http. Default: stdio | stdio |
| VISION_MAX_IMAGES | No | Maximum number of images per request. Default: 4 | 4 |
| VISION_MAX_VIDEOS | No | Maximum number of videos per request. Default: 1 | 1 |
| VISION_DOC_TOOL_TYPE | No | Zhipu document parsing tool: lite (free), expert (better for PDF tables/formulas), prime (complex layout). Default: lite | lite |
| VISION_MAX_DOC_CHARS | No | Maximum characters of parsed document text fed to model. Default: 500000 | 500000 |
| VISION_MAX_FILE_BYTES | No | Local document size limit. Default: 20 MiB | 20 MiB |
| VISION_MAX_IMAGE_BYTES | No | Local image size limit. Default: 20 MiB | 20 MiB |
| VISION_MAX_VIDEO_BYTES | No | Local video size limit. Default: 50 MiB | 50 MiB |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vision_analyzeA | Analyze one or more images with a vision model. Works for photos, screenshots, UI layouts, charts, plots, schematics, etc. For text extraction prefer vision_ocr. Args: images: Image references. Each item may be an http(s) URL, a local file path, or a data:image/...;base64,... data URI. prompt: The question or instruction for the vision model. Be as specific as possible (e.g. "What does this chart show? List the axes and trends."). model: Optional model name override (e.g. glm-4.6v). Defaults to the server's configured VISION_MODEL. max_tokens: Optional cap on the response length. thinking: Enable the reasoning chain (Zhipu glm-4.6v+; ignored by other providers that don't support it). Useful for complex charts/docs. Returns: The model's text answer. |
| vision_ocrA | Extract all text from one or more images (OCR via vision model). Args: images: Image references (http(s) URL, local file path, or data URI). Returns: The extracted text. |
| vision_videoA | Understand one or more videos with a vision model. Args: videos: Video references. Each item may be an http(s) URL, a local file path (mp4/mov/avi/mkv/webm/...), or a data:video/...;base64 data URI. prompt: The question or instruction, e.g. "Summarize what happens in this video." / "At which second does the person enter the frame?". For temporal questions be explicit about time points. model: Optional model name override (e.g. glm-4.6v). Defaults to the server's configured VISION_MODEL. max_tokens: Optional cap on the response length. thinking: Enable the reasoning chain (Zhipu glm-4.6v+; ignored by other providers that don't support it). Useful for complex charts/docs. Returns: The model's text answer. |
| vision_documentA | Ask questions about documents (pdf/doc/docx/xls/xlsx/ppt/pptx/txt/md/csv). Great for reports, papers, spec sheets, and extracting data from complex tables and charts embedded in documents. Args: files: Document references. Each item may be an http(s) URL, a local file path, or a data:application/...;base64 data URI. prompt: The question or instruction, e.g. "Summarize the key findings." / "What is the maximum value in the table on page 2?". model: Optional model name override (e.g. glm-4.6v). Defaults to the server's configured VISION_MODEL. max_tokens: Optional cap on the response length. thinking: Enable the reasoning chain (Zhipu glm-4.6v+; ignored by other providers that don't support it). Useful for complex charts/docs. Returns: The model's text answer. |
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 4 tools
Each tool targets a distinct input type: vision_analyze for images, vision_ocr for text extraction from images, vision_video for videos, and vision_document for documents. The description explicitly advises using vision_ocr over vision_analyze for text extraction, eliminating ambiguity.
All tools follow a consistent vision_ prefix and use lowercase snake_case. However, vision_analyze uses a verb while vision_ocr, vision_video, and vision_document use nouns or acronyms, creating a minor inconsistency in part of speech.
With 4 tools, the server is well-scoped for its domain of multimodal vision analysis. Each tool addresses a different input modality (images, OCR, videos, documents), leaving no obvious gaps while avoiding unnecessary bloat.
The set covers the core capabilities one would expect from a vision MCP server: general image analysis, OCR, video understanding, and document Q&A. No essential operations are missing for the stated purpose of analyzing visual content.