Appearance
AI
Postcraft speaks MCP, so you can edit your templates from Claude Code, Claude Desktop, Cursor, or anything else that speaks it. Describe the change in your own words and the agent makes it. Postcraft runs no model of its own: the agent, the model and the inference bill are yours.
There are two ways to connect, depending on what you have:
- An API key connects an agent to your whole workspace: list, create and edit any template in it.
- A shared editor link connects it to exactly the one template that link opens, with no Postcraft account needed. Use it for a client or a freelancer you have sent an
/editlink to.
1. Get an API key
Follow Get started if you have not already. Skip to connecting from a shared link if that is what you have.
2. Point your agent at Postcraft
The endpoint is https://postcraft.io/api/v1/mcp, authenticated with your key in the x-api-key header.
You do not have to copy any of this by hand. AI agents, under Settings › API keys & agents in the dashboard, builds the snippet for your client with a placeholder where your key goes. The Agent button in the editor builds one with the link's token already in it. Both offer one-click install where the client supports it. What follows is the same snippet, for reference:
bash
claude mcp add --transport http postcraft https://postcraft.io/api/v1/mcp \
--header "x-api-key: <your-key>"json
// ~/.cursor/mcp.json (or .cursor/mcp.json in a project)
{
"mcpServers": {
"postcraft": {
"url": "https://postcraft.io/api/v1/mcp",
"headers": {
"x-api-key": "<your-key>"
}
}
}
}json
// .vscode/mcp.json
{
"servers": {
"postcraft": {
"type": "http",
"url": "https://postcraft.io/api/v1/mcp",
"headers": {
"x-api-key": "<your-key>"
}
}
}
}json
// claude_desktop_config.json
// Claude Desktop only launches local servers, so this runs the mcp-remote
// bridge, which forwards to Postcraft. Requires Node.
{
"mcpServers": {
"postcraft": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://postcraft.io/api/v1/mcp",
"--header",
"x-api-key:${POSTCRAFT_AUTH}"
],
"env": {
"POSTCRAFT_AUTH": "<your-key>"
}
}
}
}json
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"postcraft": {
"serverUrl": "https://postcraft.io/api/v1/mcp",
"headers": {
"x-api-key": "<your-key>"
}
}
}
}json
// ~/.gemini/settings.json
{
"mcpServers": {
"postcraft": {
"httpUrl": "https://postcraft.io/api/v1/mcp",
"headers": {
"x-api-key": "<your-key>"
}
}
}
}json
// opencode.json (or ~/.config/opencode/opencode.json)
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"postcraft": {
"type": "remote",
"url": "https://postcraft.io/api/v1/mcp",
"enabled": true,
"headers": {
"x-api-key": "<your-key>"
}
}
}
}Restart the client and postcraft appears with its tools available.
Anything that can read your MCP config can read your key, so treat that file the way you would treat any credential store.
3. Ask for a change
Talk to it the way you would talk to a designer who has the file open. Some things that work:
"Add a testimonial section to my welcome email, then show me."
"The footer text is too dark. Make it grey, and a bit smaller."
"Turn the three feature paragraphs into a two-column row, image on the left."
"This email is for a product launch. Draft me a subject-line variant and rewrite the hero copy to match it."
"Pull the order table out into its own repeating block over
{{items}}, one row each."
Three things change what you ask for:
Your agent edits a draft, not the live template. Nothing it writes goes out to real recipients until you publish, so you can let it work and look afterwards. Ask it to publish when you are happy, or publish yourself from the editor.
It can write the subject line too. The subject is part of the template, so "give this a subject that mentions the order number" works the same way a body edit does, and lands in the same draft.
It can see what it made. Ask it to render the template and it will read back the actual HTML, so "show me" and "check that renders" work. Ask for a render: it is how the agent catches its own mistakes.
With a coding agent
A coding agent such as Claude Code, Cursor or Codex can follow the Postcraft skill, one Markdown file of steps: find the template, read it, edit it in the mode it is in, render it, and hand back a draft. It also covers the code side: rendering a template from your application and passing the HTML and text to the sender you already use. Point the agent at that address, or save the file where your agent looks for skills.
Reviewing what it did
Open the template in the editor. The agent's work is in the draft, and History lists each version with a line on what it changed, so you can restore an earlier one.
If the editor is already open while the agent works, a visual template shows each write as it lands, and undo reverses it. A code template does not change under you: the editor tells you the template changed and offers to load the new version.
Connecting from a shared editor link
An /edit link is a credential in its own right, so anyone holding one can point their own agent at that single template without a Postcraft account.
Open the link, click Agent, and copy the snippet. It carries the link's own token, reaches that one template and nothing else, and stops working when the link expires. A read-only link has no Agent button, and an agent connected with its token can read and render but not write.