Skip to main content
Glama

Vision Eyes MCP — локальные «глаза» для ИИ-агентов

Один мега-инструмент vision_eyes. 100% локально (Pillow + numpy). Без cloud API, без ключей, без оплаты.

Когда агент вызывает инструмент — получает детальный разбор кадра: размер, яркость, RGB-статистика, доминантные цвета (k-means), сетка 3×3 с координатами, гистограмма яркости, крупные однородные регионы с bbox, резкость, плотность краёв, симметрия. Попиксельно: pixel x,y. Зум: crop. Координаты: grid. Diff: compare.

Установка в 1 команду

pip install "git+https://github.com/Mishaadevv/vision-eyes-mcp.git"

Проверка:

python -m vision_eyes_mcp.server --help  # или просто запустится по stdio

Related MCP server: Vision MCP Server

Подключение

opencode (opencode.json)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vision-eyes": {
      "type": "local",
      "command": ["python", "-m", "vision_eyes_mcp.server"],
      "enabled": true
    }
  }
}

С uv (если установлен):

{ "mcp": { "vision-eyes": { "type": "local",
  "command": ["uvx", "--from", "git+https://github.com/Mishaadevv/vision-eyes-mcp.git", "vision-eyes-mcp"] } } }

Cline (.cline/mcp_settings.json или настройки MCP)

{
  "mcpServers": {
    "vision-eyes": {
      "command": "python",
      "args": ["-m", "vision_eyes_mcp.server"]
    }
  }
}

Claude Code (claude mcp add)

claude mcp add vision-eyes -- python -m vision_eyes_mcp.server

Codex (~/.codex/config.toml)

[mcp_servers.vision-eyes]
command = "python"
args = ["-m", "vision_eyes_mcp.server"]

Cursor / Windsurf / любой stdio-клиент

  • Command: python

  • Args: -m vision_eyes_mcp.server

Картинки прямо из чата + финальный ответ

Не нужно сохранять файлы: агент передаёт вложение из чата как image_base64 (поддерживаются data:image/...;base64,...), а правило в AGENTS.md заставляет его делать это автоматически. Скопируй AGENTS.md в свой проект.

Финальное название объекта даёт action=classify — локальный CLIP (zero-shot, без облака и оплаты). Включение одной командой:

pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install "vision-eyes-mcp[local-ai] @ git+https://github.com/Mishaadevv/vision-eyes-mcp.git"

Первый запуск classify скачает веса CLIP (~350 МБ) с HuggingFace, дальше работает офлайн.

vision_eyes action=classify image_path="tank.png" lang=ru
vision_eyes action=classify image_path="tank.png" labels="T-34 tank, M46 Patton tank, Tiger tank" lang=ru

Скриптовые детекторы (без моделей, v0.3.0)

action=analyze detail=deep добавляет секцию «Подсказки для опознания» — гипотезы, не факты:

  • кандидаты в ствол (длинные прямые в средней зоне кадра + куда зумить для проверки),

  • покрытие хаки/олива и пустынного загара (военная техника?),

  • улица/ангар по верхней полосе и ровности света.

Инструмент предлагает — агент проверяет кропами своим зрением.

Использование (агентом)

vision_eyes action=analyze image_path="C:/pics/photo.png" detail=deep lang=ru
vision_eyes action=pixel image_path="C:/pics/photo.png" x=120 y=80
vision_eyes action=crop image_path="C:/pics/photo.png" x0=40 y0=50 x1=300 y1=400 scale=4
vision_eyes action=grid image_path="C:/pics/photo.png" grid_step=100
vision_eyes action=compare image_path="a.png" image_path2="b.png"

Координаты: x 0..W-1 слева направо, y 0..H-1 сверху вниз. detail: standard | deep (по умолч.) | ultra. Вход: image_path ИЛИ image_url ИЛИ image_base64.

Как это даёт «каждый пиксель»

  1. analyze — весь кадр цифрами + bbox регионов.

  2. crop — сохраняет увеличенный кроп, агент смотрит его своим зрением.

  3. pixel — точный цвет точки + окрестность 5×5 и патч 32×32.

  4. grid — сетка координат для привязки зон.

Семантику («что за объект») докручивает сам агент своим VLM по кропам — сервер даёт ему цифры и зумы, которых нет при обычном просмотре.

Локальная разработка

pip install -e ".[dev]"  # dev-экстры нет, хватит: pip install -e .
python -m vision_eyes_mcp.server  # stdio

Зависимости: mcp>=1, pillow>=10, numpy>=1.24. Совместимо с MCP SDK v1 (FastMCP) и v2 (MCPServer).

Лицензия MIT.

Available Tools

1 tool
vision_eyesVision Eyes — локальный разбор изображенияA

LOCAL image eyes for AI agents. No cloud, no API keys, no payments — Pillow+numpy only. action='analyze' gives full breakdown (size, brightness, RGB stats, dominant colors, 3x3 grid, brightness histogram, homogeneous regions with bboxes, sharpness, edge density). action='pixel' returns exact color at x,y + neighborhood. action='crop' saves an enlarged crop so the agent can look closer with its own vision. action='grid' saves a coordinate-grid overlay. action='compare' diffs two images. action='classify' gives the FINAL name of the object via local CLIP zero-shot (needs optional local-ai install, still no cloud; pass labels='a, b, c' for exact candidates, e.g. labels='T-34 tank, M46 Patton tank, Tiger tank'). Give image_path OR image_url OR image_base64 (chat attachments as base64/data-URL work). Coordinates: x 0..W-1 left->right, y 0..H-1 top->bottom.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNox для pixel
yNoy для pixel
x0Nocrop left
x1Nocrop right
y0Nocrop top
y1Nocrop bottom
langNoru | enru
scaleNoУвеличение кропа 1-8
actionNoanalyze | pixel | crop | grid | compare | classifyanalyze
detailNostandard | deep | ultradeep
labelsNoКандидаты для classify через запятую, напр. 'T-34 tank, Tiger tank'
grid_stepNoШаг сетки в px
image_urlNoHTTP(S) URL картинки
image_pathNoЛокальный путь к файлу
image_url2NoВторой URL для compare
output_dirNoКуда сохранять crop/grid
image_path2NoВторой файл для compare
image_base64Nobase64 (можно data:image/..;base64,..)
image_base642NoВторой base64 для compare

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It clearly states local-only operation, no API keys/payments, the Pillow+numpy dependency, the optional local-ai install for classify, and the coordinate convention (x left→right, y top→bottom). It does not mention error cases or what happens when no image source is provided, but the main behavioral traits are transparently disclosed.

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 dense but every sentence earns its place: value proposition first, then per-action behavior, then input formats, then coordinate conventions. It is a single run-on paragraph rather than structured bullets, which slightly hurts scanability, but there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-action tool with 19 optional parameters, the description covers the action vocabulary, image input variants, the classification label contract, dependency requirements, and coordinate rules. Since an output schema exists, not detailing return values is acceptable. A minor gap is that it doesn't specify which parameters are required per action (e.g., compare needs a second image), but overall the guidance is sufficient.

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 description coverage is 100%, setting a baseline of 3, but the description adds meaning beyond the terse per-parameter schema text: it explains the three interchangeable input sources (image_path/image_url/image_base64), the labels format with concrete examples, and which action consumes which parameters. This meaningfully helps an agent map parameters to intents.

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 opens with 'LOCAL image eyes for AI agents' and sharply enumerates six concrete actions (analyze, pixel, crop, grid, compare, classify), each with its own output. It states exactly what the tool does — local image parsing with no cloud — and is specific enough to stand alone even without sibling tools to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There are no sibling tools, so no alternative selection is needed, but the description gives clear per-action usage context: pixel for exact color at coordinates, crop 'so the agent can look closer', classify with explicit label examples. It also flags the optional local-ai install requirement for classify, which is exactly the kind of conditional guidance an agent needs.

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.

  1. 1 tool updatev0.3.0
    • First observedvision_eyes

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no risk of selecting the wrong tool. The internal action modes are clearly separated and described, making each use case easy to distinguish.

Naming Consistency5/5

With a single tool, there is no naming inconsistency to penalize. 'vision_eyes' is a clear, snake_case, descriptive name that matches the server's purpose.

Tool Count3/5

A single tool is on the low end of tool countsainer, but the tool is not trivial since it packs many actions into an action parameter. The unified design is reasonable, though splitting it into separate tools might improve clarity.

Completeness4/5

The single tool covers a wide range of local image needs: analysis, exact pixel lookup, cropping, grid overlays, image comparison, and classification. The main gap is that it relies on optional local-ai installation for classification and lacks some advanced image operations, but core 'eyes' functionality is well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    Enables AI agents to analyze images through vision AI providers (Gemini, OpenAI, Claude), performing tasks like image description, object detection with bounding boxes, region-specific analysis, and precise color extraction without consuming context window with raw pixels.
    4
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to process images locally via file paths—converting, resizing, removing backgrounds, smart cropping, upscaling, reading or stripping metadata, and batch processing—without files ever leaving the device.
    MIT