📄 文档管理系统

← 返回列表

给 OpenCode 装上 OCR 眼睛:Tesseract MCP 接入全攻略

article #OpenCode #Tesseract #OCR #MCP #AI编程 📅 创建:2026-05-24 06:00:24 🔄 更新:2026-05-23 22:00:54
👁️ 预览 & 复制到公众号 ✏️ 编辑

图片里的文字想直接复制?截图里的代码想自动提取?这种事以前只能靠手动打字,现在 OpenCode 接上 Tesseract MCP Server,几秒钟搞定。

GitHub:https://github.com/tesseract-ocr/tesseract,74,233 Stars,Apache-2.0

OCR 这个需求太常见了——老文档电子化、截图转文字、PDF 里提取文本。但 AI 编程工具以前没法原生处理图片里的文字,得先把图片转成可读文本再喂给 AI。这个痛点,Tesseract + OpenCode MCP 终于给接上了。

Tesseract 是什么

Tesseract 是个老牌 OCR 引擎,1985 年由 HP 实验室开发,2005 年开源,2006-2017 年由 Google 维护,现在是社区主导的开源项目(当前维护者 Zdenko Podobny)。

核心数据:

项目 数据
Stars 74,233
Forks 10,625
当前稳定版 v5.0.0(2021-11-30 发布)
支持语言 100+(开箱即用)
输出格式 plain text、hOCR(HTML)、PDF、TSV、ALTO、PAGE
许可协议 Apache-2.0

Tesseract 4 之后引入了 LSTM 神经网络引擎,专注于行识别,同时也保留了 3.x 版本的传统模式(可通过 --oem 0 切换)。支持 Unicode UTF-8,各种常见图片格式都能读。

⚠️ 重要提醒:Tesseract 本身不包含 GUI,如果需要图形界面,要用第三方项目。另外,想要高识别率,图片质量是关键——分辨率低、文字模糊、背景杂乱的图,OCR 效果会很差。

mcp-ocr-server:桥接层

Tesseract 是 C++ 原生库,OpenCode 通过 MCP(Model Context Protocol)协议跟它通信,这个桥接工作由 mcp-ocr-server(github.com/dangvinh/mcp-ocr-server)完成。

项目 数据
Stars 11
技术栈 Node.js + TypeScript + C++ Tesseract
性能宣称 比 tesseract.js 快 10 倍(原生 C++ 调用)
状态 🚧 开发中(Roadmap 还未完成)

这个项目 Stars 不多(11 颗),还是个 WIP 状态,但它打通了 Tesseract 原生库和 MCP 协议,用法值得研究。如果是生产级 OCR 需求,建议先直接用命令行调用 Tesseract,等这个项目成熟再用 MCP 方式接入。

OpenCode 的 MCP 配置

OpenCode 支持两种 MCP 连接方式:

local 类型——在本机以子进程方式运行 MCP server,通过 stdio 通信:

{
  "mcpServers": {
    "tesseract": {
      "type": "local",
      "command": ["node", "/path/to/mcp-ocr-server/dist/index.js"],
      "environment": {
        "TESSDATA_PREFIX": "./tessdata",
        "OCR_LANG": "eng"
      }
    }
  }
}

remote 类型——连接到远程 MCP server(通过 HTTP):

{
  "mcpServers": {
    "tesseract-remote": {
      "type": "remote",
      "url": "https://your-mcp-server.com/mcp",
      "timeout": 30000
    }
  }
}

配置好后,OpenCode 的 Agent 可以直接调用 Tesseract 的 OCR 能力——给它发一张截图,它就能读出里面的文字。

实战安装步骤(Windows 环境)

第一步:安装 Tesseract

方式一:Chocolatey(推荐)

choco install tesseract

方式二:直接下载

去 github.com/tesseract-ocr/tesseract/releases 下载 Windows 安装包,然后手动加到 PATH 里。

⚠️ 踩坑记录:Windows 下 Chocolatey 安装 Tesseract 后,默认安装路径是 C:\Program Files\Tesseract-OCR\,需要确保这个路径在系统 PATH 环境变量里,否则命令行 tesseract 找不到。验证方法:打开 PowerShell,输入 tesseract --version,能正常输出版本号说明装好了。

第二步:下载语言训练数据

Tesseract 需要 .traineddata 文件才能识别语言。从官方 tessdata 仓库下载:

# 创建 tessdata 目录
mkdir tessdata

# 下载英文训练数据
wget https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata -P tessdata/

# 下载简体中文训练数据(如需要)
wget https://github.com/tesseract-ocr/tessdata/raw/main/chi_sim.traineddata -P tessdata/

TESSDATA_PREFIX 环境变量指向包含这些 .traineddata 文件的目录。

第三步:构建 mcp-ocr-server

mcp-ocr-server 需要先编译 C++ 部分,再构建 Node.js 包装层:

git clone https://github.com/dangvinh/mcp-ocr-server.git
cd mcp-ocr-server

# 安装依赖
npm install

# 编译 C++ OCR 核心
npm run build-core

# 编译 Node.js addon
npm run build-addon

第四步:在 OpenCode 中配置 MCP

在 OpenCode 配置文件里加上:

{
  "mcpServers": {
    "ocr": {
      "type": "local",
      "command": ["node", "C:/path/to/mcp-ocr-server/dist/index.js"],
      "environment": {
        "TESSDATA_PREFIX": "C:/path/to/mcp-ocr-server/tessdata",
        "OCR_LANG": "eng"
      },
      "timeout": 30000
    }
  }
}

重启 OpenCode,MCP server 启动后就可以用了。

用法示例

配置好后,可以直接在 OpenCode 里这样用:

给我提取这张截图里的所有文字:/path/to/screenshot.png

OpenCode 会通过 MCP 调用 Tesseract,返回图片中的文本内容。

如果暂时不用 MCP——直接命令行的方式

mcp-ocr-server 还是 WIP 状态,如果你只是想快速用 Tesseract OCR,可以直接装个命令行版本,不需要 MCP:

# Windows 上直接用 choco 装
choco install tesseract

# 基本用法
tesseract imagename.png outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode]

# 示例:识别英文,输出纯文本
tesseract screenshot.png result -l eng

# 示例:识别简体中文
tesseract chinese-doc.png result -l chi_sim

# 示例:输出为 hOCR HTML 格式
tesseract screenshot.png result -l eng hocr

OpenCode 本身也可以通过 bash 工具直接调用系统里的 tesseract 命令,本质上是一样的。

选型建议

场景 推荐方案
快速原型验证 直接 choco install tesseract,bash 里调命令行
正式项目,需要 AI Agent 自动处理图片 OCR 等 mcp-ocr-server 成熟后通过 MCP 接入
对识别率要求极高 先用 Tesseract CLI + 调参(图片预处理、去噪、二值化),效果比直接跑更好
多语言文档处理 下载对应语言的 .traineddata,用 -l lang1+lang2 组合

写在最后

OpenCode 的 MCP 扩展机制让它不只是一个编程助手——接上 Tesseract,就是一个能"看图识字"的多模态 Agent。这个组合的想象空间挺大:自动化学籍文档识别、代码截图转可运行代码、老PDF文本提取……都是实实在在的痛点。

mcp-ocr-server 现在才 11 Stars,Roadmap 还没走完,如果你在实际项目中用了,有问题可以去 GitHub 提 Issue,这个项目目前还处于需要社区参与的阶段。

你在 OpenCode 里用过 OCR 相关的功能吗?或者有什么图片转文字的需求?评论区说说。

💬 评论区

加载中...