Kreuzberg与MCP协议集成:如何为AI代理提供完整文档处理能力
Kreuzberg与MCP协议集成:如何为AI代理提供完整文档处理能力
Kreuzberg是一个多语言文档智能框架,通过MCP(Model Context Protocol)协议集成,能为AI代理提供强大的文档处理能力。本文将详细介绍如何通过MCP协议将Kreuzberg的文档提取、文本嵌入和缓存管理等功能无缝集成到AI代理工作流中,让AI轻松处理91+种文件格式。
为什么选择Kreuzberg与MCP协议集成?
Kreuzberg作为一个以Rust为核心的文档智能框架,支持从PDF、Office文档、图片等91+种格式中提取文本、元数据、图片和结构化信息。通过MCP协议集成,AI代理可以直接调用这些能力,无需编写复杂的文档处理代码。
MCP协议(Model Context Protocol)是AI代理与工具通信的标准接口,Kreuzberg通过实现MCP协议,使任何兼容MCP的AI代理(如Claude、Cursor等)都能直接使用其文档处理功能。
快速开始:搭建Kreuzberg MCP服务器
只需两步即可启动Kreuzberg MCP服务器,为AI代理提供文档处理能力:
# 安装Kreuzberg(以Python为例)
pip install "kreuzberg[all]"
# 启动MCP服务器
kreuzberg mcp
默认情况下,Kreuzberg MCP服务器通过标准输入输出(stdio)与AI代理通信,无需额外的网络配置。服务器会自动加载当前目录或父目录中的kreuzberg.toml配置文件,也可以通过--config参数指定配置文件路径:
kreuzberg mcp --config path/to/kreuzberg.toml
Kreuzberg MCP服务器的工作原理
Kreuzberg MCP服务器作为AI代理和文档处理引擎之间的桥梁,通过JSON-RPC协议在标准输入输出上进行通信。AI代理可以发现并调用Kreuzberg提供的工具,实现文档提取、嵌入生成等功能。
Kreuzberg MCP服务器封装了三大核心能力:
- 提取引擎:处理各种格式文档,提取文本、表格、图片等内容
- 嵌入引擎:生成文本的向量表示,用于RAG等场景
- 缓存层:管理模型和处理结果缓存,提高性能
Kreuzberg MCP提供的工具
Kreuzberg通过MCP协议暴露了12种工具,AI代理可以通过list_tools方法发现这些工具。主要工具包括:
| 工具 | 参数 | 功能描述 |
|---|---|---|
extract_file |
path |
从本地文件提取文本和元数据 |
extract_bytes |
data (base64) |
从base64编码的文件内容中提取信息 |
batch_extract_files |
paths |
批量提取多个文件 |
detect_mime_type |
path |
识别文件格式 |
embed_text |
texts |
生成文本的向量嵌入 |
chunk_text |
text |
将文本分割为重叠的块 |
所有提取工具都接受可选的config参数,用于覆盖默认的提取配置,例如指定OCR语言、设置文本分块大小等。
将Kreuzberg MCP集成到AI代理中
集成到Claude Desktop
- 编辑Claude Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json - 添加Kreuzberg MCP服务器配置:
{
"mcpServers": {
"kreuzberg": {
"command": "kreuzberg",
"args": ["mcp"]
}
}
}
- 重启Claude Desktop,Kreuzberg的工具将自动可用。现在你可以直接让Claude提取文档内容,例如:"请从invoice.pdf中提取发票信息"。
集成到Cursor
- 在项目根目录创建
.cursor/mcp.json文件 - 添加以下配置:
{
"mcpServers": {
"kreuzberg": {
"command": "kreuzberg",
"args": ["mcp"]
}
}
}
自定义Python AI代理集成
使用官方mcp Python SDK构建自定义AI代理:
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main() -> None:
server_params = StdioServerParameters(
command="kreuzberg", args=["mcp"]
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# 列出可用工具
tools = await session.list_tools()
print(f"可用工具: {[t.name for t in tools.tools]}")
# 提取文档内容
result = await session.call_tool(
"extract_file",
arguments={"path": "document.pdf"},
)
print(result)
asyncio.run(main())
配置Kreuzberg MCP服务器
通过配置文件可以设置默认的提取参数,例如OCR后端、文本分块大小等。创建kreuzberg.toml文件:
[ocr]
backend = "tesseract"
language = "eng"
[chunking]
max_chars = 1000
max_overlap = 100
启动服务器时指定配置文件:
kreuzberg mcp --config kreuzberg.toml
实际应用示例:处理复杂文档
Kreuzberg MCP服务器可以轻松处理包含表格、图片和复杂布局的文档。例如,处理销售报告:
AI代理可以调用extract_file工具提取文档内容,包括表格数据和文本信息。提取结果可以直接用于分析、总结或进一步处理。
部署Kreuzberg MCP服务器
Docker部署
使用Docker快速部署Kreuzberg MCP服务器:
docker run ghcr.io/kreuzberg-dev/kreuzberg:latest mcp
挂载配置文件和缓存卷:
docker run \
-v $(pwd)/kreuzberg.toml:/config/kreuzberg.toml \
-v cache-data:/app/.kreuzberg \
ghcr.io/kreuzberg-dev/kreuzberg:latest \
mcp --config /config/kreuzberg.toml
Docker Compose部署
对于生产环境,使用Docker Compose管理服务:
services:
kreuzberg-mcp:
image: ghcr.io/kreuzberg-dev/kreuzberg:latest
command: mcp --config /config/kreuzberg.toml
volumes:
- ./kreuzberg.toml:/config/kreuzberg.toml:ro
- cache-data:/app/.kreuzberg
restart: unless-stopped
volumes:
cache-data:
总结
通过MCP协议集成Kreuzberg,AI代理可以获得强大的文档处理能力,轻松处理各种格式的文档。无论是Claude、Cursor等现有AI工具,还是自定义AI代理,都可以通过简单的配置和调用,利用Kreuzberg的文档提取、文本嵌入和缓存管理功能。
要了解更多信息,请参考:
- API Server Guide - 详细的MCP工具参考
- Configuration Reference - 所有配置选项说明
- Docker Deployment - 容器化部署指南
通过Kreuzberg与MCP协议的集成,为AI代理赋能文档处理能力,开启更智能的文档理解和分析之旅! 🚀
更多推荐



所有评论(0)