🚀 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。
📞 支持