Photo Vlm
БесплатноНе проверенA local Ollama-backed MCP server that gives coding assistants a portable photo-understanding toolset including photo analysis, OCR, scene inspection, comparison
Описание
A local Ollama-backed MCP server that gives coding assistants a portable photo-understanding toolset including photo analysis, OCR, scene inspection, comparison, and metadata extraction.
README
photo-vlm-mcp is a local, Ollama-backed MCP server that gives coding assistants a
portable photo-understanding toolset:
analyze_photo- ask questions about a real-world photo.photo_ocr- extract text from labels, receipts, whiteboards, signs, and photographed pages.inspect_scene- return structured objects, scene context, visible text, quality, and uncertainty.compare_photos- compare before/after or near-duplicate photos.extract_metadata- read dimensions, orientation, EXIF fields, GPS, and optional SHA-256.health- check Ollama reachability and configured model availability.
It is designed for user-level registration with Claude Code, Codex, Antigravity, Cursor, Cline, Windsurf, Zed, and other MCP clients.
Requirements
- Python 3.11+
- Ollama running locally
- A vision-capable Ollama model
Recommended local models:
ollama pull qwen3-vl:8b
ollama pull minicpm-v
If qwen3-vl:8b is unavailable in your Ollama build, use qwen2.5vl:7b or another
vision model from ollama.com/search?c=vision.
Install
Directly from GitHub:
python -m pip install "git+https://github.com/YehudRaanan/photo-vlm-mcp.git"
Or run without a persistent install using uvx:
uvx --from "git+https://github.com/YehudRaanan/photo-vlm-mcp.git" photo-vlm-mcp --version
For local development:
git clone https://github.com/YehudRaanan/photo-vlm-mcp.git
cd photo-vlm-mcp
python -m pip install -e .
With optional Tesseract OCR support:
python -m pip install -e ".[tesseract]"
Run
photo-vlm-mcp
The server uses MCP over stdio, so it normally runs under an MCP client rather than as a long-lived terminal command.
Helpful local checks:
photo-vlm-mcp --version
photo-vlm-mcp --print-config
Register With Claude Code
claude mcp add photo-vlm --scope user -- photo-vlm-mcp
With explicit model config:
claude mcp add photo-vlm --scope user `
-e OLLAMA_URL=http://127.0.0.1:11434 `
-e PHOTO_VLM_MODEL=qwen3-vl:8b `
-e PHOTO_OCR_MODEL=minicpm-v `
-- photo-vlm-mcp
Register With Codex / Antigravity / Other MCP Clients
Add this server to the client user-level MCP config:
{
"mcpServers": {
"photo-vlm": {
"command": "photo-vlm-mcp",
"env": {
"OLLAMA_URL": "http://127.0.0.1:11434",
"PHOTO_VLM_MODEL": "qwen3-vl:8b",
"PHOTO_OCR_MODEL": "minicpm-v"
}
}
}
}
If the console script is not on PATH, use:
{
"command": "python",
"args": ["-m", "photo_vlm_mcp"]
}
Configuration
| Variable | Default | Meaning |
|---|---|---|
OLLAMA_URL |
http://127.0.0.1:11434 |
Ollama endpoint |
PHOTO_VLM_MODEL |
qwen3-vl:8b |
Model for analysis, scene inspection, comparison |
PHOTO_OCR_MODEL |
minicpm-v |
Model for VLM OCR |
PHOTO_VLM_MAX_TOKENS |
1024 |
Default generation limit |
PHOTO_VLM_TIMEOUT |
120 |
Ollama request timeout in seconds |
PHOTO_VLM_KEEP_ALIVE |
10m |
Ollama keep-alive setting |
PHOTO_VLM_MAX_DIM |
2048 |
Downscale longest side before inference |
PHOTO_VLM_MAX_IMAGE_MB |
20 |
Reject larger images |
PHOTO_VLM_FETCH_TIMEOUT |
15 |
URL fetch timeout |
PHOTO_VLM_ALLOW_PRIVATE_URLS |
0 |
Allow private/loopback URLs |
PHOTO_VLM_ALLOWED_ROOTS |
unset | Optional path allow-list, separated by ; on Windows or : elsewhere |
Legacy aliases VLM_MODEL, OCR_MODEL, and related VLM_* variables are also accepted.
Privacy
extract_metadataomits GPS coordinates unless called withinclude_gps=true.OLLAMA_URLdefaults to localhost. A remote value sends image bytes off this machine.- With
PHOTO_VLM_ALLOWED_ROOTSunset, any absolute path is readable; scope it in shared or agent-driven setups. See SECURITY.md.
Reliability Contract
Local VLM output is assistive visual evidence, not a deterministic classifier. For audits, measurements, compliance, or scientific reporting, use structured tables, rasters, metadata, or other deterministic sources as the source of truth.
VLM-backed tools return completion_status, warnings, and diagnostics in addition to
their normal text or JSON payload. Treat completion_status: "possibly_incomplete" as a
signal to retry, simplify the image/prompt, use a stronger model, or fall back to the
deterministic source. diagnostics.done_reason exposes Ollama's finish reason when
available; ollama_stopped_for_length, dangling_terminal_phrase, and
missing_terminal_punctuation warnings indicate weak or suspicious output.
QA
python -m pytest
python -m ruff check src tests scripts
python -m black --check src tests scripts
python -m isort --check-only src tests scripts
The unit tests mock Ollama and validate image input handling, metadata extraction, prompt construction, and client behavior. Live model quality evaluation belongs in a separate environment with Ollama and selected models installed.
See also:
License
MIT
Установка Photo Vlm
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/YehudRaanan/photo-vlm-mcpFAQ
Photo Vlm MCP бесплатный?
Да, Photo Vlm MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Photo Vlm?
Нет, Photo Vlm работает без API-ключей и переменных окружения.
Photo Vlm — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Photo Vlm в Claude Desktop, Claude Code или Cursor?
Открой Photo Vlm на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Omni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
автор: buildwithtazaARA
Generate images, video and audio from any AI agent — one connector.
автор: ARAYouTube
Transcripts, channel stats, search
автор: YouTubeEverArt
AI image generation using various models.
автор: modelcontextprotocolCompare Photo Vlm with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории media
