vision-reader
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vision-readerLoad the image and give me an overview of the UI layout."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vision-reader
给没有图像能力的 LLM 的"看图能力"工具:把图片的像素 + 坐标整理成模型可读的文本,让模型理解复杂图片(截图、文档、图表、UI 界面等)。
用法一句话:vision analyze 你的图片.png,其余全部自动。 内部自动完成 全图概览 → 自动挑选关注区域 → 编码细看 → OCR → 输出完整 Markdown 报告,不需要任何手动调度。
安装(约 2 分钟)
第 1 步:安装 uv(Python 包管理器,会自动带上 Python,无需手动装 Python)
Windows(任选其一):
winget install astral-sh.uv或
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh装完重开终端,输入 uv --version 能输出版本号即成功。
第 2 步:获取项目并安装依赖
git clone https://github.com/JoshuaLam21/vision-reader.git
cd vision-reader
uv sync --extra dev --extra mcp⏳ 首次安装需要下载 torch / easyocr 等依赖,约几百 MB,请耐心等几分钟,进度条走完即可。
第 3 步:验证安装成功
uv run vision demo看到终端输出一份 Markdown 报告、并在 demo/output/report.md 生成文件,说明安装成功。
Related MCP server: VisionPower
快速开始(30 秒上手)
看你自己的一张图
uv run vision analyze 你的图片.png --out report.md打开 report.md,就是完整的图片理解报告(整体概览 + 局部细节 + OCR 文字 + 坐标索引)。
首次运行会自动下载 OCR 模型权重(约 60 MB,一次性,存到
~/.EasyOCR),请耐心等待。
没有图片?跑个演示
uv run vision demo自动生成一张合成图并分析,输出到 demo/output/。
常用命令速查
想做什么 | 命令 |
一键分析图片(主用法) |
|
分析并保存报告 |
|
只看全图概览 |
|
裁剪某区域细看 |
|
提取某区域文字 |
|
跑完整演示 |
|
所有坐标都是归一化坐标 (0~1),0,0 是左上角,1,1 是右下角。
常见问题(FAQ)
Q:uv 命令找不到?
安装 uv 后需要重开终端(让 PATH 生效);Windows 用户也可以重启一下终端窗口。
Q:安装/下载很慢?
首次 uv sync 要下载 torch(几百 MB),首次 analyze 要下载 OCR 模型(约 60 MB)。都是一次性的,之后秒开。网络慢可考虑配置镜像源。
Q:vision analyze 报错?
先跑 uv run vision demo 确认环境正常;如果 demo 正常而你自己的图报错,可能是图片路径含中文/空格——用引号包起来:uv run vision analyze "我的 图片.png"。
Q:我想让 Claude / 我的 AI 直接"看图"?
见下方 MCP Server 章节,配置一次后,AI 就能调用 vision_analyze 工具看你的图。
CLI 用法
一键分析(推荐,主用法)
uv run vision analyze <图片> [--grid 8x8] [--top 3] [--out report.md] [--summary] [--no-ocr]参数 | 说明 |
| 全图概览网格,默认 8x8 |
| 自动细看的区域数,默认 3 |
| 报告保存路径(默认仅打印) |
| 输出 token 精简摘要(布局要点+区域要点+OCR 汇总,约省 80% token;适合大图/长上下文受限) |
| 跳过 OCR |
内部自动流程:全图概览 → 按边缘密度排序挑选候选区域、膨胀并合并重叠 → 每个区域自动选编码器(颜色丰富用 color_stats,否则 ascii_art)→ 疑似文字区域自动 OCR → 汇总 Markdown 报告。
报告开头自带"给模型的导读":说明坐标归一化、ASCII 字符含义、边缘密度解读、OCR 可能出错等,帮助模型正确解读像素统计,无需额外提示。
分步用法(高级)
uv run vision overview <图片> --grid 8x8 # 1. 全图 chunk 概览
uv run vision crop <图片> --region 0.1,0.1,0.5,0.5 --encode ascii_art --size 64 # 2. 裁剪+编码
uv run vision ocr <图片> --region 0.02,0.42,0.6,0.58 --engine easyocr --languages ch_sim,en # 3. OCR
uv run vision report obs1.json obs2.json --out report.md # 4. 汇总报告crop 参数:--scale 放大倍数(默认 2.0)、--encode 编码器(ascii_art / grayscale_grid / color_stats)、--color 保留彩色、--json 输出 JSON 供 report 汇总。
三种编码器(模型按需自选)
名称 | 输出 | 特点 |
| 灰度数字网格(量化级数可调) | 最接近原始像素读数,token 消耗大 |
| 字符明暗密度图 | token 最省、最易读 |
| 分块主色/亮度/边缘密度统计 | 适合颜色与结构判断 |
编码器可插拔:实现 vision_reader/encoders/base.py 的 Encoder 接口并加 @register 即可。
Python 库用法
from vision_reader import image_io
from vision_reader.analyzer import analyze
img = image_io.load_image("截图.png") # 支持路径 / base64 / bytes / ndarray
result = analyze(img, top_n=3, ocr=True) # 一键分析(无需调度)
print(result.to_report()) # 完整 Markdown 报告
# 需要精细控制时,可用分步 API:
from vision_reader import crop, overview
from vision_reader.encoders import encode
from vision_reader.ocr import recognize
chunks = overview.chunks(img, grid=(8, 8)) # 全图概览
cr = crop.region(img, 0.1, 0.1, 0.5, 0.5, scale=2.0) # 裁剪放大
print(encode(cr.image, name="grayscale_grid", grid_width=32)) # 编码细看
result = recognize(cr.image, engine="easyocr", languages=("ch_sim", "en")) # OCROCR 引擎
默认 EasyOCR(ch_sim + en):pip 可装、纯 Python 生态、无需外部服务;首次使用会自动下载模型权重到
~/.EasyOCR。PaddleOCR(可选占位):中文效果更优但依赖 PaddlePaddle(体积大)。当前为占位实现,接口已就绪:补全
vision_reader/ocr/paddleocr_engine.py后,一行切换--engine paddleocr。
MCP Server(让 AI 直接看图)
把 vision-reader 封装为 MCP 工具,配置一次后,Claude Code / Reasonix / Cursor 等支持 MCP 的客户端里的 AI 就能调用工具看图。
第 0 步(可选):全局安装,注册时不用写路径
uv tool install . --extra mcp # 全局安装 vision / vision-mcp 命令(含依赖,约几百 MB,一次性)
vision-mcp # 测试:启动后不退出、无报错即正常(Ctrl+C 停止)装完后 vision-mcp 是全局命令,注册配置只需一行(见第 3 步"方式一"),任何目录都能用。
第 1 步:确认已装 mcp 依赖
uv sync --extra mcp # 安装过(--extra dev --extra mcp)则跳过第 2 步:测试 server 能启动
uv run python -m vision_reader.mcp_server启动后不退出、无报错即为正常(按 Ctrl+C 停止)。
第 3 步:注册到客户端
方式一:全局命令(推荐,做了第 0 步后适用)——Claude Code 项目根目录 .mcp.json:
{
"mcpServers": {
"vision-reader": {
"command": "vision-mcp"
}
}
}方式二:项目路径(没做第 0 步;把 <项目路径> 换成你的实际路径):
{
"mcpServers": {
"vision-reader": {
"command": "uv",
"args": ["--directory", "<项目路径>", "run", "python", "-m", "vision_reader.mcp_server"]
}
}
}Reasonix / Cursor:同样以 stdio server 方式注册,指向上述 command/args。
工具清单
工具 | 说明 |
| 【一键】自动分析整图:概览+选区域+编码+OCR,返回完整 Markdown 报告( |
| 注册图片(路径或 base64),返回 |
| 全图 chunk 概览(默认 8x8,可调 grid) |
| 按归一化坐标裁剪 + 编码( |
| 区域 OCR(返回文本 + 置信度 + 归一化 bbox) |
| 查询可用的编码器 / OCR 引擎 |
给 AI 的使用建议:用户说"看这张图",直接调用 vision_analyze 一次即可,无需任何调度;需要精细控制时再用 vision_load_image + 分步工具(后续工具只传 image_id,避免重复传 base64 浪费 token)。OCR 引擎在 server 启动时预热,首次调用不卡顿。
验证接入成功
注册后在客户端里对 AI 说:"分析这张图:<图片路径>"。AI 应自动调用 vision_analyze 并返回一份 Markdown 报告(含整体概览、局部细节、OCR 文字、坐标索引)。如果 AI 说找不到工具,检查 .mcp.json 的 command/args 和路径是否正确,重启客户端生效。
接入你的 AI Agent(不用 MCP,bash 方式)
📖 给 agent 的完整知识卡见
AGENT-GUIDE.md(六层知识 + prompt 模板 + 调用示例)。 🎯 现成 skill 见skills/vision-reader/SKILL.md——直接复制到.claude/skills/或 Reasonix skills 目录即可用。
不想用 MCP 时,CLI 本身即工具形态,任何 agent 都可以通过 bash 直接调用。做法:把下面的说明写进你的 agent 的 skill / 命令配置:
# 看图的工具(vision-reader)
当需要理解一张图片时:
1. `uv run vision analyze <img> --out report.md` → 一键自动分析,读 report.md 理解图片
2. 需要更细看某区域时:`uv run vision crop <img> --region x1,y1,x2,y2 --encode ascii_art`
3. 需要读文字时:`uv run vision ocr <img> --region x1,y1,x2,y2`前提:agent 运行环境已安装 vision-reader(uv sync --extra dev --extra mcp,或全局 uv tool install . --extra mcp 后直接用 vision analyze)。要点:坐标一律用归一化 (0~1);token 预算有限时优先 ascii_art。
项目结构
vision_reader/
├── image_io.py # 图片加载(路径/base64/bytes/ndarray)
├── coordinates.py # 归一化坐标 ↔ 像素换算、越界处理
├── crop.py # 裁剪 + LANCZOS 放大 + 灰度化
├── overview.py # 全图 chunk 网格摘要
├── analyzer.py # 一键自动分析(概览→选区域→编码→OCR→报告)
├── report.py # 多次观察汇总为 Markdown
├── cli.py # CLI 入口(vision 命令)
├── mcp_server.py # MCP server(FastMCP + stdio)
├── demo_runner.py # demo 完整链路
├── encoders/ # 可插拔编码器(grayscale_grid/ascii_art/color_stats)
├── ocr/ # 可插拔 OCR(easyocr 默认 / paddleocr 占位)
└── synthetic.py # 合成测试图生成
tests/ # pytest 单测(全部基于合成图)
demo/ # demo 脚本与输出测试
uv run pytest -q全部测试基于合成图,可复现;EasyOCR 用例在模型下载失败时自动跳过。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that gives LLMs full-resolution vision by tiling images and capturing web pages before details are lost.Last updated1352MIT
- AlicenseAqualityAmaintenanceA portable image-understanding MCP server that lets agents analyze local images, URLs, or base64 images via an OpenAI-compatible vision model.Last updated111927MIT
- Alicense-qualityCmaintenanceAn MCP server that enables any LLM to describe images from file paths, URLs, or base64 data by forwarding them to a supported vision provider such as OpenAI, Anthropic, or local Ollama models.Last updated1,9396MIT
- AlicenseAqualityCmaintenanceMCP server that converts file contents into compact, line-numbered PNG images for vision models to read, reducing token usage by roughly 7x for large files.Last updated3MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for Flux AI image generation
MCP server for Wan AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/JoshuaLam21/vision-reader'
If you have feedback or need assistance with the MCP directory API, please join our Discord server