vision-mcp
vision
纯文本模型看见图。复制截图即可。MIT。
安装用 npm,之后所有操作都是 vision xxxxx。需要 Node 22+。
从 GitHub 安装
npm i -g github:hal666/vision-mcp
vision installvision install 会接到本机已有的 Grok / Codex / Command Code / omp·Pi / Claude / Cursor / OpenCode。
DeepSeek Harness 额外一条(本机源码把路径换成仓库根目录):
dsh plugin --profile web add github:hal666/vision-mcp插件会拦截聊天框附图:先用 vision backend 看图,再把描述交给 deepseek-v4-flash 这类纯文本模型。只装 MCP / Skill 不够,Harness 会在进模型前按 registry 拒图。
然后重启 agent。聊天输入框用斜杠指令(不是终端):
/vision add <model> <apikey>
/vision delete <name>
/vision switch <name>
/vision enable
/vision disable
/vision status
/vision see终端里同样的子命令不带 /:vision add ...。
Related MCP server: Vision MCP Server
指令(终端)
vision add <model> <apikey>
vision delete <name>
vision switch <name>
vision enable
vision disable
vision status
vision see
vision doctor配置:~/.vision-mcp/config.json。密钥不进 mcp.json。
Available Tools
2 toolsvision_seeARead-onlyIdempotent
Look at an image and return a text description/answer. You cannot see images yourself — you MUST call this. Default source is the OS clipboard (user copied or pasted a screenshot). Do NOT ask the user to save a file. Call immediately when the user pastes an image, mentions screenshot/clipboard/图片/截图, or you see an [Image] placeholder. image: omit/'clipboard'/data URI/raw base64/https URL/local path (last resort). question: what to extract or answer.
| Name | Required | Description | Default |
|---|---|---|---|
| image | No | Image source. Omit or 'clipboard' to read the OS clipboard. Also accepts data:image URI, raw base64, https URL, or a local image path. | clipboard |
| question | No | What to look for. Use the user's question when they have one. | Describe this image in detail. Transcribe all visible text exactly. If it is a UI, error, terminal, or code screenshot, say what is broken and what to do next. |
| max_tokens | No | Max tokens from the vision model. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is clear. The description adds value by explaining the default clipboard source and stating that the AI 'cannot see images yourself — you MUST call this,' which clarifies a key behavioral constraint not covered by annotations.
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 efficient but could be tighter. The first two sentences are strong. The list of image sources and the question guidance are useful but slightly verbose; a simpler format like 'image: clipboard, data URI, base64, URL, or path (last resort)' would be clearer.
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's three parameters, full schema coverage, output schema, and annotations, the description covers all essential aspects: when to use, image sources, question handling, and behavioral notes. No gaps remain for an AI agent to safely invoke this tool.
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 100%, so the baseline is 3. However, the description adds meaning by explaining when to omit or set parameters (e.g., 'omit/clipboard' for image, default question for describe/transcribe actions) and providing a sensible default for question that covers multiple use cases (UI, error, terminal, code screenshots). The description also clarifies the priority: user question > default.
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's purpose: 'Look at an image and return a text description/answer.' It specifies the verb (look, return), resource (image), and distinguishes itself from the sibling vision_status by focusing on image content analysis rather than system status.
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 provides explicit guidance on when to use the tool ('when the user pastes an image, mentions screenshot/clipboard/图片/截图, or you see an [Image] placeholder') and what not to do ('Do NOT ask the user to save a file'). It also includes instructions on default behavior (OS clipboard) and alternative image sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vision_statusARead-onlyIdempotent
Check vision config and whether the OS clipboard currently holds an image. Use when vision_see fails or before asking the user to copy again.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent understands this is a safe, non-mutating operation. The description adds value by specifying the exact state it checks (vision config and clipboard content), which goes beyond the annotations. With good annotation coverage, the high baseline is justified, and the description contributes additional context.
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 two sentences long with no wasted words. The first sentence front-loads the purpose, and the second provides usage guidance. Every sentence is necessary and 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 zero parameters, an output schema, and rich annotations, the description is complete. It clearly states what the tool does and when to use it, leaving no gaps for the agent to interpret. The output schema handles return value details, so no further description is needed.
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 tool has zero parameters and schema coverage is 100%, so there is no parameter burden. The description adds meaning by explaining what the tool checks (vision config, OS clipboard) without needing to document parameters. Since there are no parameters, the baseline is 4, and the description fulfills the need for contextual meaning.
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 checks vision config and whether the OS clipboard holds an image. It specifies the verb ('check') and the resources ('vision config', 'OS clipboard'), and it distinguishes itself from the sibling 'vision_see' by mentioning a fallback use case.
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 tells when to use this tool: 'Use when vision_see fails or before asking the user to copy again.' This provides clear context and an alternative (the sibling tool), which is ideal for an agent deciding between tools.
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.
2 tool updates
v0.1.0- First observed
vision_see - First observed
vision_status
TDQS
Scored across 2 tools
The two tools have completely separate purposes: 'vision_see' performs the core image analysis and description, while 'vision_status' checks configuration and clipboard state. There is no overlap or ambiguity in their roles.
Both tools follow a consistent 'vision_verb' naming pattern: 'vision_see' and 'vision_status'. The prefix establishes the domain clearly, and the verbs are distinct and descriptive.
With only 2 tools, the server is on the borderline of being too thin for a typical MCP server. While the two tools cover the essential workflow, the set feels minimal and lacks ancillary tools that might be expected (e.g., configuration or image management).
The server covers the core use case of analyzing an image and checking readiness. Minor gaps exist (e.g., no explicit error recovery or format listing), but agents can work around these by combining the existing tools or relying on user assistance.
Maintenance
Related MCP Connectors
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Mac & Windows: let ChatGPT, Claude & Cursor use your email, calendar, iMessage, Teams, files. Free.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
One memory for you and your AI agents, shared by ChatGPT, Claude, Gemini, Grok, Codex and Cursor.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables LLMs to capture and analyze screenshots of your screen, windows, or regions with smart detection capabilities. Features natural language queries, automatic window targeting, and text enhancement for UI debugging and visual inspection.2MIT
- FlicenseNot gradedqualityDmaintenanceProvides free and unlimited vision capabilities for AI coding assistants using the Groq API and Meta Llama 4 Vision model. It enables users to perform image analysis, OCR, UI layout description, and error diagnosis directly from screenshots and documents.-
- AlicenseBqualityDmaintenanceEnables text-only AI models to understand clipboard images by describing them through a vision model, eliminating manual file saving.1243MIT
- AlicenseAqualityDmaintenanceGives vision-less LLMs the ability to recognize clipboard screenshots and images by proxying to an OpenAI-compatible vision model.115 npm2MIT