Papely MCP server
Connect Papely to AI assistants that support MCP: list your PDF templates, generate one document or a batch, get the download link and follow each email delivery.
Server URL
https://api.papely.app/api/integrations/mcp/v1Remote MCP server over Streamable HTTP. Sign in with OAuth, or use an API key.
Overview
Papely turns a PDF you already have into a reusable template with editable fields (text, dates, images, QR codes and tables) and generates personalized documents from your data. The Papely MCP server brings the same capability to AI assistants that support the Model Context Protocol, so you can create documents by asking in plain language.
An assistant connected to Papely can list the templates in your workspace and read the fields each one accepts; generate a single PDF, or up to 100 in one batch that downloads as a ZIP; check when a generation is ready and get a time-limited download link; register an image from a public URL to use in an image field; and email each document to its recipient, then see whether it was delivered and downloaded.
You connect by signing in to Papely and approving the assistant on a consent screen, and you can revoke that access at any time. The assistant only reaches the templates, documents and images of your own workspace. Each generated document counts toward your workspace's generation quota, exactly as if you had generated it in the Papely web app.
Connecting
Every client connects to the same server URL:
https://api.papely.app/api/integrations/mcp/v1Claude (web and desktop app)
Add the server URL as a custom connector (Settings → Connectors → Add custom connector). Claude opens the Papely sign-in; once you approve access on the consent screen, the tools are ready. No keys or headers needed.
Claude Code
claude mcp add --transport http papely https://api.papely.app/api/integrations/mcp/v1Add the server, then run /mcp inside Claude Code and pick papely to authorize it. Your browser opens with the Papely sign-in.
With an API key (Cursor, CI and servers)
Clients that can send headers can use a Papely API key instead of OAuth, sent as Authorization: Bearer papely_sk_.... Create and revoke your keys in Papely under Integrations → API.
Claude Code (no browser)
claude mcp add --transport http papely https://api.papely.app/api/integrations/mcp/v1 \
--header "Authorization: Bearer papely_sk_..."Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"papely": {
"url": "https://api.papely.app/api/integrations/mcp/v1",
"headers": { "Authorization": "Bearer papely_sk_..." }
}
}
}ChatGPT
To use Papely from ChatGPT, add the server URL as a custom connector following the OpenAI help on connecting custom MCP servers.
Tools
The server exposes eight tools. The Access column tells you whether a tool only reads, creates content in your workspace, or can also send emails.
| Tool | What it does | Access |
|---|---|---|
list_templates | Lists the PDF templates in your workspace, newest first. | Read only |
get_template | Returns a template with its fields and the kind of value each one takes: text, date, QR code, image or table. | Read only |
generate_document | Generates one PDF from a template and your data. If asked, it also emails the PDF to its recipient. Uses one generation of your quota. | Creates content, can send emails |
generate_batch | Generates 1 to 100 PDFs from one template as a single job, downloadable as a ZIP. If asked, it also emails each document to its recipient. Uses one generation per document. | Creates content, can send emails |
get_generation_status | Tells whether a generation is pending, processing, completed or failed. | Read only |
get_generation_document | Returns a fresh, time-limited download link for a completed generation: the PDF, or a ZIP for a batch. | Read only |
get_generation_emails | Shows the email delivery of a generation per recipient (pending, sent, delivered, bounced or failed) and whether they downloaded the document. | Read only |
register_image_from_url | Downloads a PNG or JPEG image from a public https URL and stores it in your workspace, ready for image fields. Counts toward your storage. | Creates content |
Emails only go out when you ask for them: the assistant has to pass the recipient and the email text. A generation without them sends nothing.
Example prompts
Papely adds a demo template, Demo - Event ticket, to every account the first time you open your templates or projects, or the first time an assistant lists your templates. It is called "Demo - Entrada de evento" if you first used Papely in Spanish; when an assistant creates it, it is always in English. It has two fields: name (text) and ticket (a QR code). These prompts work with it as written. The second and third generate documents and use your quota; none of them sends an email.
Prompt
List my Papely templates and show me the fields of the "Demo - Event ticket" template.
What happens: The assistant calls list_templates and get_template, then replies with your templates and the fields of the demo, name and ticket among them.
Prompt
Generate a PDF with the "Demo - Event ticket" template for Ada Lovelace with ticket code PCONF26-ADA1, and give me the download link.
What happens: The assistant calls generate_document, waits with get_generation_status, and replies with a download link to the PDF from get_generation_document.
Prompt
Create a batch with the "Demo - Event ticket" template for Ada Lovelace, Grace Hopper and Alan Turing, with ticket codes PCONF26-001, PCONF26-002 and PCONF26-003, and give me the ZIP download link.
What happens: The assistant calls generate_batch, waits until the job is completed, and replies with a download link to a ZIP holding the three PDFs.
Limits and quota
Limits apply per workspace and per minute:
- 120 requests to the server in total, across all tools.
- 10 calls to generate_document or generate_batch.
- 20 calls to register_image_from_url.
Past a limit, the server answers with a RATE_LIMITED error. Wait a moment and try again.
Each generated document uses one generation of your workspace quota, the same as in the web app: a batch of 20 documents uses 20. When the quota runs out, generating fails with GENERATION_QUOTA_EXCEEDED. Images registered with register_image_from_url count toward your storage.
Access and revocation
Claude, Claude Code and other OAuth clients get access only after you sign in to Papely and approve them on the consent screen. They act on the workspace you own.
To revoke an OAuth client, open Integrations → MCP in Papely and click Revoke next to it under Authorized clients. It loses access at once.
API keys are revoked under Integrations → API.
Support and privacy
Questions or problems? Write to [email protected]. How Papely handles your data is explained in the privacy policy.