Unplain

io.unplainPublished by unplain.ioOfficial publisherv1.0.1Updated Nov 2, 2026

Your assistant writes the ebook or report; Unplain designs it and returns a publish-ready PDF.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFiles & StorageMedia & Design

Overview

AI-generated overview

Hosted MCP server that turns Markdown written by your assistant into a designed, publish-ready PDF ebook or report with cover, contents and pagination.

What you can do
  • Create, list and read ebook or report projects from a title and Markdown, and rewrite paragraphs, headings, lists, cover copy or the whole body.
  • Manage Brand Themes: list, create and update saved colors, fonts and links, and inspect the font catalog, presets and allowed typography and spacing ranges.
  • Generate AI cover artwork from section headings or your direction, then export the designed PDF and poll the export for a download link.
  • Check the account plan and its limits before writing anything long.
When to use it
Useful when you want a chat-written document to come out as a finished, consistently styled PDF without opening a design tool, and when you want revisions done in an editor rather than by regenerating the file. Saved Brand Themes keep repeated documents matching each other.
Requirements
A remote MCP client that can add a hosted server and send an Authorization header; nothing to install. An Unplain account and API key sent as Authorization: Bearer unp_... (a bare key is also accepted), created in account settings and shown once. The server URL must end in /api/mcp. A free plan works but caps content pages, saved projects, themes and AI covers.
Before you install
The API key acts in the account it belongs to, so treat it like a password: keep it out of committed config files and revoke it from account settings if exposed. Tools write to your account: they create and update projects and themes, and overwrite an existing cover only with explicit approval. Cover generation draws on the account's existing AI cover allowance, and exports are subject to per-account rate limits. Download links are signed and expire.

Installation

In SourceWeft

  1. Open Unplain in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.unplain%2Funplain/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "unplain": {
      "type": "http",
      "url": "https://app.unplain.io/api/mcp"
    }
  }
}

README

Unplain MCP

Your assistant writes the ebook or report. Unplain designs it and hands back a publish-ready PDF.

Unplain is a hosted Model Context Protocol server. Ask for a document and your assistant writes it, picks a design (or applies a brand you have saved), generates a cover, and exports a finished PDF with a composed cover, a table of contents built from the headings, real pagination and a closing call-to-action page. You never leave the chat, and you never open a design tool.

Two things follow from that, and they are the reason to use this rather than asking a model for a PDF directly:

  • It comes out the same every time. Brand Themes are stored, so the tenth document matches the first. Your assistant can create one and reuse it.
  • Revisions cost no tokens. Every document is a real project in your Unplain account, and the tools return an editor link. Fix a sentence by clicking it, not by asking the model to regenerate the file.

Unplain does not write your content, and through MCP it does not take file uploads: your assistant supplies the words as Markdown. Uploading a .docx or a .txt is a web app feature, not an MCP one.

  • Endpoint: https://app.unplain.io/api/mcp
  • Transport: Streamable HTTP
  • Auth: Authorization: Bearer <api-key> (a bare Authorization: <api-key> is also accepted)
  • Install: nothing to install
  • Docs: https://unplain.io/mcp
  • Pricing: included on every plan, free and Pro. https://unplain.io/pricing

This repository is documentation. The server is hosted, so there is no package to install and no source to run. Issues and questions are welcome here.

Publishing to the official MCP Registry: see PUBLISHING.md. The manifest is server.json.


Quick start

1. Get an API key

Create one at account settings. It is shown once. A free account works for everything below.

2. Add the server

Claude Code

bash
claude mcp add --transport http unplain https://app.unplain.io/api/mcp \  --header "Authorization: Bearer unp_your_key_here"

Full guide: https://unplain.io/mcp/claude-code

Codex

bash
export UNPLAIN_API_KEY="unp_your_key_here"
codex mcp add unplain \  --url https://app.unplain.io/api/mcp \  --bearer-token-env-var UNPLAIN_API_KEY

Full guide: https://unplain.io/mcp/codex

Anything else

Any client that can add a remote MCP server and send an Authorization header works. You need two values:

Server URL:  https://app.unplain.io/api/mcpHeader:      Authorization: Bearer unp_your_key_here

A client that only supports servers running on your own machine cannot connect yet.

3. Say hello

List the Brand Themes in my Unplain account and tell me which one is the default.

An empty list is still a success: the connection is live, you have not saved a theme yet.

4. Make something

Write a short ebook called "The Email Welcome Sequence Playbook" with an introand five chapters. Use my default Brand Theme, then export the PDF.

Tools

Twelve tools. Names and behaviour are current as of the version in CHANGELOG.md.

ToolWhat it does
get_accountReport the plan this key belongs to and the limits that apply. Worth calling before writing anything long.
get_design_optionsThe font catalog, the built-in presets, and the allowed range of each typography and spacing setting.
list_brand_themesList saved Brand Themes.
create_brand_themeSave a new Brand Theme: colors, fonts, links.
update_brand_themeChange a theme's name, colors, fonts or links.
create_ebookCreate a project from a title and Markdown.
list_ebooksFind the caller's projects.
get_ebookRead a project back as a structured outline.
update_ebookRewrite paragraphs, headings and lists, change cover copy and style, apply a theme, or replace the body.
generate_cover_imageAI cover artwork, drawn from the section headings or from your direction.
export_ebookRender the designed PDF.
get_export_statusPoll a running export and get the download link.

Notes that matter in practice

  • Edits are atomic and version-checked. An assistant cannot overwrite a change you made in the web app in the meantime; a stale write is rejected rather than applied over your work.
  • Design can be described rather than specified. "A stark monochrome report" or "an elegant independent literary journal" resolves to real settings, chosen from what Unplain actually supports rather than guessed.
  • Fonts outside the catalog are refused, not substituted. What you see in the app is what lands in the PDF.
  • Cover generation uses your existing allowance, the same one the button in the app draws on. There is no separate MCP allowance. Overwriting an existing cover needs an explicit go-ahead, so a repeated request cannot silently spend a second generation.
  • Download links are signed and expire. The project is saved, so export again rather than hoarding the URL.

Plans and limits

The MCP is an interface, not a tier. A key carries exactly the capabilities of the account behind it, and the same limits apply whether you work in the web app or through an assistant.

FreePro
Content pages per exported PDF5Unlimited
Saved projects5Unlimited
Brand Themes125
AI covers1 lifetime30 per period
"Made with Unplain" badgeAlwaysRemovable

Cover, contents and call-to-action pages never count toward the page limit. Current pricing: https://unplain.io/pricing


Example prompts

See examples/prompts.md for a fuller set. A few to start:

Take the Markdown in notes.md and create an Unplain ebook called "Q3 GrowthReport". Use my default Brand Theme, then wait for the export and give me thePDF link.
Open my Unplain ebook "Q3 Growth Report", read the outline, rewrite theintroduction so it opens with a concrete number instead of a general claim,then export a fresh PDF.
Analyse the churn data in ./data, write it up as a report with an executivesummary, three findings and a recommendation, then create it in Unplain usingmy "Acme" theme and export the PDF.

Keeping your key safe

Treat it like a password.

  • Codex reads it from an environment variable, which keeps it out of config files.
  • Claude Code's -s project writes a .mcp.json in the project root. Do not commit a real key in it. Use a placeholder and have each person supply their own; a key acts in the account it belongs to.
  • Revoke from account settings. Revocation takes effect immediately. Keep one key per client so you can revoke one without disturbing the rest.

Troubleshooting

SymptomCause
Every tool call failsThe 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.
Tools do not appearRestart the client. New servers are picked up at session start.
Codex cannot find the keyIt reads the environment at launch. Export it in your shell profile and start Codex from a shell that has it.
"No Brand Themes"The connection works, you have not saved one. Your assistant can create one, or design from the built-in presets.
Export says the ebook is too longFree exports up to 5 content pages. Shorten it or upgrade. The project is saved either way.
Too many requestsPer-account rate limits on creates and exports. Wait a minute.

More: https://unplain.io/mcp


Support

License

Documentation and examples in this repository are MIT licensed. The Unplain service itself is governed by its terms and privacy policy.

Source: README.md at commit b0c084c

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts