营养PDF MCP服务器
用于LLM驱动的PDF文档分析和探索的强大模型上下文协议服务器
我应该使用哪个MCP服务器?
| 服务器 | 最适合 | 部署 | 核心功能 |
|---|---|---|---|
| 营养DWS MCP服务器 | 云文档工作流 | Nutrient-hosted API(API密钥) | 转换、OCR、密文、签名、提取、水印、自动化 |
| 营养文档引擎MCP服务器 | 自托管文档工作流 | 本地/私有云 | 具有部署控制和数据驻留的文档处理 |
| 营养PDF MCP服务器 | 低级PDF检查/调试 | 本地Python运行时 | 对象树探索、间接对象解析、结构分析 |
你在 PDF MCP服务器 回购。当您需要低级PDF对象树检查/调试而不是端到端工作流自动化时,请选择此选项。
- 生态系统概述: 营养人工智能基础设施
- 产品登录页面: 营养MCP服务器
A. 模型上下文协议(MCP) 用于研究具有延迟加载支持的PDF对象树的服务器。该工具允许LLM有效地探索PDF文档结构,而不会受到压倒性的令牌限制。
特性
- 懒加载:在不加载整个对象树的情况下探索PDF结构
- 路径导航:使用点符号浏览PDF对象(例如。,
Pages.Kids.0) - 选择性分辨率:按需解决特定的间接对象
- 代币高效:与全树转储相比,响应大小大幅减少
- 类型安全:全面的类型提示和错误处理
安装
可选的 asdf 设置
你需要 python 和 nodejs 安装在您的机器上。您可以选择使用 asdf.
最后安装所需的工具,包括:
git clone https://github.com/PSPDFKit/nutrient-pdf-mcp-server.git
cd nutrient-pdf-mcp-server
asdf install
# Install pipx for Python
python -m pip install --user pipx之后继续进行其余的安装。
快速开始
git clone https://github.com/PSPDFKit/nutrient-pdf-mcp-server.git
cd nutrient-pdf-mcp-server
make install-dev # Sets up development environment适用于Claude Code CLI
推荐:构建和安装
pip install build
make build
pipx install dist/nutrient_pdf_mcp-1.0.0-py3-none-any.whl
claude mcp add nutrient-pdf-mcp nutrient-pdf-mcp如果使用 asdf,您可能需要配置 pipx 运行前请执行以下操作:
export PIPX_DEFAULT_PYTHON=$(asdf which python)
pipx install dist/nutrient_pdf_mcp-1.0.0-py3-none-any.whl发展模式
make install-dev
claude mcp add nutrient-pdf-mcp "$(pwd)/venv/bin/python" -m pdf_mcp.server手动配置
{
"mcpServers": {
"nutrient-pdf-mcp": {
"command": "python",
"args": ["-m", "pdf_mcp.server"]
}
}
}可用工具
get_pdf_object_tree
Nutrition PDF MCP服务器-通过延迟加载获取PDF对象树的JSON表示。
参数:
pdf_path(必填):PDF文件的路径object_id(可选):要检索的特定对象ID(例如,“1 0”)path(可选):要导航的对象路径(例如,“Pages.Kids.0”)mode(可选):解析模式-“懒惰”(默认)或“完全”
示例:
{
"pdf_path": "document.pdf",
"mode": "lazy"
}{
"pdf_path": "document.pdf",
"path": "Pages.Kids.0",
"mode": "lazy"
}resolve_indirect_object
Nutrition PDF MCP服务器-通过对象和生成编号解析特定的间接对象。
参数:
pdf_path(必填):PDF文件的路径objnum(必填):PDF对象编号(例如3)gennum(可选):PDF生成编号(默认为0)depth(可选):分辨率深度-“浅”(默认)或“深”
示例:
{
"pdf_path": "document.pdf",
"objnum": 3,
"gennum": 0,
"depth": "shallow"
}命令行用法
# Run the server
make serve
# Or run with debug logging
make serve-debug建筑
核心组件
parser.py:支持延迟加载的主要PDF解析逻辑server.py:MCP服务器实现types.py:PDF对象和响应的类型定义exceptions.py:自定义异常类
响应类型
所有PDF对象都序列化为一致的JSON格式:
{
"type": "dict",
"value": {
"/Type": { "type": "name", "value": "/Pages" },
"/Kids": {
"type": "array",
"value": [{ "type": "indirect_ref", "objnum": 2, "gennum": 0 }]
}
}
}代币效率
延迟加载系统提供了大量的代币节省:
- 懒惰模式:~5-50行(最小标记)
- 浅分辨率:~50-100行(合理标记)
- 深度分辨率:500+行(谨慎使用)
例子
探索PDF结构
- 获取概述:
get_pdf_object_tree(path="document.pdf", mode="lazy") - 导航到页面:
get_pdf_object_tree(path="document.pdf", path="Pages", mode="lazy") - 解析特定页面:
resolve_indirect_object(objnum=3, gennum=0, depth="shallow") - 需要时深潜:
resolve_indirect_object(objnum=3, gennum=0, depth="deep")
路径导航示例
"Pages"-导航到Pages对象"Pages.Kids"-从页面获取儿童数组"Pages.Kids.0"-获取第一页"Pages.Kids.0.MediaBox.2"-从MediaBox数组获取宽度
发展
快速开始
# Set up development environment
make install-dev
# Run all quality checks (format, lint, typecheck, test)
make quality
# Or run individual commands
make test # Run tests
make format # Format code
make lint # Run linter
make typecheck # Type checking项目结构
nutrient-pdf-mcp-server/
├── pdf_mcp/
│ ├── __init__.py
│ ├── server.py # MCP server
│ ├── parser.py # PDF parsing logic
│ ├── types.py # Type definitions
│ └── exceptions.py # Custom exceptions
├── tests/ # Test suite
├── res/ # Sample PDFs
├── pyproject.toml # Project configuration
└── README.md发布到PyPI
# Build the package
make build
# Upload to test PyPI first
twine upload --repository testpypi dist/*
# Upload to production PyPI
twine upload dist/*发布后,用户可以安装:
pipx install nutrient-pdf-mcp
# or
pip install --user nutrient-pdf-mcp贡献
- 分叉存储库
- 创建要素分支
- 通过测试进行更改
- 确保代码质量检查通过
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
