AI 智能体集成 GitHub 最强开源 OCR,私有化部署 MCP 服务
上一篇文章介绍了百度开源的 PaddleOCR,是综合实力最强、最"省心"的开源 OCR。这次开始 PaddleOCR-MCP 服务的部署,以及在 CodeBuddy 等 Agent 应用中集成。
**MCP 不理解?**看这篇 别掉队!3 分钟读懂 MCP 协议,成为 AI 时代的"明白人"
[!info] 阅读导览
第 1 章 效果演示 → 第 2 章 私有化部署:安装飞桨 → 安装 paddleocr-mcp → 启动 MCP 服务 → 第 3 章 在 CodeBuddy 中配置并测试
1. 效果演示
官方用的测试登机牌,识别效果还不错。
2. 部署步骤
说明:本文基于 CPU 版本安装,其他版本需要研究下官方文档
flowchart TD
A[安装飞桨 paddlepaddle] --> B[安装 paddleocr-mcp 库]
B --> C[启动 MCP 服务<br>paddleocr_mcp --http --host 0.0.0.0 --port 8081]
C --> D[CodeBuddy 配置 MCP<br>streamableHttp + /mcp 端点]
D --> E[测试:让 Agent 识别图片并提取字段]
2.1. 官方文档
先把官方文档搬过来,方便大家查阅。
https://www.paddleocr.ai/latest/version3.x/deployment/mcp_server.html#python
但这里一定要吐槽一下,官方文档比较乱,东一耙子西一扫帚,跑通研究了半天。
2.2. 安装飞桨(paddlepaddle)
解释下飞桨:paddlepaddle 是 OCR 识别的基础,是深度学习框架,paddleocr 是基于飞桨的产品。
飞桨支持众多平台,本次使用 Linux 的 CPU 版本,安装命令如下:
# CPU 版本
python -m pip install paddlepaddle==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
安装完成后,使用以下命令验证 PaddlePaddle 是否安装成功:
python -c "import paddle; print(paddle.__version__)"
如果已安装成功,将输出以下内容:
2.3. 安装 paddleocr-mcp 库
使用 pip 安装 paddleocr-mcp 库(本地 CPU 推理版本):
pip install "paddleocr-mcp[local-cpu] @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/mcp/paddleocr_mcp/releases/v0.2.0/paddleocr_mcp-0.2.0-py3-none-any.whl"
可通过以下命令检查是否安装成功:
paddleocr_mcp --help
如果执行上述命令后打印出了帮助信息,则说明安装成功。
2.4. 运行 MCP 服务
# OCR + 本地服务 + Streamable HTTP,绑定 host 0.0.0.0,端口 8081,后台运行
paddleocr_mcp --pipeline OCR --ppocr_source local --http --host 0.0.0.0 --port 8081 --verbose &
运行截图,后面解释下启动参数:
2.5. paddleocr_mcp 参数说明
可以通过环境变量或命令行参数来控制 MCP 服务器的行为。
| 环境变量 | 命令行参数 | 类型 | 描述 | 可选值 | 默认值 |
|---|---|---|---|---|---|
| PADDLEOCR_MCP_PIPELINE | –pipeline | str | 要运行的产线。 | “OCR”、“PP-StructureV3” | “OCR” |
| PADDLEOCR_MCP_PPOCR_SOURCE | –ppocr_source | str | PaddleOCR 能力来源。 | “local”(本地 Python 库)、“aistudio”(星河社区服务)、“self_hosted”(自托管服务) | “local” |
| PADDLEOCR_MCP_SERVER_URL | –server_url | str | 底层服务基础 URL(aistudio 或 self_hosted 模式下必需)。 | - | None |
| PADDLEOCR_MCP_AISTUDIO_ACCESS_TOKEN | –aistudio_access_token | str | AI Studio 访问令牌(aistudio 模式下必需)。 | - | None |
| PADDLEOCR_MCP_TIMEOUT | –timeout | int | 底层服务请求的读取超时时间(秒)。 | - | 60 |
| PADDLEOCR_MCP_DEVICE | –device | str | 指定运行推理的设备(仅在 local 模式下生效)。 | - | None |
| PADDLEOCR_MCP_PIPELINE_CONFIG | –pipeline_config | str | PaddleOCR 产线配置文件路径(仅在 local 模式下生效)。 | - | None |
| - | –http | bool | 使用 Streamable HTTP 传输而非 stdio(适用于远程部署和多客户端)。 | - | False |
| - | –host | str | Streamable HTTP 模式的主机地址。 | - | “127.0.0.1” |
| - | –port | int | Streamable HTTP 模式的端口。 | - | 8000 |
| - | –verbose | bool | 启用详细日志记录,便于调试。 | - | False |
3. CodeBuddy 配置 MCP 服务
找到 MCP 配置文件,增加配置如下(将 你的ip 替换为服务器实际 IP):
{
"paddleocr-ocr": {
"timeout": 600,
"type": "streamableHttp",
"url": "http://你的ip:8081/mcp"
}
}
配置完成后,就可以像文章开头演示的那样测试一下了。
提示词:
https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png,使用 MCP 服务识别这个图片,提取字段,并将识别结果输出为 JSON 格式
[!success] 核心要点
- 部署链路:飞桨(推理基础)→ paddleocr-mcp(MCP 服务)→ CodeBuddy 配置 streamableHttp 端点即可用
- 本地模式关键参数:
--ppocr_source local(本地推理)、--http --host 0.0.0.0 --port 8081(对外提供服务)- 私有化:模型与推理全部在本地,数据不出内网
- 官方文档较散乱,按本文 2.2 → 2.3 → 2.4 → 3 的顺序执行即可跑通