Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Vision OCR

БесплатноНе проверен

Enables OCR on images and PDFs, including full-page OCR, region OCR by description or bounding box, and caching with summary capabilities.

GitHubEmbed

Описание

Enables OCR on images and PDFs, including full-page OCR, region OCR by description or bounding box, and caching with summary capabilities.

README

本项目提供一个 MCP OCR 服务,工具名为 ocr_image,用于识别本地图片文字。

新增 ocr_region_by_description,支持按文本描述在大图/PDF 页面中定位局部区域并 OCR。

新增 ocr_region_by_bbox,支持通过对角坐标直接框选区域 OCR。

1. 运行要求

  • Python 3.10+
  • 可用的多模态模型 API(支持 zhipuopenai_compatible
  • 支持图片格式:.jpg .jpeg .png .webp
  • 区域 OCR 额外支持:.bmp .tif .tiff .gif .pdf

2. 安装步骤

在项目根目录执行:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

3. 配置模型提供方

默认读取项目根目录 .env.example,也支持同名环境变量。

方式 A:zhipu(示例)

OCR_PROVIDER=zhipu
ZHIPUAI_API_KEY=<YOUR_ZHIPUAI_API_KEY>
ZHIPUAI_MODEL=glm-4v-flash

方式 B:openai_compatible

OCR_PROVIDER=openai_compatible
OCR_API_KEY=<YOUR_API_KEY>
OCR_BASE_URL=https://your-provider.example/v1
OCR_MODEL=<YOUR_VISION_MODEL>

缓存配置(可选)

OCR_CACHE_TARGET_KB=300
OCR_CACHE_MAX_ITEMS=30
OCR_CACHE_DIR=.ocr_cache
OCR_CACHE_AGE_COMPRESS=true
OCR_CACHE_AGE_STEP_DAYS=7
OCR_CACHE_AGE_DECAY=0.12
OCR_CACHE_AGE_MIN_RATIO=0.35
  • OCR_CACHE_TARGET_KB:缓存帧压缩目标大小(KB,上限目标值)。
  • OCR_CACHE_MAX_ITEMS:缓存队列最多保留帧数,超出后自动淘汰最旧帧。
  • OCR_CACHE_DIR:缓存目录。
  • OCR_CACHE_AGE_COMPRESS:是否启用按时间衰减压缩。
  • OCR_CACHE_AGE_STEP_DAYS:每经过多少天降低一个压缩档位。
  • OCR_CACHE_AGE_DECAY:每个档位的目标大小衰减比例(例如 0.12 表示每档再缩小 12%)。
  • OCR_CACHE_AGE_MIN_RATIO:压缩目标最小比例,避免过度压缩。

如果 .env.example 中未配置,则回退读取环境变量。

环境变量方式(可选)

当前终端临时生效:

$env:OCR_PROVIDER="zhipu"
$env:ZHIPUAI_API_KEY="<YOUR_ZHIPUAI_API_KEY>"

持久化到用户环境变量(新终端生效):

setx OCR_PROVIDER "zhipu"
setx ZHIPUAI_API_KEY "<YOUR_ZHIPUAI_API_KEY>"

4. 本地启动 MCP 服务

python server.py

或使用:

run.bat

5. 接入 Claude Desktop

编辑配置文件:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

示例(Windows 路径按实际修改):

{
   "mcpServers": {
      "VisionOCR": {
         "command": "python",
         "args": ["D:\\Projects\\mcp\\Vision-OCR-mcp-server\\server.py"],
         "env": {
            "OCR_PROVIDER": "zhipu",
            "ZHIPUAI_API_KEY": "<YOUR_ZHIPUAI_API_KEY>"
         }
      }
   }
}

保存后重启 Claude Desktop。

6. 使用方式

在支持 MCP 的客户端调用以下工具:

工具名 参数 说明 调用示例
ocr_image image_path: str | list[str] 对单图或多图执行全文 OCR。 ocr_image("D:/images/a.png")
ocr_image(["D:/images/a.png", "D:/images/b.png"])
ocr_region_by_description file_path: str, region_description: str, page_number: int = 1 根据文本描述先定位区域,再进行局部 OCR,支持图片和 PDF。 ocr_region_by_description("D:/images/large.png", "左上角标题区域")
ocr_region_by_description("D:/docs/report.pdf", "第3段结论框", 2)
ocr_region_by_bbox file_path: str, x1: int, y1: int, x2: int, y2: int, page_number: int = 1 通过对角坐标直接框选区域 OCR,支持图片和 PDF。 ocr_region_by_bbox("D:/images/large.png", 120, 80, 920, 460)
ocr_region_by_bbox("D:/docs/report.pdf", 100, 120, 430, 280, 2)
ocr_cached_frames_summary max_frames: int = 0 对缓存帧逐个重新 OCR,结合来源路径、缓存时间、上次 OCR 时间生成统一调查提示词。0 表示处理全部缓存帧。 ocr_cached_frames_summary()
ocr_cached_frames_summary(10)
what_have_you_seen max_frames: int = 10 面向自然问法的高触发入口(如“你看见过什么”),内部调用缓存汇总并返回调查提示词。 what_have_you_seen()
what_have_you_seen(20)

6.1 让模型更容易调用 MCP

优先使用明确的“调用工具”表达,模型命中率更高:

  • 请调用 what_have_you_seen,告诉我你看见过什么。
  • 请调用 ocr_cached_frames_summary(20),整理历史 OCR 证据。
  • 请调用 ocr_region_by_description,对这个 PDF 找标题区域并识别。

7. 已实现能力与限制

  • 支持单图/多图 OCR
  • 超过 5MB 自动压缩后再上传
  • 支持图片格式自动转换后识别(bmp/tiff/gif -> jpeg)
  • 支持基于文本描述的区域 OCR(先低分辨率定位,再对局部高分辨率识别)
  • 支持对角坐标框选区域 OCR(支持任意两点顺序,自动归一化)
  • 历史 OCR 帧自动压缩入缓存,并支持队列淘汰
  • 缓存支持按时间分级压缩(越旧压缩越强)
  • 支持批量回放缓存帧并生成调查汇总提示词
  • 单张本地读取上限 30MB
  • 单次最多 10 张图片

8. 常见问题

  • 报错 未读取到 ... API_KEY:检查 .env.example 或环境变量中的 key 是否存在。
  • 报错 不支持的文件格式:仅支持 .jpg .jpeg .png .webp
  • 报错 图片压缩后仍超过 5MB:请先手动裁剪或降低分辨率。

from github.com/AliceAuto/Vision-OCR-mcp-server

Установка Vision OCR

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/AliceAuto/Vision-OCR-mcp-server

FAQ

Vision OCR MCP бесплатный?

Да, Vision OCR MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Vision OCR?

Нет, Vision OCR работает без API-ключей и переменных окружения.

Vision OCR — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Vision OCR в Claude Desktop, Claude Code или Cursor?

Открой Vision OCR на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Vision OCR with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development