🚀 PDF Gen Studio MCP 服务器
PDF Gen Studio 的模型上下文协议(MCP)服务器,可根据模板、JSON、HTML 或 URL 生成 PDF 和图像。

✨ 主要特性
- 📄 模板渲染 - 利用动态数据注入渲染已保存的模板
- 🔧 JSON 渲染 - 将 JSON 设计文档转换为 PDF 或图像
- 🌐 HTML 渲染 - 将 HTML/CSS 内容转换为 PDF 或图像
- 📸 URL 渲染 - 将任何网站 URL 截图保存为 PDF 或图像
- 📋 模板管理 - 列出并检索已保存的模板
📦 安装指南
使用 npm(全局安装)
npm install -g @pdfgenstudio/mcp
使用 npx(无需安装)
npx @pdfgenstudio/mcp
从源代码安装
git clone https://github.com/Majid9287/pdfgenstudio-mcp.git
cd pdfgenstudio-mcp
npm install
npm run build
使用 Docker
docker pull mcp/pdfgenstudio:latest
或者本地构建:
docker build -t mcp/pdfgenstudio .
🛠️ 配置
环境变量
设置你的 PDF Gen Studio API 密钥:
export PDFGENSTUDIO_API_KEY="your-api-key-here"
在 Windows(PowerShell)上:
$env:PDFGENSTUDIO_API_KEY = "your-api-key-here"
在 Windows(命令提示符)上:
set PDFGENSTUDIO_API_KEY=your-api-key-here
可选配置
| 变量 |
描述 |
默认值 |
PDFGENSTUDIO_API_KEY |
你的 PDF Gen Studio API 密钥 |
必需 |
PDFGENSTUDIO_BASE_URL |
API 基础 URL |
https://api.pdfgenstudio.com |
💻 使用示例
作为标准输入输出服务器(默认)
pdfgenstudio-mcp
npx @pdfgenstudio/mcp
pdfgenstudio-mcp --transport stdio
作为 HTTP 服务器
pdfgenstudio-mcp --transport http --port 3100
pdfgenstudio-mcp -t http -p 8080
开发与测试
npm run test
npm run inspect
🔌 客户端集成
Claude 桌面版
将以下内容添加到你的 Claude 桌面版配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
使用 npx(推荐)
{
"mcpServers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
使用本地安装
{
"mcpServers": {
"pdfgenstudio": {
"command": "node",
"args": ["/absolute/path/to/pdfgenstudio-mcp/dist/index.js"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
编辑完成后,完全重启 Claude 桌面版。
Docker 桌面版(MCP 工具包)
PDF Gen Studio MCP 可在 Docker 桌面版的 MCP 工具包目录中找到。
选项 1:使用 Docker 桌面版 MCP 工具包 UI
- 打开 Docker 桌面版
- 转到 扩展 → MCP 工具包
- 在目录中搜索 "pdfgenstudio"
- 点击 安装 并配置你的 API 密钥
选项 2:手动配置
将以下内容添加到你的 Claude 桌面版配置中以使用 Docker 镜像:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pdfgenstudio": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "PDFGENSTUDIO_API_KEY=your-api-key-here",
"mcp/pdfgenstudio:latest"
]
}
}
}
直接运行 Docker 容器
docker run -it --rm \
-e PDFGENSTUDIO_API_KEY="your-api-key-here" \
mcp/pdfgenstudio:latest
docker run -it --rm -p 3100:3100 \
-e PDFGENSTUDIO_API_KEY="your-api-key-here" \
mcp/pdfgenstudio:latest node dist/index.js --transport http --port 3100
使用 Docker Compose
echo "PDFGENSTUDIO_API_KEY=your-api-key-here" > .env
docker-compose up -d pdfgenstudio-mcp
docker-compose --profile http up -d pdfgenstudio-mcp-http
VS Code(GitHub Copilot)
VS Code 通过 GitHub Copilot 扩展支持 MCP 服务器。
步骤 1:在 VS Code 中启用 MCP
- 打开 VS Code 设置(
Ctrl+, 或 Cmd+,)
- 搜索
github.copilot.chat.experimental.mcp
- 启用该设置
步骤 2:配置 MCP 服务器
在你的工作区中创建或编辑 .vscode/mcp.json:
{
"servers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
或者添加到你的 VS Code 用户设置(settings.json)中:
{
"github.copilot.chat.experimental.mcp": true,
"mcp": {
"servers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
}
在 VS Code 中使用本地安装
{
"servers": {
"pdfgenstudio": {
"command": "node",
"args": ["C:/path/to/pdfgenstudio-mcp/dist/index.js"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
Cursor
Cursor 内置了 MCP 支持。在 Cursor 设置中进行配置。
步骤 1:打开 Cursor 设置
- 打开 Cursor
- 转到
设置 → Cursor 设置 → MCP
- 或者按下
Ctrl+Shift+P / Cmd+Shift+P 并搜索 "MCP"
步骤 2:添加 MCP 服务器
添加以下配置:
{
"mcpServers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
替代方法:直接编辑配置文件
- macOS:
~/.cursor/mcp.json
- Windows:
%USERPROFILE%\.cursor\mcp.json
- Linux:
~/.cursor/mcp.json
{
"mcpServers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
Windsurf(Codeium)
Windsurf 通过其配置支持 MCP。
配置文件位置
- macOS:
~/.codeium/windsurf/mcp_config.json
- Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json
- Linux:
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
Zed 编辑器
Zed 原生支持 MCP。在 Zed 设置中进行配置。
配置
编辑 ~/.config/zed/settings.json:
{
"language_models": {
"mcp_servers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
}
Continue(VS Code/JetBrains 扩展)
Continue 支持 MCP 服务器以增强 AI 功能。
配置
编辑 ~/.continue/config.json:
{
"mcpServers": [
{
"name": "pdfgenstudio",
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
]
}
HTTP/SSE 模式(适用于自定义客户端)
对于支持基于 HTTP 的 MCP 连接的客户端:
启动服务器
npx @pdfgenstudio/mcp --transport http --port 3100
端点
- HTTP 流式传输:
http://localhost:3100/mcp
- SSE:
http://localhost:3100/sse
- 健康检查:
http://localhost:3100/health
示例客户端连接
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("http://localhost:3100/mcp")
);
const client = new Client({
name: "my-client",
version: "1.0.0",
});
await client.connect(transport);
故障排除
常见问题
-
“API 密钥未配置”
- 确保
PDFGENSTUDIO_API_KEY 在 env 部分中已设置
- 检查环境变量名称是否有拼写错误
-
“命令未找到”(npx)
- 确保已安装 Node.js 18+
- 尝试使用 npx 的完整路径:
/usr/local/bin/npx
-
服务器未连接
- 在配置更改后重启你的 IDE/应用程序
- 检查日志以查找错误消息
- 验证本地安装的路径是否正确
-
Windows 路径问题
- 在路径中使用正斜杠
/ 或转义反斜杠 \\
- 使用绝对路径
调试模式
使用调试日志运行:
DEBUG=* npx @pdfgenstudio/mcp
验证安装
npx @pdfgenstudio/mcp --help
npx fastmcp inspect /path/to/pdfgenstudio-mcp/src/index.ts
🛠️ 可用工具
模板工具
| 工具 |
描述 |
render_template |
通过数据注入将模板渲染为 PDF/PNG/JPG |
render_template_image |
渲染模板并返回可查看的图像 |
JSON 工具
| 工具 |
描述 |
render_json |
将 JSON 设计文档转换为 PDF 或图像 |
render_json_image |
渲染 JSON 并返回可查看的图像 |
HTML 工具
| 工具 |
描述 |
render_html |
将 HTML/CSS 转换为 PDF 或图像 |
render_html_image |
渲染 HTML 并返回可查看的图像 |
URL 工具
| 工具 |
描述 |
render_url |
将网页截图保存为 PDF 或图像 |
render_url_image |
截图并返回可查看的图像 |
管理工具
| 工具 |
描述 |
list_templates |
列出所有已保存的模板 |
get_template |
获取模板详细信息 |
get_template_schema |
获取可修改的模板元素 |
📚 资源
MCP 服务器提供以下资源:
| URI |
描述 |
pdfgenstudio://templates |
所有模板的列表 |
pdfgenstudio://templates/{id} |
特定模板的详细信息 |
pdfgenstudio://docs/api |
API 文档 |
pdfgenstudio://config |
当前配置状态 |
💡 预定义提示
用于常见任务的预构建提示:
| 提示 |
描述 |
generate-invoice |
生成发票 PDF |
generate-report |
创建报告文档 |
capture-webpage |
网页截图 |
use-template |
使用数据渲染模板 |
html-to-pdf |
将 HTML 转换为 PDF |
💻 使用示例
渲染模板
使用 render_template 工具,根据模板 ID "abc123" 和以下数据生成 PDF:{"name": "John Doe", "amount": "$500"}
网页截图
将 https://example.com 网页进行全页截图并保存为 PNG 格式
生成 HTML 报告
将以下 HTML 转换为 PDF:
<html>
<body>
<h1>月度报告</h1>
<p>这里是内容...</p>
</body>
</html>
📚 详细文档
如需详细的 API 文档,请访问 docs.pdfgenstudio.com
🛠️ 开发
npm install
npm run build
npm run dev
npm run test
npm run inspect
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE。
📞 支持