每个组织都依赖文档——以及在不同格式之间移动它们的脆弱脚本。Word 报告会变成 PDF,电子表格会变成 CSV,扫描件会变成可搜索的文件。每新增一种格式或规则,都意味着要重写流水线。有一种更灵活的方式:让 AI 代理 在您自己的基础设施上进行转换,使用您提供的工具。本文展示了如何使用 n8n、Model Context Protocol (MCP) 和 GroupDocs.Conversion MCP 服务器 构建这样一个系统——让您的文档(以及可选的 AI 模型)完全在本地。
从硬编码流水线到代理自动化
传统自动化编码了 如何 完成任务:检测文件类型、分支、调用转换器、处理错误、写入输出。每一个新需求都需要改代码。
代理 工作流编码了 想要做什么。您只需说明目标——“将这些报告转换为 PDF,但先检查页数”——并公开一组 工具。AI 代理决定调用哪些工具以及调用顺序,并根据结果进行适配。添加一个工具后,代理即可立即使用,无需重新接线。这种适应性正是核心所在。
什么是 MCP,为什么在这里重要
使用工具的代理最难的部分一直是集成——每个代理与每个工具的交互方式都不同。Model Context Protocol 是一个开放、供应商中立的标准,解决了这个问题:任何支持 MCP 的代理都可以发现并调用任何 MCP 服务器的功能。可以把它想象成 “AI 工具的 USB‑C”。
GroupDocs 将文档操作以 MCP 服务器的形式发布。GroupDocs.Conversion 服务器公开了代理可以调用的三个工具:
| 工具 | 功能 |
|---|---|
convert |
将文档转换为另一种格式(PDF、DOCX、XLSX、PPTX、HTML、PNG、CSV… 超过 70 种格式) |
get_document_info |
在操作前检查文件——类型、页数、属性等 |
get_supported_formats |
探索可以进行的转换类型 |
因为它遵循 MCP,您的代理无需自定义 GroupDocs 集成,只需看到这些工具即可。
架构(全部开源,自带 LLM)
| 层 | 组件 | 角色 |
|---|---|---|
| 编排 | n8n(自托管) | 触发器、AI 代理节点、文件路由 |
| 推理 | 您的 LLM,通过 n8n 的 Chat Model 节点 | 决定调用哪些工具——可完全替换 |
| 工具 | GroupDocs.Conversion MCP(stdio)通过 supergateway | convert、get_document_info、get_supported_formats |
| 存储 | 共享 Docker 卷 | 文件的进出流转 |
关键设计选择:LLM 可插拔。n8n 的 Chat Model 节点与供应商无关,因此在更换模型时,代理和 MCP 工具都不需要改动。下面的示例使用 OpenAI,但同一工作流同样适用于 Azure OpenAI、Anthropic、AWS Bedrock——或在需要空气隔离的部署时使用完全自托管的模型(Ollama、vLLM),让文档 和 AI 都留在您的网络内部。
一个集成注意点:Conversion MCP 是一个轻量级 stdio 服务器(默认安全、无网络)。由于 n8n 通过 URL 连接 MCP 工具,需要一个小型开源 stdio‑to‑SSE 桥(supergateway)将其暴露在端口上。服务器本身保持不变。
工作流运行方式
- 触发 —— webhook、入站邮件、表单上传或监控文件夹接收文档。
- 阶段 —— n8n 将文件写入 MCP 服务器读取的共享存储文件夹。
- 推理 —— n8n AI 代理(您的 Chat Model + Conversion MCP 作为工具)收到指令,例如 “将 report.docx 转换为 PDF 并报告页数”。它会自主调用
get_document_info,随后调用convert。 - 交付 —— n8n 从共享存储中取出转换后的文件并将其路由到下游——邮件、对象存储、SharePoint,或原始响应。
代理自行决定使用哪些工具以及顺序。这正是让单一工作流能够处理 “只转换这个”、“如果超过 10 页才转换” 或 “转换并生成摘要” 的原因。
几分钟内部署
最小化堆栈只需两个服务共享一个卷——转换器(通过桥接)和 n8n:
services:
conversion-mcp: # GroupDocs.Conversion MCP,透过 SSE 暴露
build: ./bridge # supergateway --stdio "groupdocs-conversion-mcp" --port 8000
environment:
GROUPDOCS_MCP_STORAGE_PATH: /data
GROUPDOCS_LICENSE_PATH: /license/GroupDocs.Total.lic
volumes: [ ./data:/data, ./gd-license:/license:ro ]
n8n:
image: n8nio/n8n:latest
ports: ["5678:5678"]
volumes: [ ./data:/data ] # 同一文件夹 —— 文件交接点
随后在 n8n 中,用四个节点构建代理:Chat Trigger、Chat Model(您的 OpenAI 凭证)、指向 http://conversion-mcp:8000/sse 的 MCP Client 工具,以及将它们串联的 AI Agent。把文件放入 ./data,打开聊天窗口,向代理请求转换即可。
完整、可运行的设置 ——
docker-compose.yml、桥接镜像以及可导入的 n8n 工作流 —— 均在配套的开源仓库中(见下文)。
许可
没有许可证时,GroupDocs.Conversion 以 评估模式 运行:输出会带水印,且使用可能受限。生产环境请将 GroupDocs.Total.lic 文件放入挂载的许可证文件夹——输出即为干净且无限制。您可以 请求临时许可证 以试用正式输出。
为什么适合企业
- 数据主权 —— 文档和转换引擎都留在您的基础设施上。选择自托管模型,AI 也同样自托管。
- 无锁定 —— 每一层都是开源或基于标准(MCP)。可以自由替换 LLM、编排器或工具。
- 可审计 —— 每一次代理决策和工具调用都以可见、可重放的 n8n 执行记录呈现。
- 可组合 —— 这正是复利效应。将 同一个 代理指向其他 GroupDocs MCP 服务器 —— Redaction、Watermark、Metadata —— 一个自然语言请求即可变成完整流水线:“对 PII 进行脱敏,转换为 PDF,然后加上 ‘Confidential’ 水印”。
入门
- 配套开源演示:GroupDocs.Conversion.Agentic —— 克隆仓库,添加您的 LLM 密钥,
docker compose up,即可开始与文档对话。 - NuGet:
GroupDocs.Conversion.Mcp - Docker 镜像:
ghcr.io/groupdocs-conversion/conversion-net-mcp - 了解更多 MCP:modelcontextprotocol.io
代理化文档自动化不再是遥不可及的概念——只需一次 docker compose up,即可使用您可以阅读、托管并信任的组件。让您的 AI 代理拥有在您掌控下转换文档的能力。