MCP server
Automette runs an MCP server at:
https://automette.com/api/mcpConnect it to Claude, or to any other MCP client, and the assistant you already use can build templates, render documents, create forms and configure webhooks in your team. There is no AI on our server: the model doing the work is the one you brought.
What it can do
Twenty-five tools, grouped by what you would actually ask for.
| Group | Tools |
|---|---|
| Knowledge | read_skill |
| Templates | list_templates, get_template, create_template, update_template, validate_template, preview_template, get_template_fields, upload_template_asset, browse_library, create_url_base |
| Rendering | render_document, get_render |
| Forms | list_forms, get_form, create_form, update_form, publish_form, connect_form_template, list_form_submissions |
| Brand | get_brand_kit |
| Webhooks | list_webhooks, create_webhook, delete_webhook, test_webhook |
Two of these are worth knowing about before you start a session:
preview_templateis free. It creates no render record and costs no credit, and it hands the model back an image of the page. Iterating on a design is not a billed activity.validate_templateis the quality gate. It catches the failures that otherwise arrive as a document that is quietly wrong: a font we cannot ship being silently substituted, placeholder text left in, an image source that resolves to nothing, a component sitting off the artboard.
Slash commands
Two prompts ship with the server. In Claude Code they appear as slash commands; in other clients they are wherever that client puts prompts.
author_template— takes what the document is, and optionally which engine. It puts the right order in the conversation: read the reference, write, validate, preview, and show you the result before anything is rendered.render_from_template— takes a template name or id. It looks the fields up rather than guessing them, and confirms the values with you before spending a credit.
They exist because the expensive mistake here is not a bad tool call, it is a good one in the wrong order.
Attaching a reference yourself
The same pages are published as resources at skill://recipes, skill://typst, skill://canvas, skill://typst-patterns, skill://canvas-patterns and skill://fonts. If your client has a resource picker, you can attach one to your own conversation, or read what we tell your assistant.
read_skill is how the model learns to write a template at all. It serves the same reference pages our own editor runs on (recipes, typst, canvas), and the canvas component tables are generated from the renderer itself, so they cannot drift from what it accepts.
Connect Claude
Claude connects over OAuth, so there is no key to paste or store.
- In Claude, add a custom connector and give it the URL
https://automette.com/api/mcp. - Claude sends you to Automette to sign in.
- If you belong to more than one team, pick which team the connection acts on.
- Review what you are granting, and approve.
That is the whole flow. Claude holds a token that expires and renews on its own; you never see it.
A connection acts on one team
The team you choose at step 3 is fixed for the life of the connection. Every template the assistant creates, every render it bills and every webhook it configures belongs to that team, no matter which team is on screen in the dashboard at the time.
To point an existing connection at a different team, disconnect it and connect again.
Connections are personal
A connection acts as you. Your teammates cannot see it and cannot revoke it, and it carries whatever access you have in the team. This is the difference between a connection and an API key: a key belongs to the team and works for anyone holding it.
Connect a coding agent
Clients that can hold a secret can skip OAuth and send an API key instead. Create one on the API Keys page in the dashboard, then:
claude mcp add --transport http automette https://automette.com/api/mcp \
--header "Authorization: Bearer dg_your_api_key"Any MCP client that supports Streamable HTTP with custom headers works the same way. The key is team-scoped, so the connection acts on the key's team.
Do not use an API key in a client that can do OAuth. A key is a long-lived secret that anyone reading the config file can use; the OAuth token is short-lived and tied to you.
See and revoke what is connected
Settings → Connected apps lists every client connected to your account: what it is, which team it acts on, what it can do and when you connected it.
Disconnect cuts access immediately. The client cannot renew and its current token stops working on the next request, not whenever it happens to expire.
Limits
- Templates are created and changed only through tools. There is no way for an MCP client to reach into the visual editor's internals, and nothing on this server calls our own AI.
- The docx engine renders but does not author. An uploaded Word file can be filled and rendered; it cannot be written from a description. See Word templates.
- Destructive security operations are not exposed. Revoking a signing base, or disabling a webhook that is carrying live traffic, stays in the dashboard where a person can see what they are about to break.
- Rendering is billed the same as everywhere else. A document rendered by an assistant is a render, counted against your plan exactly as an API call or a bulk job would be.
Last updated on