{
  "markdown": "# PDFGate MCP Server\n\nModel Context Protocol (MCP) server for the [PDFGate](https://pdfgate.com) API. Enables AI assistants to generate PDFs, manage documents and handle e-signatures.\n\n## Installation\n\nAdd the following to your MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"pdfgate\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pdfgate/mcp-server\"],\n      \"env\": {\n        \"PDFGATE_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Hosted server (remote)\n\nIf you prefer not to run anything locally, we also host the MCP server, so you can\nconnect straight to it — no `npx`, no local process. Point any client that\nsupports remote (Streamable HTTP) MCP servers at:\n\n```\nhttps://mcp.pdfgate.com/server\n```\n\nYou can authenticate in two ways.\n\n### Option 1 — OAuth\n\nFor clients that support remote MCP servers with OAuth (such as Claude and\nChatGPT), add the server by its URL alone and sign in through your browser. There\nis no key to copy or store: the client registers itself, sends you to the PDFGate\ndashboard to approve access, and receives a scoped token automatically.\n\n```json\n{\n  \"mcpServers\": {\n    \"pdfgate\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.pdfgate.com/server\"\n    }\n  }\n}\n```\n\nMany clients let you add this from their UI instead of a config file — for\nexample, in Claude: **Settings → Connectors → Add custom connector**, then enter\nthe URL above. OAuth sessions run against your production account; for the\nsandbox, use an `X-API-KEY` with a `test_` key.\n\n### Option 2 — API key\n\nPass your key in the `X-API-KEY` header:\n\n```json\n{\n  \"mcpServers\": {\n    \"pdfgate\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.pdfgate.com/server\",\n      \"headers\": {\n        \"X-API-KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n`live_` keys use production and `test_` keys use the sandbox — the environment is\nselected automatically from the key.\n\nThe hosted server provides the full PDFGate toolset (PDF generation, processing,\nform fields, e-signatures and webhooks). The exact client config field names\n(e.g. `type` / `transport`, `headers`) may vary by MCP client.\n\n## Getting an API key\n\nSign up at [pdfgate.com](https://pdfgate.com) to get your API key.\n\n- Keys starting with `live_` connect to the production environment\n- Keys starting with `test_` connect to the sandbox environment\n\n## Tools\n\n### PDF Operations\n\n| Tool | Description |\n|---|---|\n| `generate_pdf` | Generate a PDF from a URL or raw HTML |\n| `upload_file` | Upload a local PDF file or from a URL |\n| `get_document` | Retrieve document metadata and a fresh download URL |\n| `download_file` | Download the raw PDF bytes of a stored document |\n| `delete_document` | Delete a document |\n| `flatten_pdf` | Flatten an interactive PDF into a static, non-editable file |\n| `extract_form_data` | Extract form field values from a fillable PDF |\n| `add_form_fields` | Add interactive form fields to a PDF (placeholder tags or explicit positions) |\n| `compress_pdf` | Compress a PDF to reduce file size |\n| `protect_pdf` | Encrypt a PDF with a password and permission restrictions |\n| `watermark_pdf` | Apply a text or image watermark to a PDF |\n\n### E-Signatures\n\n| Tool | Description |\n|---|---|\n| `create_envelope` | Create a signing envelope from one or more documents |\n| `send_envelope` | Send a created envelope to recipients |\n| `get_envelope` | Get the current status of an envelope |\n\n### Webhook Management\n\n| Tool | Description |\n|---|---|\n| `create_webhook` | Subscribe to PDFGate events |\n| `get_webhook` | Retrieve a webhook subscription by ID |\n| `delete_webhook` | Remove a webhook subscription |\n\n## Webhook Triggers\n\nThe server listens for incoming PDFGate events on port `3599` by default. To receive events:\n\n1. Expose port `3599` to the internet (e.g. via [ngrok](https://ngrok.com))\n2. Use the `create_webhook` tool to register your public URL\n\nSupported events:\n\n| Event | Description |\n|---|---|\n| `envelope.sent` | Signing request emails have been dispatched to recipients |\n| `envelope.completed` | All documents in the envelope have been signed |\n| `envelope.expired` | The envelope expired before all documents were signed |\n| `envelope.document.completed` | A single document inside the envelope has been fully signed |\n\nReceived events are available via the `pdfgate://events` MCP resource and pushed to the client in real time.\n\n## Environment variables\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `PDFGATE_API_KEY` | Yes | — | Your PDFGate API key |\n| `PDFGATE_WEBHOOK_PORT` | No | `3599` | Port for the webhook listener |\n\n---\n\n[![smithery badge](https://smithery.ai/badge/pdfgate/pdfgate-mcp)](https://smithery.ai/servers/pdfgate/pdfgate-mcp)\n",
  "bytes": 4714,
  "sha": "975920dde4431159e15224970e2107df4648c60570d43662aed0c27d1a9d04a2",
  "repo_slug": "pdfgate/pdfgate-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_pdfgate_mcp_server_39201600/readme"
}