vision-mcp
vision-mcp
Los modelos de texto puro ven imágenes. Basta con copiar la captura de pantalla; no hace falta guardar archivos ni configurar un gateway.
Visión predeterminada: Groq gratuito qwen/qwen3.6-27b.
Instalación
cd D:\workplace\vision
python -m venv .venv
.venv\Scripts\pip install -e .
.venv\Scripts\python -m vision_mcp setup --key gsk_你的keyClave gratuita: https://console.groq.com/keys
setup hará:
Escribirá la clave en
%USERPROFILE%\.vision-mcp\config.json(no en mcp.json)Se conectará automáticamente a los Command Code / Grok / OpenCode / Cursor / Claude ya existentes en el equipo
Instalará la habilidad
vision-see
Luego reinicia el agente correspondiente, o reconecta con /mcp en Command Code.
Related MCP server: Vision MCP Server
Activar / Desactivar
.venv\Scripts\python -m vision_mcp disable
.venv\Scripts\python -m vision_mcp enable
.venv\Scripts\python -m vision_mcp statusCuando no lo uses, disable. En Command Code también puedes desconectarte con /mcp en la sesión, sin necesidad de borrar la configuración.
Uso
Copia la captura de pantalla (
Win+Shift+S)Dile al agente: mira esta imagen / qué error hay en el portapapeles
El agente llama a
vision_see, que por defecto lee el portapapeles
[Image 1] se trata como portapapeles, no como ruta.
Herramientas
Herramienta | Función |
| Ver imagen. Por defecto portapapeles; también admite data URI / base64 / URL / rutas |
| Comprueba la configuración y si el portapapeles tiene una imagen |
Cambiar de modelo
Solo modifica %USERPROFILE%\.vision-mcp\config.json, o establece una variable de entorno. No necesitas tocar la configuración de MCP.
{
"api_key": "gsk_...",
"model": "qwen-vl-max",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1"
}Configuración manual
Si setup ya la ha escrito, no es necesario volver a pegarla. El formato es el mismo que el de Command Code:
{
"mcpServers": {
"vision": {
"transport": "stdio",
"enabled": true,
"command": "D:\\workplace\\vision\\.venv\\Scripts\\python.exe",
"args": ["-m", "vision_mcp"]
}
}
}No pongas la clave en este archivo.
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