使用说明
MCP OCR服务器
MCP服务器使用原生Tesseract(C++)进行OCR,使用Node.js构建,提供高性能OCR,可与ChatGPT Desktop集成。
🚧 进行中🚧
✨ 功能(计划中)
- 通过本机Tesseract(C++)实现高性能OCR
- Node.js MCP服务器包装器,便于集成
- 与ChatGPT桌面和其他MCP客户端兼容
- Benchmark与tesseract.js的比较
📌 路线图
- []步骤1:C++OCR CLI工具
- []步骤2:Node.js MCP服务器包装器
- []步骤3:ChatGPT桌面配置指南
- []步骤4:基准测试结果
- []步骤5:演示视频
🔧 技术栈
- C++(Tesseract OCR)
- Node.js+TypeScript(@modelcontextprotocol/sdk)
- JSON-RPC 2.0(MCP标准)
🛠 安装
1.安装Tesseract OCR
macOS
brew install tesseract
# Optional: install additional languages
brew install tesseract-lang
Linux(Ubuntu/Debian)
sudo apt update
sudo apt install tesseract-ocr libtesseract-dev libleptonica-dev
# Optional: install Vietnamese language
sudo apt install tesseract-ocr-vie
视窗
- 从下载安装程序 Tesseract OCR GitHub
- 或者使用巧克力:
choco install tesseract
- 将安装路径添加到您的
PATH环境变量。
2.克隆存储库
git clone https://github.com/dangvinh/mcp-ocr-server.git
cd mcp-ocr-server/cpp
3.使用CMake构建项目
您可以使用提供的npm脚本构建C++OCR引擎。运行:
npm run build-core
此命令将创建 cpp/build-core 目录,使用CMake配置项目,并构建静态库和CLI工具。
它构建了什么:
libmcp_ocr.a静态库ocr_cli可执行文件cpp/build-core/bin(或同等)
运行测试
# From the build directory
ctest --verbose
- 这将运行所有基于GoogleTest的测试。
- 确保测试映像或资源存在于
cpp/tests或examples/. - 该设置适用于跨平台(macOS、Linux、Windows)。
4.构建Node.js插件
Node.js插件可以使用提供的npm脚本构建。运行:
npm run build-addon
此命令运行 node-gyp 里面 cpp/ 目录并生成编译后的插件(ocr_addon.node)里面 cpp/build/Release/此插件是Node.js与C++核心集成所必需的。
🗂 设置tessdata
OCR引擎需要经过训练的数据文件才能工作。请按照以下步骤操作:
- 创建一个
tessdata项目根目录中的文件夹:
mkdir tessdata
- 下载英语培训数据:
wget https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata -P tessdata/
-
对于其他语言,请下载相应的
.traineddata文件进入tessdata/. -
确保您的
.env或.env.example有:
TESSDATA_PREFIX=./tessdata
OCR_LANG=eng
4.运行OCR CLI
./ocr_cli path/to/image.png
确保
tessdata语言文件可以访问该文件夹。该项目支持macOS、Linux和Windows(跨平台)。