# PaperClerk > PaperClerk generates consistent documents from approved templates. A team turns a document it sends again and again (invoice, quote, contract, SOP) into a locked template with typed placeholders; a person, an AI assistant or an MCP client fills the placeholders, and every fill produces a new, immutable generated document. The approved source is never rewritten. PaperClerk does not run an AI of its own. Assistants connect through one MCP server (Model Context Protocol, streamable HTTP, OAuth 2.1 or an API token) at https://usepaperclerk.com/api/mcp and use five tools: list_templates, get_template, generate_document, list_generations, get_generation. Only generate_document writes; the connector cannot create, edit or delete templates. Values are keyed by placeholder KEY: a snake_case name such as `client_name` that get_template returns beside each label, derived from the label when the template is first saved, stable when the label is reworded, changeable by the author (a label is accepted too); select, number and date placeholders validate against the template's declared options and formats; repeating groups take an array of instance objects; placeholders marked `auto: true` (today's date, an auto-number that increments per generated document) are filled by PaperClerk at generation and must not be sent; a placeholder may carry `description`, optional help text from the template author about the expected value (the format or content wanted); it is not printed in the document. ## Basic information - [AI info page](https://usepaperclerk.com/ai-info): what PaperClerk is, how placeholders and templates work, how to connect Claude, ChatGPT and other MCP clients, troubleshooting a connection, the REST API for scripts and automation platforms, the tool list, an example call, what the product is not, and how to describe it. - [Homepage](https://usepaperclerk.com/): the product story, from a recurring document to a locked template to an agent-generated copy. - [Pricing](https://usepaperclerk.com/pricing): plans priced by the number of locked templates kept live; generated documents and members are unlimited on every plan, and every plan starts with a 7-day free trial (card required). ## Public templates - [Template library](https://usepaperclerk.com/templates): fillable templates anyone can complete in the browser and download as a PDF with no account, or copy into a workspace. Each template page links its own Markdown twin (`/api/public/t/.md`, the document with `{{placeholder}}` tokens) and JSON (`/api/public/t/.json`, the placeholder inventory), readable without an account. **Prefill by link**: a public template opens already filled in when its placeholder values ride the page address as query parameters named by the placeholder's key (`/templates/legal/mutual-nda?party_a_name=Acme%20Ltd&effective_date=2026-09-07`; a label works too, matched case-insensitively; unknown parameters are ignored; repeating groups take `group_key[1].field_key`; a whole vector may travel as JSON in `fills=`). Every template page carries instructions for its own placeholders and Open-in-ChatGPT/Claude/Perplexity buttons with a ready prompt; the JSON exposes the same as `prefill.url_template`, `prefill.example` and `ai_instructions`. Generating a PDF from one through the connector needs a workspace. ## Connecting an assistant - [MCP endpoint](https://usepaperclerk.com/api/mcp): the connector URL to add in Claude (Customize → Connectors → Add custom connector, at https://claude.ai/customize/connectors, then Add, Connect, sign in and approve; if Claude asks which OAuth client to use, choose Register automatically; on a Team or Enterprise plan an Owner adds it under Organization settings → Connectors and each member connects from Customize → Connectors) or ChatGPT (Developer mode → add app). Every connection is bound to one workspace: connecting with OAuth asks which workspace the assistant may use (a new account chooses its plan, with a 7-day trial, before it approves); Claude Code and other MCP clients send a workspace API key from that workspace's Connections page as a bearer token. Revoking an API key takes effect immediately; after an assistant connection is removed, an access token it already holds can keep working for up to about an hour. - [Troubleshooting](https://usepaperclerk.com/ai-info#troubleshooting): a connection request expires after 10 minutes, so if the PaperClerk approval page says it has expired, go back to the assistant and start the connection again; to use a different workspace, remove the connector and add it again, then choose the workspace on the PaperClerk approval page (an API key always opens the workspace it was created in); a PDF download link lasts about an hour, so ask the assistant to open the document again for a fresh link; anything else: https://usepaperclerk.com/support. - [REST API](https://usepaperclerk.com/api/v1/templates): the same operations over plain HTTP for automation platforms and scripts, with a workspace API key as the bearer (created inside the workspace by an owner or admin; it opens that workspace alone). `GET /api/v1/templates`, `GET /api/v1/templates/` (the placeholder inventory), `POST /api/v1/templates//generations` (body `{ "values": { "": "" } }`, keys from the template's `placeholders[].key`; an identical request within 10 minutes is treated as a retry and answers the same document, so nothing generates twice), `GET /api/v1/generations` (filters: template, created_by, source, from, to, search; keyset `cursor`), `GET /api/v1/generations/`, `GET /api/v1/generations//pdf` (the stored PDF, rendered once on the server). Errors are `{ "error": { "code", "message" } }`. Reference overview: https://usepaperclerk.com/docs/api, with separate pages for authentication (/docs/api/auth), filling placeholders (/docs/api/values), and every endpoint (for example /docs/api/generate). OpenAPI 3.1: https://usepaperclerk.com/openapi.json. - [Create a workspace](https://usepaperclerk.com/register): every plan starts with a 7-day free trial; a card is required and is not charged until the trial ends. ## Optional - [Support](https://usepaperclerk.com/support): how to reach a person, what to include, and answers about connecting an assistant, choosing a workspace, billing, API keys and account deletion. - [Contact](mailto:hello@usepaperclerk.com): questions about the product or the connector.