PDF生成服务器

PDF Gen Studio MCP Server 是一个基于模型上下文协议(MCP)的服务器,用于从模板、JSON、HTML或URL生成PDF和图像。

  • by Majid9287
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Majid9287/pdfgenstudio-mcp

使用说明

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

  1. 打开Docker桌面
  2. 首选 扩展 → MCP工具包
  3. 在目录中搜索“pdfgenstudio”
  4. 点击 安装 并配置您的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

  1. 打开VS代码设置(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代码中使用本地安装

{
  "servers": {
    "pdfgenstudio": {
      "command": "node",
      "args": ["C:/path/to/pdfgenstudio-mcp/dist/index.js"],
      "env": {
        "PDFGENSTUDIO_API_KEY": "your-api-key-here"
      }
    }
  }
}

光标

Cursor具有内置的MCP支持。在游标设置中配置它。

步骤1:打开光标设置

  1. 打开的游标
  2. 首选 Settings → Cursor Settings → 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

窗户: %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);

故障排除

常见问题

  1. “未配置API密钥”

    • 确保 PDFGENSTUDIO_API_KEY 设置在 env 部分
    • 检查环境变量名称中的拼写错误
  2. “找不到命令”(npx)

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

    • 配置更改后重新启动IDE/应用程序
    • 检查日志中的错误消息
    • 验证本地安装的路径是否正确
  4. 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许可证-请参阅 许可证 了解详情。

支持