Tesseract PDF MCP服务器
一种模型上下文协议(MCP)服务器,使用Tesseract OCR为PDF文档提供OCR功能。该服务器允许AI助手从PDF文件中提取文本,支持多种语言,包括英语和简体中文。
特性
- PDF到文本转换:使用OCR技术从PDF文档中提取文本
- 多语言支持:处理多种语言的文档(默认为英文和简体中文)
- 码头化解决方案:使用Docker轻松部署
- MCP集成:与支持模型上下文协议的AI助手无缝集成
先决条件
- 码头工人 安装在您的系统上
构建说明
使用以下命令构建Docker镜像:
docker build -t tesseract-pdf-mcp .运行服务器
使用以下命令运行MCP服务器:
docker run -it --rm \
-v /path/to/your/pdfs:/pdfs \
tesseract-pdf-mcp重要提示:
- 这
-v /path/to/your/pdfs:/pdfs选项将卷从主机系统挂载到Docker容器,允许服务器访问PDF文件。 - 替换
/path/to/your/pdfs带有包含PDF文件的目录的实际路径。 - 服务器将可通过MCP协议中指定的标准输入/输出(stdio)访问。
用法
服务器提供了一个名为 convert_pdf 可用于从PDF文件中提取文本。
输入
这 convert_pdf 该工具接受以下JSON输入:
{
"file_path": "/pdfs/document.pdf",
"language": "eng"
}参数:
file_path(必填):要处理的PDF文件的路径。这应该是容器内的路径(例如。,/pdfs/document.pdf).language(可选):OCR处理语言。默认值为"eng"(英文)。
- 默认可用语言: "eng" (英语), "chi_sim" (简体中文)
输出
该工具返回具有以下结构的JSON响应:
{
"status": "success",
"output_path": "/pdfs/document.txt"
}关于成功:
status:将会"success"output_path:生成的文本文件的绝对路径
出现错误时:
status:将会"error"message:错误描述output_path:将会null
示例用法
当连接到支持MCP的AI助手时:
- 助理可以使用
convert_pdf从PDF文件中提取文本的工具 - 文本文件将在与PDF文件相同的目录中创建
- 然后,助手可以访问文本文件以分析其内容
连接到AI工具
要将此MCP服务器连接到支持模型上下文协议的AI工具,您需要使用适当的设置配置该工具。
配置示例
将以下配置添加到AI工具的设置中:
{
"mcpServers": {
"tesseract-pdf-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/your/pdfs:/pdfs",
"tesseract-pdf-mcp"
],
"disabled": false,
"autoApprove": []
}
}
}确保更换 /path/to/your/pdfs 使用PDF文件目录的实际路径。
使用AI工具
连接后:
- AI工具将能够访问
convert_pdf此MCP服务器提供的工具 - 您可以要求AI从PDF文档中提取文本
- 人工智能将使用MCP服务器处理PDF并访问生成的文本
添加更多语言
服务器附带英语(eng)简体中文(chi_sim)默认情况下支持语言。要添加更多语言:
- 修改
Dockerfile通过向中添加其他语言包apt-get install命令:
RUN apt-get update && apt-get install -y --no-install-recommends \
tesseract-ocr \
tesseract-ocr-eng \
tesseract-ocr-chi-sim \
tesseract-ocr-fra \ # Add French
tesseract-ocr-deu \ # Add German
tesseract-ocr-spa \ # Add Spanish
poppler-utils \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*- 重建Docker镜像:
docker build -t tesseract-pdf-mcp .可用语言代码
Tesseract OCR的一些常用语言代码:
eng:英语chi_sim:简体中文chi_tra:繁体中文fra:法语deu:德语spa:西班牙语ita:意大利语jpn:日语kor:朝鲜语rus:俄语
有关可用语言包的完整列表,请参阅 Tesseract文档.
容器内部调试
如果您需要直接在容器内调试或测试PDF转换逻辑,请按照以下步骤操作:
启动交互式Shell
使用以下命令在容器中启动交互式shell会话:
docker run --rm -it -v /path/to/your/pdfs:/data tesseract-pdf-mcp /bin/bash此命令:
- 从创建容器
tesseract-pdf-mcp图像 - 将本地PDF目录装载到
/data集装箱内 - 覆盖默认命令以启动bashshell
- 退出时自动删除容器(
--rm)
在集装箱内工作
一旦进入容器的外壳,您可以:
- 使用标准Linux命令导航文件系统(
cd,ls等等) - 在
/data目录 - 运行Python脚本或启动交互式Python会话
测试转换函数
您可以直接使用Python的交互式shell测试PDF到文本的转换:
# Start Python interactive shell
python3# Import the conversion function
from ocr.converter import pdf_to_text
# Process a PDF file (replace with your actual filename)
output_path = pdf_to_text('/data/my_document.pdf', lang='eng')
# Verify the result
print(f"Conversion successful. Output saved to: {output_path}")
# Exit Python shell
exit()转换后的文本文件将保存在与PDF文件相同的目录中(在 /data 目录),使其也可以从您的主机访问。
