{
  "markdown": "# Unplain MCP\n\nYour assistant writes the ebook or report. Unplain designs it and hands back a\npublish-ready PDF.\n\nUnplain is a hosted [Model Context Protocol](https://modelcontextprotocol.io)\nserver. Ask for a document and your assistant writes it, picks a design (or\napplies a brand you have saved), generates a cover, and exports a finished PDF\nwith a composed cover, a table of contents built from the headings, real\npagination and a closing call-to-action page. You never leave the chat, and you\nnever open a design tool.\n\nTwo things follow from that, and they are the reason to use this rather than\nasking a model for a PDF directly:\n\n- **It comes out the same every time.** Brand Themes are stored, so the tenth\n  document matches the first. Your assistant can create one and reuse it.\n- **Revisions cost no tokens.** Every document is a real project in your Unplain\n  account, and the tools return an editor link. Fix a sentence by clicking it,\n  not by asking the model to regenerate the file.\n\nUnplain does not write your content, and through MCP it does not take file\nuploads: your assistant supplies the words as Markdown. Uploading a `.docx` or a\n`.txt` is a [web app](https://unplain.io) feature, not an MCP one.\n\n- **Endpoint:** `https://app.unplain.io/api/mcp`\n- **Transport:** Streamable HTTP\n- **Auth:** `Authorization: Bearer <api-key>` (a bare `Authorization: <api-key>` is also accepted)\n- **Install:** nothing to install\n- **Docs:** <https://unplain.io/mcp>\n- **Pricing:** included on every plan, free and Pro. <https://unplain.io/pricing>\n\n> This repository is documentation. The server is hosted, so there is no package\n> to install and no source to run. Issues and questions are welcome here.\n>\n> Publishing to the official MCP Registry: see [PUBLISHING.md](PUBLISHING.md).\n> The manifest is [server.json](server.json).\n\n---\n\n## Quick start\n\n### 1. Get an API key\n\nCreate one at [account settings](https://app.unplain.io/account#api-keys). It is\nshown once. A free account works for everything below.\n\n### 2. Add the server\n\n**Claude Code**\n\n```bash\nclaude mcp add --transport http unplain https://app.unplain.io/api/mcp \\\n  --header \"Authorization: Bearer unp_your_key_here\"\n```\n\nFull guide: <https://unplain.io/mcp/claude-code>\n\n**Codex**\n\n```bash\nexport UNPLAIN_API_KEY=\"unp_your_key_here\"\n\ncodex mcp add unplain \\\n  --url https://app.unplain.io/api/mcp \\\n  --bearer-token-env-var UNPLAIN_API_KEY\n```\n\nFull guide: <https://unplain.io/mcp/codex>\n\n**Anything else**\n\nAny client that can add a remote MCP server and send an `Authorization` header\nworks. You need two values:\n\n```\nServer URL:  https://app.unplain.io/api/mcp\nHeader:      Authorization: Bearer unp_your_key_here\n```\n\nA client that only supports servers running on your own machine cannot connect\nyet.\n\n### 3. Say hello\n\n```\nList the Brand Themes in my Unplain account and tell me which one is the default.\n```\n\nAn empty list is still a success: the connection is live, you have not saved a\ntheme yet.\n\n### 4. Make something\n\n```\nWrite a short ebook called \"The Email Welcome Sequence Playbook\" with an intro\nand five chapters. Use my default Brand Theme, then export the PDF.\n```\n\n---\n\n## Tools\n\nTwelve tools. Names and behaviour are current as of the version in\n[CHANGELOG.md](CHANGELOG.md).\n\n| Tool | What it does |\n| --- | --- |\n| `get_account` | Report the plan this key belongs to and the limits that apply. Worth calling before writing anything long. |\n| `get_design_options` | The font catalog, the built-in presets, and the allowed range of each typography and spacing setting. |\n| `list_brand_themes` | List saved Brand Themes. |\n| `create_brand_theme` | Save a new Brand Theme: colors, fonts, links. |\n| `update_brand_theme` | Change a theme's name, colors, fonts or links. |\n| `create_ebook` | Create a project from a title and Markdown. |\n| `list_ebooks` | Find the caller's projects. |\n| `get_ebook` | Read a project back as a structured outline. |\n| `update_ebook` | Rewrite paragraphs, headings and lists, change cover copy and style, apply a theme, or replace the body. |\n| `generate_cover_image` | AI cover artwork, drawn from the section headings or from your direction. |\n| `export_ebook` | Render the designed PDF. |\n| `get_export_status` | Poll a running export and get the download link. |\n\n### Notes that matter in practice\n\n- **Edits are atomic and version-checked.** An assistant cannot overwrite a\n  change you made in the web app in the meantime; a stale write is rejected\n  rather than applied over your work.\n- **Design can be described rather than specified.** \"A stark monochrome report\"\n  or \"an elegant independent literary journal\" resolves to real settings, chosen\n  from what Unplain actually supports rather than guessed.\n- **Fonts outside the catalog are refused, not substituted.** What you see in the\n  app is what lands in the PDF.\n- **Cover generation uses your existing allowance**, the same one the button in\n  the app draws on. There is no separate MCP allowance. Overwriting an existing\n  cover needs an explicit go-ahead, so a repeated request cannot silently spend\n  a second generation.\n- **Download links are signed and expire.** The project is saved, so export\n  again rather than hoarding the URL.\n\n---\n\n## Plans and limits\n\nThe MCP is an interface, not a tier. A key carries exactly the capabilities of\nthe account behind it, and the same limits apply whether you work in the web app\nor through an assistant.\n\n| | Free | Pro |\n| --- | --- | --- |\n| Content pages per exported PDF | 5 | Unlimited |\n| Saved projects | 5 | Unlimited |\n| Brand Themes | 1 | 25 |\n| AI covers | 1 lifetime | 30 per period |\n| \"Made with Unplain\" badge | Always | Removable |\n\nCover, contents and call-to-action pages never count toward the page limit.\nCurrent pricing: <https://unplain.io/pricing>\n\n---\n\n## Example prompts\n\nSee [examples/prompts.md](examples/prompts.md) for a fuller set. A few to start:\n\n```\nTake the Markdown in notes.md and create an Unplain ebook called \"Q3 Growth\nReport\". Use my default Brand Theme, then wait for the export and give me the\nPDF link.\n```\n\n```\nOpen my Unplain ebook \"Q3 Growth Report\", read the outline, rewrite the\nintroduction so it opens with a concrete number instead of a general claim,\nthen export a fresh PDF.\n```\n\n```\nAnalyse the churn data in ./data, write it up as a report with an executive\nsummary, three findings and a recommendation, then create it in Unplain using\nmy \"Acme\" theme and export the PDF.\n```\n\n---\n\n## Keeping your key safe\n\nTreat it like a password.\n\n- Codex reads it from an environment variable, which keeps it out of config files.\n- Claude Code's `-s project` writes a `.mcp.json` in the project root. **Do not\n  commit a real key in it.** Use a placeholder and have each person supply their\n  own; a key acts in the account it belongs to.\n- Revoke from [account settings](https://app.unplain.io/account#api-keys).\n  Revocation takes effect immediately. Keep one key per client so you can revoke\n  one without disturbing the rest.\n\n---\n\n## Troubleshooting\n\n| Symptom | Cause |\n| --- | --- |\n| Every tool call fails | The key is not reaching the server. The header must be `Bearer ` (with the space) then the key, and the URL must end in `/api/mcp` with no trailing slash. A bad key returns 401, which most clients report as a failed connection. |\n| Tools do not appear | Restart the client. New servers are picked up at session start. |\n| Codex cannot find the key | It reads the environment at launch. Export it in your shell profile and start Codex from a shell that has it. |\n| \"No Brand Themes\" | The connection works, you have not saved one. Your assistant can create one, or design from the built-in presets. |\n| Export says the ebook is too long | Free exports up to 5 content pages. Shorten it or upgrade. The project is saved either way. |\n| Too many requests | Per-account rate limits on creates and exports. Wait a minute. |\n\nMore: <https://unplain.io/mcp>\n\n---\n\n## Support\n\n- Docs: <https://unplain.io/mcp>\n- Email: info@unplain.io\n- Issues: use this repository\n\n## License\n\nDocumentation and examples in this repository are MIT licensed. The Unplain\nservice itself is governed by its [terms](https://unplain.io/terms) and\n[privacy policy](https://unplain.io/privacy).\n",
  "bytes": 8271,
  "sha": "7ead293f366dadae0239c5225cc84a8682b7940a4367d9610263c3be4c93a868",
  "repo_slug": "dolko42/unplain-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_unplain_unplain_59f5d462/readme"
}