An AI 代理应该选择要转换的文件以及要转换成的格式,而转换引擎负责实际的转换。使用 GroupDocs.Conversion.Mcp 服务器,Claude、Cursor 或 GitHub Copilot 可以在本机上通过一句话调用该引擎:
Convert contract.docx to PDF
带有配置和故障排除的逐步说明请参见文档:How to convert documents with AI agents using MCP。本文解释了为何需要拆分以及代理应当如何避免介入。
当代理自行转换文件时会出现什么问题?
一个“将 PDF 转换为 Word”的语言模型并没有真正进行转换。它读取提供的内容并以目标格式写入新内容。模型未看到的内容它无法复现:精确的字体、列的几何形状、表格前的分页、Word 模板依赖的样式名称等。返回的结果看起来像是转换,实质上是重新键入。
这就是本文讨论的失败模式。它表现为安静:输出文件可以打开且没有错误,直到出现表格错位或标题失去样式时才会被发现。渲染保真度是确定性的引擎工作,而不是生成工作。
代理应决定什么,引擎应做什么?
在判断与执行之间划分任务。
| 问题 | 代理决定 | 引擎执行 |
|---|---|---|
| 哪些文件在范围内? | 读取你的提示和存储文件夹 | 无 |
| 目标格式是什么? | 将 “make it editable” 映射为 DOCX,将 “archive it” 映射为 PDF | 无 |
| 文件是否可转换? | 调用 get_supported_formats 并读取返回结果 |
报告有效的目标格式 |
| 文件有多大? | 调用 get_document_info 并读取页数 |
读取类型、页数、属性 |
| 实际转换 | 调用 convert |
使用 GroupDocs.Conversion 引擎渲染输出 |
| 失败时怎么办 | 重试、询问你或跳过该文件 | 将原因以文本返回 |
代理永远不直接操作文档的字节。它只传递文件名和目标格式,随后引擎返回生成的文件。
如何在本地将代理连接到引擎?
在客户端中注册一次服务器即可。Claude Desktop 使用 claude_desktop_config.json,Claude Code 使用 claude mcp add,VS Code 搭配 GitHub Copilot 使用 mcp.json,Cursor 使用 ~/.cursor/mcp.json。服务器同样支持 Visual Studio 2022、Windsurf、Cline、Codex CLI 和 JetBrains Rider。Claude Desktop 的配置示例:
{
"mcpServers": {
"groupdocs-conversion": {
"type": "stdio",
"command": "dnx",
"args": ["GroupDocs.Conversion.Mcp", "--yes"],
"env": { "GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents" }
}
}
}
dnx 需要 .NET 10 SDK。如果更倾向于 Docker,可使用自包含镜像 ghcr.io/groupdocs-conversion/conversion-net-mcp:latest,通过 docker run --rm -i -v $(pwd)/documents:/data 运行。客户端通过 stdio 与服务器通信:路径为代理 → 本地服务器 → 本地文件系统。注册后请重启客户端。
每个请求会触发哪个工具?
服务器公开四个工具。它们的名称即字面含义;代理在出现问题时会搜索这些工具。
convert将文档转换为另一种格式并将结果保存到你的存储或输出文件夹。它接受file、format(例如pdf、docx、xlsx、pptx、html、png、jpg、csv、txt、rtf、md)以及可选的password。get_supported_formats列出给定源文件可以转换成的目标格式。get_document_info在不进行转换的情况下返回文件类型、页数和基本属性。get_license_status报告服务器是运行在评估模式、许可证文件模式还是计量模式。
开放式提示能够工作,因为代理会将它们串联:
What formats can I turn this Visio file into? Then convert it to PDF.
Check the page count of whitepaper.pdf first, then convert it to DOCX.
现有文件永不被覆盖。对同一文件的第二次转换会生成不同的名称,例如 report (1).pdf。
示例会话
以下是基于文档中工具描述的简化示例会话,仅作说明,并非截图。
You: Convert contract-draft.pdf to DOCX so I can edit it.
Agent: [calls convert with file.filePath = "contract-draft.pdf", format = "docx"]
Agent: Done. The converted file is saved as contract-draft.docx in your output folder.
完整流程请参阅 the n8n walkthrough,该示例展示了同一引擎通过工作流而非聊天驱动的使用方式,另外请阅读 announcement 了解服务器的整体概览。
限制有哪些?
- Evaluation mode(评估模式):没有许可证时,服务器会在转换输出上添加评估水印,并将每个服务器进程的打开文档数限制为 15;重启服务器会重置计数。先让你的代理询问 “what is the license status of the conversion server?”;
get_license_status会在不处理文档的情况下返回答案。 - No OCR(无 OCR):服务器只能转换包含文本层的文档。仅包含图像的 PDF 扫描件不会被转换为可编辑文本。
- Conversion, not extraction(转换而非提取):该服务器处理整篇文档。若需要字段级别的数据提取,请使用配套的 GroupDocs.Parser.Mcp 服务器(仅以 Docker 镜像形式提供),许多流水线会同时使用两者。
FAQ
Claude 能将 docx 转换为 pdf 吗?
可以,只要附加了转换服务器。Claude 调用 convert 并指定 format: "pdf",GroupDocs 引擎会在你的机器上生成该文件。
代理在转换时会上传我的文件吗?
不会。该服务器通过 stdio 本地运行,文档始终保存在你的存储文件夹中。许可证文件也同样从本地磁盘读取。
服务器能转换哪些格式?
支持超过 100 种文档、电子表格、演示文稿、图像、电子邮件、CAD 和网页格式,和 GroupDocs.Conversion .NET 库提供的集合相同。使用 get_supported_formats 可获取特定文件的完整列表。
深入了解
- 官方文档、标准操作指南:How to convert documents with AI agents using MCP
- 文档中心:GroupDocs.Conversion MCP Server
- 下一步阅读:3 ways to turn PDFs into LLM-ready Markdown (and why local wins)
- 下一步阅读:Automate report delivery: let the agent write Markdown and ship Word
- 下一步阅读:A whole folder, one prompt: batch conversion with Claude and MCP
- 公告:Your AI Agent Can Now Convert Documents — Locally. Introducing GroupDocs.Conversion MCP
- 本地部署与安全模型:3 architectures for AI document processing, and the one that keeps files inside your network
- 问答社区:GroupDocs Conversion forum
- 源代码:GroupDocs.Conversion.Mcp on GitHub