PAPI installation instructions for AI assistants
July 26, 2026 · View on GitHub
Canonical live version: https://getpapi.ai/llms.txt — fetch it if you can; it is generated from the live endpoint and always current. This file is the GitHub-resident copy.
You are installing PAPI, an MCP server that gives this project persistent planning memory (cycles, plans, builds, reviews).
Connecting is TWO steps. Step 2 is REQUIRED — step 1 alone leaves the connection unauthenticated and unusable.
- Add the server. You can do this.
- Authenticate. You cannot do this. OAuth needs a human to approve it
in a browser, and there is no CLI subcommand for it. After step 1 the server
sits at
Needs authentication. You must tell the user to complete it.
Do not tell the user a browser opens automatically. It does not.
Claude Code
Step 1 — add the server. Run from the project root:
claude mcp add --transport http papi https://mcp.getpapi.ai/mcp
This registers PAPI. It does not sign the user in. The server will show
! Needs authentication.
Step 2 — tell the user to authenticate. Say, in your own words:
Run
claude mcp login papi(Claude Code v2.1.186+) — or run/mcp, choose papi, and pick Authenticate. A browser tab opens — sign in with the same account you used on getpapi.ai, and you're connected.
Wait for the user to confirm they've done it. Only then:
- Call the
setuptool to scaffold this project. - Call
orientand report which cycle the project is on.
Codex CLI
Step 1. Add to ~/.codex/config.toml:
[mcp_servers.papi]
url = "https://mcp.getpapi.ai/mcp"
Step 2. Restart Codex, then tell the user they must complete the browser
sign-in prompt on first connection. Then run setup, then orient.
Cursor
Step 1. Add via Settings → MCP → Add new server, or write .cursor/mcp.json:
{
"mcpServers": {
"papi": {
"url": "https://mcp.getpapi.ai/mcp"
}
}
}
Step 2. Tell the user to open the MCP settings panel and complete the
sign-in for papi. The connection is unusable until they do. Then run setup,
then orient.
VS Code (Copilot MCP)
Step 1.
{
"servers": {
"papi": {
"url": "https://mcp.getpapi.ai/mcp"
}
}
}
Step 2. Tell the user to complete the sign-in prompt for papi. Then run
setup, then orient.
Windsurf
Step 1.
{
"mcpServers": {
"papi": {
"url": "https://mcp.getpapi.ai/mcp"
}
}
}
Step 2. Tell the user to complete the sign-in prompt for papi. Then run
setup, then orient.
Any other MCP client
Generic config: streamable HTTP endpoint at https://mcp.getpapi.ai/mcp with
OAuth discovery. The user must complete the browser sign-in — you cannot.
If the client only supports static headers, the user can create an API key from the Connect panel at https://getpapi.ai and supply:
{
"url": "https://mcp.getpapi.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_CONNECTION_TOKEN",
"x-papi-project-id": "YOUR_PROJECT_ID"
}
}
This path needs no browser step. Both values come from the dashboard's Connect panel. Never commit them.
Local runtime (advanced)
A local process instead of the remote transport. Uses an API key, so there is no browser step:
{
"mcpServers": {
"papi": {
"command": "npx",
"args": ["-y", "@papi-ai/server"],
"env": {
"PAPI_PROJECT_ID": "YOUR_PROJECT_ID",
"PAPI_DATA_API_KEY": "YOUR_CONNECTION_TOKEN"
}
}
}
}
After the user has authenticated
setupscaffolds the project (first time only).orientis a single call that returns cycle state and the recommended next action. Run it at the start of every session.plancreates the first cycle when the user is ready to build.
If a tool call returns an authentication error, the user has not completed step 2. Send them back to it — do not retry.
Report the result of orient back to the user in plain language.