Install Guide

Get started with PAPI

Connect PAPI to your AI coding tool. Run your first cycle plan in under 5 minutes.

Your code stays on your machine. PAPI adds a planning layer to whatever you're already building, it doesn't read your source.

Prerequisites

An MCP-compatible AI tool. Claude Code, Cursor, VS Code (Copilot Chat), Windsurf, OpenCode, Amazon Q CLI, or any tool supporting the MCP protocol.
A browser to sign in. On first connect your tool opens a browser tab so you can sign in. That is the whole setup. No local server, no Node, no token to copy.

1. Sign up

Go to getpapi.ai/login and sign in with GitHub (recommended) or email.

The onboarding wizard asks for your project name and optional repo URL, then hands you the connector link. Your tool signs you in through your browser on first connect, so there is nothing to copy across by hand.

2. Connect your tool

Pick your AI coding tool and copy its config. Every tool uses the same connector link and signs you in through your browser on first connect. Paste it as-is.

Paste into Claude Code chat
Add PAPI as an MCP server for this project. Run this from the project root:

  claude mcp add --transport http papi https://mcp.getpapi.ai/mcp

The server is added but NOT yet authenticated — only you can finish this, in a browser. After the command succeeds, tell me exactly this:
"PAPI is added. Sign in to connect it: run  claude mcp login papi  (Claude Code v2.1.186+) and approve in the browser — or run /mcp, choose papi, pick Authenticate. Sign in with the same account you used on getpapi.ai."

Paste this as a chat message in Claude Code. Claude Code installs PAPI itself, opens a browser tab so you can sign in, and then runs setup. No terminal, no token to copy.

More on PAPI + Claude Code

3. First run

After saving your config, restart your MCP client. Then in your AI tool, run these three commands in order:

1
setup

Initialises PAPI for your project. Generates a Product Brief and scaffolds your workflow.

2
plan

Generates your first cycle plan: scoped tasks with full BUILD HANDOFFs, ready to build.

3
build_list

Shows the tasks queued for this cycle. Pick one and start building.

Expected time: install to first plan in under 5 minutes.

Migrating from a local install

If you first installed PAPI as a local (stdio) server and want the hosted remote MCP instead, you only need to remove the old machine config, never any files tracked in your repo. Your .papi/ data and CLAUDE.md are part of your project and must stay.

Only machine config gets removed: your local .mcp.json entry and any dead PAPI env keys. Never delete repo-tracked files (.papi/, CLAUDE.md). If in doubt, run git status first.

Paste this prompt into your AI tool to do it safely:

Paste into your AI tool
Migrate my PAPI install from local (stdio) to the hosted remote MCP. Do this safely:
1. First run `git status` and note any tracked files under .papi/ or CLAUDE.md. These are part of my repo and must NOT be touched.
2. Remove ONLY my machine config: delete the local "papi" stdio entry from .mcp.json, and unset any PAPI_DATABASE_URL / DATABASE_URL / stale PAPI_DATA_API_KEY meant for the old local server.
3. Do NOT delete, empty, or git-rm any tracked file. If any .papi/ file or CLAUDE.md shows as modified or deleted after your changes, run `git restore <path>` to bring it back.
4. Add the remote MCP per the "Connect your tool" section above (Authorization bearer + x-papi-project-id header).
5. Run `orient` and confirm it names my project. If it names a different project, stop. The project pin is wrong (see "Multiple projects").

The guardrail in step 3 is the important one: a migration should only ever remove machine config, never your tracked project files.

Multiple projects

One PAPI account can hold several projects. The remote MCP pins each connection to one project via the x-papi-project-id header (already included in the connect snippet above). If you work across projects, give each its own MCP entry with its own x-papi-project-id, never share one entry across projects, or commands will land in the wrong project.

Verify the pin before you build:

Run orient right after connecting. It must name the project you intended. If it names another project, stop and fix the x-papi-project-id header, do not run setup or build against the wrong project.

Your project id is shown in the Connect panel on your dashboard; copy it into the x-papi-project-idheader for that project's MCP entry.

What's next

Tool reference
Every PAPI tool, what it does, and when to use it.
Dashboard
View cycles, tasks, build reports, and decisions at getpapi.ai.
Add another project
Go to Portfolio, then New Project. The same connector link covers every project you own.
Discord
Get help, share feedback, see what others are building.

Troubleshooting

PAPI tools not appearing
Restart your MCP client after pasting the connector, so it re-reads the config. On first connect your tool opens a browser tab to sign you in. Finish that sign-in, then check the tools list again.
The sign-in tab never opened
Some tools only open the sign-in tab when you first call a PAPI tool. Ask your AI to run setup, or check your tool has a browser handler enabled. If it still does not appear, re-paste the connector and restart the client.
Stale .mcp.json from a previous setup
Open .mcp.json and delete only the "papi" entry inside the mcpServers object. Keep the file and any other MCP servers (github, supabase, etc.) intact. Then paste the fresh papi entry from your install snippet. NEVER delete .mcp.json, other MCP servers share it.
Stuck install, nothing connects no matter what
Open getpapi.ai/settings, find your project, and click "Reset connection" for a fresh install snippet. Your project data, cycles, and history are preserved. Replace the papi entry in your .mcp.json with the new snippet and restart your MCP client.
Using a token-based tool (Zed, z.ai) and it will not connect
Open getpapi.ai/settings, find your project, and copy the token snippet from the "Advanced" panel. That is the only case where a connection token is needed. Paste it in place of the URL-only config and restart your client.
Want to start execution over but keep your strategy
Open getpapi.ai/settings, find your project, and click "Reset project". This cancels in-flight cycles and tasks but keeps your product brief, decisions, hierarchy, and history.