Back to MCP directory
publicPublicdnsLocal runtime

pdfgenstudio-mcp

PDF生成工作室的MCP服务器,支持从模板、JSON、HTML或URL生成PDF和图像文档。

article

README

🚀 PDF Gen Studio MCP 服务器

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

npm 版本 许可证:MIT

✨ 主要特性

  • 📄 模板渲染 - 利用动态数据注入渲染已保存的模板
  • 🔧 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
npx @pdfgenstudio/mcp

# 显式指定传输方式
pdfgenstudio-mcp --transport stdio

作为 HTTP 服务器

# 在端口 3100 上启动 HTTP 服务器
pdfgenstudio-mcp --transport http --port 3100

# 或者使用自定义端口
pdfgenstudio-mcp -t http -p 8080

开发与测试

# 使用 fastmcp CLI 进行测试
npm run test

# 使用 MCP 检查器进行检查
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

  1. 打开 Docker 桌面版
  2. 转到 扩展MCP 工具包
  3. 在目录中搜索 "pdfgenstudio"
  4. 点击 安装 并配置你的 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 容器

# 以标准输入输出模式运行(默认) - 用于 MCP 客户端集成
docker run -it --rm \
  -e PDFGENSTUDIO_API_KEY="your-api-key-here" \
  mcp/pdfgenstudio:latest

# 以 HTTP 模式运行 - 用于本地开发/测试
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

# 创建包含你的 API 密钥的 .env 文件
echo "PDFGENSTUDIO_API_KEY=your-api-key-here" > .env

# 以标准输入输出模式运行(默认)
docker-compose up -d pdfgenstudio-mcp

# 以 HTTP 模式运行(用于本地测试)
docker-compose --profile http up -d pdfgenstudio-mcp-http

VS Code(GitHub Copilot)

VS Code 通过 GitHub Copilot 扩展支持 MCP 服务器。

步骤 1:在 VS Code 中启用 MCP

  1. 打开 VS Code 设置(Ctrl+,Cmd+,
  2. 搜索 github.copilot.chat.experimental.mcp
  3. 启用该设置

步骤 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 设置

  1. 打开 Cursor
  2. 转到 设置Cursor 设置MCP
  3. 或者按下 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 连接的客户端:

启动服务器

# 启动 HTTP 服务器
npx @pdfgenstudio/mcp --transport http --port 3100

端点

  • HTTP 流式传输http://localhost:3100/mcp
  • SSEhttp://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);

故障排除

常见问题

  1. “API 密钥未配置”

    • 确保 PDFGENSTUDIO_API_KEYenv 部分中已设置
    • 检查环境变量名称是否有拼写错误
  2. “命令未找到”(npx)

    • 确保已安装 Node.js 18+
    • 尝试使用 npx 的完整路径:/usr/local/bin/npx
  3. 服务器未连接

    • 在配置更改后重启你的 IDE/应用程序
    • 检查日志以查找错误消息
    • 验证本地安装的路径是否正确
  4. Windows 路径问题

    • 在路径中使用正斜杠 / 或转义反斜杠 \\
    • 使用绝对路径

调试模式

使用调试日志运行:

DEBUG=* npx @pdfgenstudio/mcp

验证安装

# 直接测试服务器
npx @pdfgenstudio/mcp --help

# 使用 MCP 检查器进行测试
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

# 使用 MCP CLI 进行测试 
npm run test

# 使用 MCP 检查器进行检查
npm run inspect

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE

📞 支持

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client