Skip to main content
Glama

vision-mcp

A plain-text model that can see images. Just copy and paste a screenshot—no need to save files or fill in gateways.

Default vision: Groq free qwen/qwen3.6-27b.

Installation

cd D:\workplace\vision
python -m venv .venv
.venv\Scripts\pip install -e .
.venv\Scripts\python -m vision_mcp setup --key gsk_你的key

Free key: https://console.groq.com/keys

setup will:

  • Write the key to %USERPROFILE%\.vision-mcp\config.json (not into mcp.json)

  • Automatically connect to existing Command Code / Grok / OpenCode / Cursor / Claude on this machine

  • Install the vision-see skill

Then restart the corresponding agent, or use /mcp to reconnect in Command Code.

Related MCP server: Vision MCP Server

Toggle

.venv\Scripts\python -m vision_mcp disable
.venv\Scripts\python -m vision_mcp enable
.venv\Scripts\python -m vision_mcp status

Use disable when not needed. In Command Code, you can also disconnect via /mcp in the session without deleting the configuration.

Usage

  1. Copy a screenshot (Win+Shift+S)

  2. Tell the agent: look at this image / what's the error in the clipboard

  3. The agent calls vision_see, which reads the clipboard by default

[Image 1] is treated as clipboard content, not a file path.

Tools

Tool

Description

vision_see

View an image. Defaults to clipboard, also accepts data URI / base64 / URL / path

vision_status

Check configuration and whether the clipboard contains an image

Change Model

Only modify %USERPROFILE%\.vision-mcp\config.json or set an environment variable. No need to touch the MCP configuration.

{
  "api_key": "gsk_...",
  "model": "qwen-vl-max",
  "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1"
}

Manual Configuration

If setup has already been run, there's no need to paste it again. The format is the same as Command Code:

{
  "mcpServers": {
    "vision": {
      "transport": "stdio",
      "enabled": true,
      "command": "D:\\workplace\\vision\\.venv\\Scripts\\python.exe",
      "args": ["-m", "vision_mcp"]
    }
  }
}

Do not write the key into this file.

Available Tools

2 tools
vision_seeA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNoImage source. Omit or 'clipboard' to read the OS clipboard. Also accepts data:image URI, raw base64, https URL, or a local image path.clipboard
questionNoWhat 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_tokensNoMax tokens from the vision model.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_statusA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedvision_see
    • First observedvision_status

TDQS

A4.6/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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).

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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/hal666/vision-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server