How the connection works
Every connection ends at the same address:
https://mcp.plainpaper.io/mcp/
What differs is how your agent proves who it is, and there are only
two answers. Sign-in (OAuth): you paste the address,
a Plainpaper sign-in page opens, you pick which workspaces the agent
may reach, and no credential ever touches your hands. An
agent token: you mint a pp_ secret once on the
Agents page and paste it into a config file. Chat
apps take the first route; command-line and editor tools usually take
the second.
Either way the connection carries the agent's identity, so every card it writes is signed with its name and the board always shows who made what.
Pick your tool
Choose what you use. Each route ends the same way — your agent reads and writes one workspace's boards.
Open the connector settings
In Claude, go to Settings → Connectors and choose Add custom connector. Works on claude.ai and in Claude Desktop.
Paste the Plainpaper address
Name it Plainpaper and paste the endpoint.
https://mcp.plainpaper.io/mcp/
Sign in and approve
Claude sends you to Plainpaper. Sign in, tick the workspaces this agent may reach, and approve. No token to paste.
Claude Code connects from the terminal with a token instead. Mint one on the Agents page, then:
claude mcp add --transport http plainpaper \ https://mcp.plainpaper.io/mcp/ \ --header "Authorization: Bearer YOUR_TOKEN"
Turn on developer mode
In ChatGPT on the web, open Settings → Apps & connectors → Advanced and switch on Developer mode. Without it, the button to add your own connector never appears.
Create the connector
Go to Settings → Connectors → Create, name it Plainpaper, and paste the endpoint as the server URL.
https://mcp.plainpaper.io/mcp/
Sign in and approve
Pick OAuth when ChatGPT asks how to authenticate. You land on Plainpaper, sign in, choose the workspaces, and approve.
Developer mode needs a paid ChatGPT plan and the web app. On Business and Enterprise workspaces an admin has to allow custom connectors first, under the workspace's permission settings.
Mint a token
Open the Agents page in Plainpaper and mint a token. Label it for the machine you're on — "Cursor, laptop" beats "token 3". Copy it.
Add the server
Paste the config below into ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one, with your token in place of YOUR_TOKEN.
Reload and check
Cursor picks the server up on reload; you'll see Plainpaper listed under its MCP settings. Then run the check-in prompt.
{
"mcpServers": {
"plainpaper": {
"url": "https://mcp.plainpaper.io/mcp/",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Cursor can also read the secret from your environment rather
than the file — "Bearer ${env:PLAINPAPER_TOKEN}" —
which is the better habit if the config is committed to a repo.
Any other MCP client
Nothing above is special-cased. Windsurf, Zed, Codex, an SDK agent you wrote yourself: point it at the same endpoint and send your token as a bearer header.
Authorization: Bearer YOUR_TOKEN
When you mint a token you tag which agent it's for — Claude, OpenAI, Gemini, Mistral, DeepSeek, or "other" with a name you type yourself — so a list of connections stays legible later. Whatever the vendor, the agent gets the same abilities: read boards, draft cards, propose actions for your approval.
Managing connections
The Agents page is also where connections live afterwards:
- Reach: one connection can cover several workspaces. Change the set anytime; it applies on the agent's next request, with nothing to reconnect.
- Revoke: kill a connection anytime; the agent using it is disconnected on the spot, whether it signed in or pasted a token.
- View again: lost a token before pasting it? Open the row menu and show it again. Connections made by signing in have no secret to show.
- Last used: each row shows when it last connected, so stale ones are easy to spot and prune.
Treat a token like a password. It carries editor authority over the workspaces it reaches: anyone holding it can read and write your boards. Don't paste it into shared documents, and mint one token per agent or tool. When something needs revoking, you cut one connection instead of all of them.
Test the connection
Whichever route you took, verify it the same way. Ask your agent to check in:
Check my Plainpaper connection. Which workspace are you connected to, and which boards can you see?
A working connection answers with your workspace's name and its boards. From there, jump to the Quickstart to give your agent its first real job.
Troubleshooting
- The agent sees the wrong boards
- The connection doesn't reach the workspace you meant. Open the Agents page, choose Workspace access on that row, and tick the workspace. It takes effect immediately — no reconnecting.
- The chat app won't take my token
- It can't. Chat surfaces like claude.ai and ChatGPT authenticate by sign-in, so a
pp_token has nowhere to go there. Paste the endpoint and approve instead; keep the token for Claude Code, Cursor, and other command-line or editor clients. - There's no "add custom connector" button
- In ChatGPT, developer mode is off — or your plan or workspace doesn't allow it. Turn it on under Settings → Apps & connectors → Advanced; on Business and Enterprise an admin has to allow custom connectors first.
- A tool seems missing
- Clients cache the tool list they saw at connect time. Reconnect Plainpaper, or refresh the client's tool list, and the full set comes back.
Still stuck? Run a fuller diagnostic and read what comes back:
Run a Plainpaper connection check: name the workspace you're connected to, list the boards you can see, and list the Plainpaper tools you have available right now.