MCP
Ask for the artwork from Claude Code, Cursor or Codex.
Prepaper is an MCP server, the Model Context Protocol: one address your coding agent connects to. You sign in once in the browser, the credits are yours, and every result carries a link to the studio so you can take over by hand. It works on every plan, the free credits included.
https://prepaper.dev/api/mcp
- you
make onboarding screens for Skyfarer, my flight logbook app, in the Field sketch style. three slides plus sign-in.
- agent
Creating the project and checking the price before drawing anything.
- tool
create_project { name: "Skyfarer", kind: "tour" }
project prj_a41f, tour document v1, 3 slides + sign-in
- tool
generate_props { brief, styleId: "pen-wash", precheck: true }
10 credits on Standard, balance 20
- agent
That is 10 credits for up to 16 pieces. Going ahead.
- tool
generate_props { brief, styleId: "pen-wash" }
run run_0c2e started
- tool
get_run { runId: "run_0c2e" }
drawing, 1m 40s
- tool
get_run { runId: "run_0c2e" }
succeeded, 16 pieces in the library
- tool
view_props { projectId: "prj_a41f" }
16 image links
- agent
Placing the logbook, the compass and the biplane on the three slides, one headline each.
- tool
update_tour { documentId, version: 1, config }
saved as v2
- tool
export_tour { documentId, format: "zip" }
prepaper-export.zip, link good for 10 minutes
- agent
Unpacked into prepaper-export/ and wired TourSlides into app/onboarding.tsx. Studio link: /studio/prj_a41f if you want to move anything by hand.
Connect
Connect your agent.
Pick your client. The first call opens a browser prompt; approve it once and the agent keeps its own key from then on.
- Claude Code
One command in any project, and Claude Code opens the browser prompt itself.
claude mcp add --transport http prepaper https://prepaper.dev/api/mcp
Project file
Or commit this as .mcp.json at the repo root, so everybody on the project gets the server. The "type" line is required there.
{ "mcpServers": { "prepaper": { "type": "http", "url": "https://prepaper.dev/api/mcp" } } } - Cursor
One click hands Cursor the server and its address.
Add to CursorConfig file
Paste this into ~/.cursor/mcp.json instead.
{ "mcpServers": { "prepaper": { "url": "https://prepaper.dev/api/mcp" } } } - VS Code
One click adds the server to VS Code. Sign in when it asks.
Add to VS CodeWorkspace file
Or paste this into .vscode/mcp.json. The key is "servers" and the "type" line is required.
{ "servers": { "prepaper": { "type": "http", "url": "https://prepaper.dev/api/mcp" } } } - Codex CLI
Codex writes the server into ~/.codex/config.toml for you.
codex mcp add prepaper --url https://prepaper.dev/api/mcp
- Windsurf
Windsurf reads a config file. Its key for the address is serverUrl.
Config file
Paste this into ~/.codeium/windsurf/mcp_config.json.
{ "mcpServers": { "prepaper": { "serverUrl": "https://prepaper.dev/api/mcp" } } } - Claude Desktop
Settings, then Connectors, then Add custom connector, then paste this URL.
https://prepaper.dev/api/mcp
- Any other agent
For an agent that adds a server when you ask it to, paste this into its chat.
Connect to the Prepaper MCP server at https://prepaper.dev/api/mcp and list my projects.
Sign-in
Sign in once.
Agents sign in with OAuth by default. The browser opens, you approve the agent by name, and it acts as your account until you revoke it under Settings, then Connected apps. A machine with no browser, a CI runner or a scheduled agent, uses a personal access token instead: create one under Settings, then Developer, and send it as a bearer header on every request. The secret starts with pp_ and is shown once.
Authorization: Bearer pp_...
A token acts as your whole account. Make one per machine and revoke it when that machine is gone.
What to say
Ask the way you already ask.
The agent picks the tools. Name the project, the style and where the files should land, and it does the rest.
look at this expo app and make onboarding screens for it with prepaper, then drop the component into app/onboarding.tsx
use prepaper to make app store screenshots from the images in ./store-shots and put the pngs in fastlane/screenshots
make a 5 slide instagram carousel announcing the v2 launch with prepaper, same style as our onboarding, and write the caption
redraw the artwork for slide 3 of the prepaper tour, it doesn't match the sync copy, check the credits first
draw a background for every onboarding slide in the leaded glass style, show me, then export the tour again
Tools
Twelve tools. One of them spends credits.
The usual run: create a project, draw, look, compose, export. Everything but the drawing is free, and the drawing tells you its price before it starts.
| Tool | What it does | Credits |
|---|---|---|
| Projects | ||
| list_projects | Your projects, newest first. | no |
| get_project | One project: its artwork, its tour document and version, its latest run, the studio link. | no |
| create_project | A new empty project: an onboarding tour, a social carousel or App Store screenshots. | no |
| Drawing | ||
| generate_props | Draws artwork from a brief: a batch of pieces, or one full-bleed background. One run, one job. Pass precheck to see the cost first. | yes, 10 credits on Standard |
| get_run | How a run is going, and what it drew once it has finished. | no |
| view_props | Short-lived image links, so the agent can look at the artwork before composing. | no |
| Composing | ||
| get_tour | The tour document: its slides and its version. | no |
| update_tour | Saves the document at a version. A stale version is refused with the current one. | no |
| upload_prop | Adds an image you already have (a logo, an illustration) to the project as a piece. | no |
| upload_screen | Files one of your app's own screenshots for a store screenshots project. | no |
| Shipping and account | ||
| export_tour | The drop-in Expo component, a SwiftUI rendering, a handoff prompt, or the images and caption for a post. | no |
| get_credits | Your balance and a page of the ledger. | no |
Keep tool approval on. A connected agent acts as your account, so it can draw on your credits as well as read and edit your projects. Let your client ask before generate_props runs, and revoke any agent you stop using.
The studio does the same work with a mouse.
Every project an agent makes opens in the editor, and every project you make there is one an agent can pick up. Start either way; the credits are the same credits.
