Kreuzberg与MCP协议集成:如何为AI代理提供完整文档处理能力

【免费下载链接】kreuzberg A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, R, C, TypeScript (Node/Bun/Wasm/Deno)- or use via CLI, REST API, or MCP server. 【免费下载链接】kreuzberg 项目地址: https://gitcode.com/gh_mirrors/kr/kreuzberg

Kreuzberg是一个多语言文档智能框架,通过MCP(Model Context Protocol)协议集成,能为AI代理提供强大的文档处理能力。本文将详细介绍如何通过MCP协议将Kreuzberg的文档提取、文本嵌入和缓存管理等功能无缝集成到AI代理工作流中,让AI轻松处理91+种文件格式。

为什么选择Kreuzberg与MCP协议集成?

Kreuzberg作为一个以Rust为核心的文档智能框架,支持从PDF、Office文档、图片等91+种格式中提取文本、元数据、图片和结构化信息。通过MCP协议集成,AI代理可以直接调用这些能力,无需编写复杂的文档处理代码。

Kreuzberg文档处理能力概览

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工作流程

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

  1. 编辑Claude Desktop配置文件:~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加Kreuzberg MCP服务器配置:
{
  "mcpServers": {
    "kreuzberg": {
      "command": "kreuzberg",
      "args": ["mcp"]
    }
  }
}
  1. 重启Claude Desktop,Kreuzberg的工具将自动可用。现在你可以直接让Claude提取文档内容,例如:"请从invoice.pdf中提取发票信息"。

集成到Cursor

  1. 在项目根目录创建.cursor/mcp.json文件
  2. 添加以下配置:
{
  "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的文档提取、文本嵌入和缓存管理功能。

要了解更多信息,请参考:

通过Kreuzberg与MCP协议的集成,为AI代理赋能文档处理能力,开启更智能的文档理解和分析之旅! 🚀

【免费下载链接】kreuzberg A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, R, C, TypeScript (Node/Bun/Wasm/Deno)- or use via CLI, REST API, or MCP server. 【免费下载链接】kreuzberg 项目地址: https://gitcode.com/gh_mirrors/kr/kreuzberg

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐