A revocable, scoped token for your agent
A pplt_ personal access token is not your sign-in — six scopes, SHA-256 storage, and a fixed list of what it can never do.
Handing an agent your Paperplane sign-in would mean handing it everything: your account, every channel, every other token. A personal access token is narrower on purpose.
The token
Minted in the app under Settings → Developer tokens, shown once as pplt_ followed by 64 hex characters. Paperplane stores only its SHA-256 hash — a lost token can’t be recovered, only replaced.
{
"mcpServers": {
"paperplane": {
"command": "npx",
"args": ["-y", "paperplane-mcp"],
"env": {
"PAPERPLANE_TOKEN": "pplt_...",
"PAPERPLANE_DEFAULT_CHANNEL": "Builds"
}
}
}
}
Six scopes
events:write, channels:read, messages:read, messages:write, tickets:read, tickets:write. A token minted in the app carries all six; nothing stops you from asking for a narrower one for a script that should only ever send events.
What no token can do
Regardless of scope, a personal access token can never create or delete a channel, rotate an endpoint key, manage membership, run message retention, or mint or revoke another token. Those stay session-only — a signed-in human, in the app. The same rule is what makes an agent unable to approve its own deploy: answering an ask is session-only too.
Housekeeping
Up to 20 active tokens per account, an optional expiry from 1 to 3,650 days, and lastUsedAt visible in the app so a stale token is easy to spot. Revoking one is immediate — the next request with it gets a 401, and the MCP connector fails fast on that with a clear stderr message rather than a confusing mid-conversation error.