Token导航 LogoToken导航TokenDH.com
Pdf Text MCP logo
文档知识未说明官方级别未说明来源级核验

Pdf Text MCP

MCP Server

基于原生C++绑定的PDF文本提取服务,支持元数据提取和双向文本检测,适用于AI数据处理和文档分析场景。

工具数

2

提示词数

0

GitHub Stars

2

资源数

0
PDF处理TypeScriptClaude文本提取Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

galkahana

提供方

galkahana

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PDF文本提取MCP

使用本机C++绑定进行PDF文本提取的模型上下文协议服务器。

项目结构

pdf-text-mcp/
├── packages/
│   ├── pdf-parser/           # Native C++ addon + TypeScript wrapper
│   ├── mcp-server/           # MCP protocol server (dual transport: stdio/HTTP)
│   ├── pdf-mcp-client/       # Shared Python client library
│   ├── example-agent-stdio/  # stdio transport example (local MCP usage)
│   └── example-agent-http/   # HTTP transport example (token-efficient remote usage)
├── .claude-session-data.md   # Claude context (development notes)
└── README.md                 # This file

快速开始

先决条件

必修的:

  • 仅仅 -命令运行器(安装: cargo install just 或通过包管理器)
  • Node.js>=18.0.0
  • C++17编译器
  • CMake>=3.15
  • ICU图书馆

对于Python代理:

快速设置

# Check if all required tools are installed
just doctor

# Install dependencies for all packages
just install-all

# Build all packages
just build-all

# Run tests
just test-all

运行演示

构建完成后,您可以运行示例AI代理来查看系统的运行情况。

选项1:stdio传输(本地,最简单)

cd packages/example-agent-stdio
just demo

选项2:HTTP传输(远程服务器)

终端1-启动MCP服务器:

cd packages/mcp-server
TRANSPORT_MODE=http just run  # Runs locally on port 3000

终端2-运行代理:

cd packages/example-agent-http
just demo

处理单个包

每个包都是独立的,有自己的 Justfile:

# Build specific package
cd packages/pdf-parser && just build
cd packages/mcp-server && just build

# Test specific package
cd packages/pdf-parser && just test
cd packages/mcp-server && just test
cd packages/example-agent-stdio && just test
cd packages/example-agent-http && just test

# See available commands for a package
cd packages/ && just --list

有关详细的使用说明:

可用命令

根级别命令 (方便):

just help           # Show all available commands
just list           # List all packages
just doctor         # Check if required tools are installed
just setup          # Install dependencies and build everything
just build-all      # Build all packages in dependency order
just test-all       # Test all packages
just lint-all       # Lint all packages
just format-all     # Format all packages
just check-all      # Run all checks (lint, format-check, type-check, test)
just clean-all      # Clean all packages
just install-all    # Install dependencies for all packages

包级命令 (在包目录中运行):

所有软件包中都有通用命令:

  • just build -构建包
  • just test -运行测试
  • just clean -清理构建工件
  • just install -安装依赖项

每种包类型的附加命令:

  • Node.js包 (pdf解析器、mcp服务器): dev, lint, format, test-watch, test-coverage, test-manual
  • Python包 (pdf mcp客户端,示例代理stdio,示例代理http): lint, format, type-check, check, test-verbose, test-coverage
  • 仅限mcp服务器:Docker和Kubernetes命令(请参阅mcp服务器README)

just --list 在任何包内查看所有可用命令。

特性

  • ✅ PDF文本提取(文件和缓冲区)
  • ✅ 元数据提取(标题、作者、日期等)
  • ✅ 自动RTL/LTR文本方向检测(希伯来语、阿拉伯语)
  • ✅ MCP协议集成(stdio+HTTP传输)
  • ✅ 用于远程服务器的令牌高效HTTP客户端
  • ✅ 文件大小限制和超时保护
  • ✅ 真正的异步取消,支持超时
  • ✅ TypeScript+Python类型定义
  • ✅ 综合测试套件(91项测试)
  • ✅ 使用PydanticAI的AI代理示例
  • ✅ Docker容器化和Kubernetes部署
  • ✅ 可观测性(普罗米修斯、格拉法纳、洛基)

超出范围:

  • ❌ 加密/密码保护的PDF

包裹

@pdf文本mcp/pdf解析器

TypeScript库封装了pdf文本提取C++库。

  • 基于文件和缓冲区的提取
  • 元数据抽取
  • 原生C++性能
  • 完全支持TypeScript

@pdf文本mcp/mcp服务器

MCP服务器通过JSON-RPC协议公开PDF提取。

  • 双重运输:stdio(本地)和HTTP(远程)
  • extract_textextract_metadata 工具
  • Claude桌面集成
  • Docker/Kubernetes已准备好健康探测
  • 用于HTTP模式的API密钥验证

pdf mcp客户端

共享Python客户端库,用于令牌高效的PDF提取。

  • 直接HTTP调用MCP服务器(绕过LLM-0令牌)
  • Base64编码和协议助手
  • 使用httpx的异步/等待API
  • 44个单元测试,全覆盖

示例代理stdio

使用stdio传输的AI代理示例(本地子进程)。

  • PydanticAI框架与谷歌Gemini
  • MCP客户端通过stdio传输
  • PDF摘要、文本提取、元数据分析
  • 最适合:本地开发、Claude Desktop集成

代理http示例

使用HTTP传输的令牌高效AI代理(远程服务器)。

  • 直接HTTP提取(使用了0个令牌)
  • 仅将提取的文本发送到LLM(不是PDF)
  • 与简单方法相比,代币成本降低了96%
  • 最适合:生产、远程服务器、成本优化

建筑

该项目由多个协同工作的包组成:

┌─────────────────────────────────────┐
│    Claude Desktop / AI Client       │
└──────────────┬──────────────────────┘
               │ JSON-RPC over stdio/HTTP
┌──────────────▼──────────────────────┐
│         MCP Server                  │
│   - Protocol handling               │
│   - extract_text tool               │
│   - extract_metadata tool           │
└──────────────┬──────────────────────┘
               │
┌──────────────▼──────────────────────┐
│      @pdf-text-mcp/pdf-parser       │
│   - TypeScript API                  │
│   - Native addon loading            │
└──────────────┬──────────────────────┘
               │
┌──────────────▼──────────────────────┐
│   pdf-text-extraction (C++)         │
│   - PDF parsing                     │
│   - Text extraction with ICU bidi   │
└─────────────────────────────────────┘

设计模式

基于流的核心功能(DRY原理):

  • 核心功能与 IByteReaderWithPosition
  • 文件/缓冲区操作是创建适当流的精简包装器
  • 提取逻辑的单一真实来源

工人架构:

  • ICancellable 类型安全取消接口
  • CancellableAsyncWorker 模板基类
  • 专业基础课程: TextExtractionBaseWorker, MetadataExtractionBaseWorker
  • 工作人员实施 native/workers/ 文件夹
  • 客户端绑定(napi_bindings, pdf_extractor_addon)根
  • 用于在独立线程上进行非阻塞提取的N-API异步工作程序
  • 用于立即清理资源的原子取消标志

发展

.claude-session-data.md 用于开发说明、决策和上下文。

每个包都有自己的README,其中包含详细的操作说明。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

链接

目录标签

目录标签

PDF处理TypeScriptClaude文本提取本地部署元数据提取双向文本检测AI数据处理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP