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 的顺序执行即可跑通