使用说明
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 |
用法
作为stdio服务器(默认)
# Using global install
pdfgenstudio-mcp
# Using npx
npx @pdfgenstudio/mcp
# With explicit transport
pdfgenstudio-mcp --transport stdio
作为HTTP服务器
# Start HTTP server on port 3100
pdfgenstudio-mcp --transport http --port 3100
# Or with custom port
pdfgenstudio-mcp -t http -p 8080
开发与测试
# Test with fastmcp CLI
npm run test
# Inspect with MCP Inspector
npm run inspect
🔌 客户端集成
克劳德桌面版
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %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 Desktop。
Docker桌面(MCP工具包)
PDF Gen Studio MCP可在Docker Desktop的MCP工具包目录中找到。
选项1:使用Docker桌面MCP工具包UI
- 打开Docker桌面
- 首选 扩展 → MCP工具包
- 在目录中搜索“pdfgenstudio”
- 点击 安装 并配置您的API密钥
选项2:手动配置
添加到您的Claude Desktop配置中以使用Docker镜像:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %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容器
# Run in stdio mode (default) - for MCP client integration
docker run -it --rm \
-e PDFGENSTUDIO_API_KEY="your-api-key-here" \
mcp/pdfgenstudio:latest
# Run in HTTP mode - for local development/testing
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
# Create .env file with your API key
echo "PDFGENSTUDIO_API_KEY=your-api-key-here" > .env
# Run in stdio mode (default)
docker-compose up -d pdfgenstudio-mcp
# Run in HTTP mode (for local testing)
docker-compose --profile http up -d pdfgenstudio-mcp-http
VS代码(GitHub副本)
VS Code通过GitHub Copilot扩展支持MCP服务器。
步骤1:在VS代码中启用MCP
- 打开VS代码设置(
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代码中使用本地安装
{
"servers": {
"pdfgenstudio": {
"command": "node",
"args": ["C:/path/to/pdfgenstudio-mcp/dist/index.js"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
光标
Cursor具有内置的MCP支持。在游标设置中配置它。
步骤1:打开光标设置
- 打开的游标
- 首选
Settings→Cursor Settings→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
窗户: %USERPROFILE%\.cursor\mcp.json
Linux: ~/.cursor/mcp.json
{
"mcpServers": {
"pdfgenstudio": {
"command": "npx",
"args": ["-y", "@pdfgenstudio/mcp"],
"env": {
"PDFGENSTUDIO_API_KEY": "your-api-key-here"
}
}
}
}
风帆冲浪(Codeium)
Windsurf通过其配置支持MCP。
配置文件位置
macOS: ~/.codeium/windsurf/mcp_config.json
窗户: %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"
}
}
}
}
}
继续(VS代码/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连接的客户端:
启动服务器
# Start HTTP server
npx @pdfgenstudio/mcp --transport http --port 3100
端点
- HTTP流媒体:
http://localhost:3100/mcp - 上海证券交易所
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
验证安装
# Test the server directly
npx @pdfgenstudio/mcp --help
# Test with MCP Inspector
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 |
示例用法
渲染模板
Use the render_template tool to generate a PDF from template ID "abc123"
with the following data: {"name": "John Doe", "amount": "$500"}
网页截图
Capture a full-page screenshot of https://example.com as PNG
生成HTML报告
Convert this HTML to PDF:
<html>
<body>
<h1>Monthly Report</h1>
<p>Content here...</p>
</body>
</html>
API 参考
有关API的详细文档,请访问 docs.pdfgenstudio.com
发展
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Test with MCP CLI
npm run test
# Inspect with MCP Inspector
npm run inspect
许可证
MIT许可证-请参阅 许可证 了解详情。