mcpField
P
Pdf Generator Api

Pdf Generator Api

ローカル
github.com/pdfgeneratorapi開発ツール12 週間前に更新

Pdf Generator Api について

PDF Generator API v4 の仕様から生成された MCP サーバーです。stdio と HTTP のトランスポートに対応し、ローカル利用や複数クライアント向けのデプロイができます。

主な機能

  1. 01OpenAPI v4 仕様から生成
  2. 02stdio と HTTP のトランスポート
  3. 03JWT による API 認証
  4. 04API URL と HTTP 設定の変更
  5. 05HTTP モードのヘルスチェックエンドポイント

活用シーン

  1. 01ローカルの MCP クライアントを PDF Generator API に接続
  2. 02複数クライアント向け HTTP MCP エンドポイントのデプロイ
  3. 03API 仕様の変更後にサーバーを再生成

MCP 対応

stdio または Streamable HTTP を通じて、MCP クライアントに PDF Generator API の機能を提供します。リクエストの認証には JWT を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

PDF Generator API — MCP サーバー

PDF Generator API 向けの Model Context Protocol(MCP)サーバーです。OpenAPI v4 仕様から生成されています。

概要

このサーバーは、stdio と HTTP の両方のトランスポートをサポートしています。

  • Stdio モード(デフォルト):ローカルの MCP クライアントとの連携用(Claude Desktop、Claude Code、Cline など)
  • HTTP モード:本番環境へのデプロイ、マーケットプレイス、複数のクライアント向け

クイックスタート

ローカル開発(Stdio モード)

インストールとビルド:

npm install
npm run build

MCP クライアント設定の例:

{
  "mcpServers": {
    "pdf-generator-api": {
      "command": "node",
      "args": ["/path/to/mcp-server/build/index.js"],
      "env": {
        "API_BASE_URL": "https://us1.pdfgeneratorapi.com/api/v4",
        "BEARER_TOKEN_JWT": "your-jwt-token-here"
      }
    }
  }
}

注:/path/to/mcp-server を実際のパスに、your-jwt-token-here を PDF Generator API の JWT トークンに置き換えてください(トークンの生成方法は、以下のJWT トークンの生成を参照してください)。

一般的な設定ファイルの場所:

  • Claude Desktop:設定 > 開発者 > 設定を編集
  • Claude Code(CLI):~/.claude/mcp_config.json
  • Cline/Roo-Codeium:.vscode/mcp_config.json
  • Continue:~/.continue/config.json
リモート MCP サーバー(Streamable HTTP)

デプロイ済みの MCP サーバー(例:https://mcp.example.com)がある場合、ローカルで何も実行せずに、MCP クライアントから直接接続できます。

Claude Code(~/.claude/mcp_config.json):

{
  "mcpServers": {
    "pdf-generator-api": {
      "type": "streamable-http",
      "url": "https://mcp.pdfgeneratorapi.com/mcp",
      "headers": {
        "Authorization": "Bearer your-jwt-token-here"
      }
    }
  }
}

Claude Desktop(claude_desktop_config.json):

Claude Desktop は streamable-http を直接サポートしていません。ブリッジとして mcp-remote を使用してください。

{
  "mcpServers": {
    "pdf-generator-api": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.pdfgeneratorapi.com/mcp",
        "--header",
        "Authorization: Bearer your-jwt-token-here"
      ]
    }
  }
}

注:リモートサーバーでは、セッション中の有効期限切れを避けるため、長期間有効な JWT トークン(例:--expiresIn 30d)を使用してください。作成方法はJWT トークンの生成を参照してください。設定を更新した後は、MCP クライアントを再起動してください。

本番環境へのデプロイ(HTTP モード)

ローカルで実行:

npm install
npm run start:http
# Server runs on http://localhost:3000
# MCP endpoint: http://localhost:3000/mcp
# Health check: http://localhost:3000/health

Docker:

docker compose -f deploy/docker-compose.yml up -d
# MCP endpoint: http://localhost:3001/mcp

認証

Stdio モード:MCP クライアントの設定で、環境変数 BEARER_TOKEN_JWT を介して JWT トークンを渡します。

HTTP モード:各リクエストの Authorization ヘッダーに JWT トークンを渡します。

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer your-jwt-token-here" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",...}'

JWT トークンの生成

PDF Generator API の認証には JWT トークンが必要です。PDF Generator API ダッシュボードのアカウント設定 > API 連携から認証情報を取得してください。

次の 3 つの値が必要です。

  • ワークスペース ID(iss クレーム)— 数値形式のワークスペース識別子
  • ワークスペース識別子(sub クレーム)— ワークスペースのメールアドレスまたは一意のキー
  • シークレットキー — JWT の署名キー(秘密にしてください)

参照:https://docs.pdfgeneratorapi.com/v4#section/Authentication/Creating-a-JWT

Node.js
const jwt = require('jsonwebtoken');

const token = jwt.sign(
  {
    iss: 'YOUR_WORKSPACE_ID',       // e.g. "12345"
    sub: 'YOUR_WORKSPACE_IDENTIFIER' // e.g. "[email protected]"
  },
  'YOUR_SECRET_KEY',
  {
    algorithm: 'HS256',
    expiresIn: '24h'  // Token lifetime — see notes below
  }
);

console.log(token);
クイックなワンライナー(npx)
npx jsonwebtoken-cli -- sign \
  '{"iss":"YOUR_WORKSPACE_ID","sub":"YOUR_WORKSPACE_IDENTIFIER"}' \
  'YOUR_SECRET_KEY' \
  --algorithm HS256 \
  --expiresIn 24h
トークンの有効期限(TTL)

用途に合わせて TTL を選択してください。

用途推奨 TTL理由
ローカル MCP(stdio)24h 以上MCP セッションは長期間続く場合があるため、セッション中の有効期限切れを防げます
本番環境(HTTP)1h有効期間の短いトークンを使うことで、漏えい時のリスクを低減できます
CI/CD またはスクリプト5m – 15m自動化タスクでのトークンの露出時間を最小限にできます

PDF Generator API は、リクエストごとにトークンを検証します。セッション中にトークンの有効期限が切れると、その後の API 呼び出しは 401 Unauthorized を返します。新しいトークンを生成し、MCP クライアントを再起動してください。

セキュリティのベストプラクティス
  • トークンやシークレットキーをバージョン管理にコミットしないでください
  • BEARER_TOKEN_JWT の保存には、環境変数またはシークレットマネージャーを使用してください
  • PDF Generator API ダッシュボードで、定期的にシークレットキーをローテーションしてください
  • HTTP モードでは、通信中のトークンを保護するため、本番環境でHTTPSを使用してください

参照:PDF Generator API の認証ドキュメント

環境変数

変数モードデフォルト説明
API_BASE_URLBothhttps://us1.pdfgeneratorapi.com/api/v4PDF Generator API のベース URL
BEARER_TOKEN_JWTStdio—認証用の JWT トークン
PORTHTTP3000サーバーのポート
LOG_LEVELBothinfoログレベル(debug、info、warn、error)
SESSION_TTL_MINUTESHTTP30セッションのアイドルタイムアウト(分)
CORS_ORIGINHTTP*(すべてのオリジン)許可するオリジン(カンマ区切り)

リポジトリのルートに .env ファイルを作成します:

cp .env.example .env

再生成

OpenAPI 仕様の変更後に再生成するには:

# Place the updated spec at docs/apiv4.json, then:
./scripts/generate-mcp.sh

# Or specify a custom input:
./scripts/generate-mcp.sh --input /path/to/apiv4.json

注: 再生成後、カスタムパッチを再適用する必要がある場合があります。

テスト

npm run build
npm test

stdio モードを手動でテストします:

BEARER_TOKEN_JWT="your-token" echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npm run start:stdio

HTTP モードをテストします:

npm run start:http
curl http://localhost:3000/health

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。