Extiende el agente de programación pi con funciones de Claude Code, incluyendo checkpoints, memoria, búsqueda web, subagentes y carga de reglas.
También conocido como ilovepixelart/pi-code
- Stars
- 36
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 15 nov 2026
- Licencia
- MIT
¿Qué es pi-code MCP?
pi-code es un MCP server. Extiende el agente de programación pi con funciones de Claude Code, incluyendo checkpoints, memoria, búsqueda web, subagentes y carga de reglas.
Resumen generado a partir del README del proyecto
Acerca del MCP server de pi-code
pi-code lleva la funcionalidad de Claude Code al agente de programación pi. Permite a los desarrolladores trabajar en proyectos que ya contienen un directorio .claude, leyendo automáticamente las reglas, comandos, skills y MCP servers existentes. El servidor se instala vía npm o mediante un repositorio git local y requiere la versión 22.19 de Node o superior, junto con la versión 0.80.5 o posterior de pi.
Esta extensión añade varias funciones avanzadas al agente pi, como memoria persistente, búsqueda web, subagentes y checkpoints. Introduce nuevos comandos de barra diagonal como /goal, /rewind y /todos para gestionar tareas de programación complejas. A diferencia de otros entornos, esta configuración implementa un modelo de seguridad estricto donde los recursos específicos del proyecto, como hooks y agentes, solo se cargan tras la aprobación explícita del usuario. En ejecuciones headless, el sistema se niega a cargar recursos no confiables para evitar ejecuciones no autorizadas en entornos automatizados.
Qué puedes hacer con él
- 1Gestionar objetivos de programación complejosUn cliente de IA puede usar el comando goal para continuar trabajando en una tarea hasta que se cumpla una condición específica.
- 2Recuperarse de errores de programaciónUn desarrollador puede usar checkpoints para revertir el estado de su proyecto si un cambio sale mal.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar pi-code MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar pi-code MCP en Claude Code
$ claude mcp add pi-code -- npx -y pi-codeInstalar pi-code MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Instalar pi-code MCP en VS Code
.vscode/mcp.json
{
"servers": {
"pi-code": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Instalar pi-code MCP en VS Code CLI
$ code --add-mcp '{"name":"pi-code","type":"stdio","command":"npx","args":["-y","pi-code"]}'Instalar pi-code MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Instalar pi-code MCP en Codex
$ codex mcp add pi-code -- npx -y pi-codeInstalar pi-code MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.pi-code] command = "npx" args = ["-y", "pi-code"]
Instalar pi-code MCP en Gemini CLI
$ gemini mcp add -s user pi-code npx -- -y pi-codeInstalar pi-code MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleilovepixelart/pi-code is public and reachablegithub.com/ilovepixelart/pi-code ↗Aprobado
- El paquete indica este repositorio como su origenpi-code names ilovepixelart/pi-code as sourcenpmjs.com/package/pi-code ↗Aprobado
- Procedencia de la compilación (atestación de Sigstore)Sigstore attestation for pi-codenpmjs.com/package/pi-code/v/1.7.0#provenance ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-09github.com/ilovepixelart/pi-code ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from pi-codeAprobado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubpi-code
Claude Code experience for the pi coding agent, in one package. Point pi at a project that already has a .claude/ directory and it reads your existing config: rules, commands, skills, hooks, output styles, MCP servers, and agents. It also adds the Claude Code features pi lacks: a todo overlay, checkpoints, memory, web search, subagents, and goals.
What a repository ships is treated as untrusted until you approve it: project MCP servers, hooks, agents, rules, output styles, commands and skills load only once you say yes. A headless run (pi -p) cannot ask, so an undecided project loads none of them there, which is stricter than Claude, where a headless run uses them without showing the dialog.
![]()
Requirements
pi >=0.80.5 (0.99.x recommended) and Node >=22.19 for current pi. On an older pi, pi-code warns once at session start.
Install
pi install npm:pi-code # from npm
pi install -l npm:pi-code # project-local instead, writes .pi/settings.json
Other sources:
pi install git:github.com/ilovepixelart/pi-code
pi install ./pi-code # local checkout, then /reload after edits
One pi install and everything below loads on the next start. pi list shows what is installed, pi config toggles individual resources, and pi update pi-code upgrades it. Each feature is an extension under extensions/.
What it does
Each topic links to its own doc with the full contract and any divergences from Claude Code.
- Hooks — your
.claude/settings.jsonhooks on every lifecycle event, with Claude's tool vocabulary, decision fields, and background hooks. - MCP servers — every Claude config scope, all four transports, OAuth, managed policy, timeouts, prompts, and resources. On pi 0.99 and later the servers are handed to pi's own MCP support.
- Custom slash commands —
.claude/commandswith arguments, bash spans,@fileinlining, frontmatter, and model invocation. - Skills —
.claude/skillsdiscovery plus the same dynamic content commands get. - Subagents — built-in and custom agents, background runs, per-agent memory, worktree isolation.
- CLAUDE.md, @imports, and rules — the context files and path-scoped rules pi does not load natively.
- Settings
envand flags — env blocks from every settings scope, exported with Claude's precedence, plus Claude's--settingsand--setting-sourcesflags. - Output styles — replace semantics, bundled built-ins,
/output-style. - Persistent memory — a per-repository store with a session-injected index.
- Statusline — your Claude
statusLinecommand with the documented stdin JSON. - WebSearch / WebFetch — key-free search and SSRF-guarded fetch.
- Claude plugins — installed marketplace plugins: commands, agents, hooks, MCP servers, styles, skills.
- Goal:
/goal <condition>keeps the session working until a separate model check confirms the condition holds, with status, clear, block cap, background-work deferral, and resume. - Session extras — project trust, plan mode, todos, checkpoints/rewind, AskUserQuestion, notifications, think keywords, session titles,
/context,/init.
Slash commands: /init, /context, /goal, /memory, /todos, /rewind, /tasks, /agents, /plan, /plan-todos, /mcp, /hooks, and /output-style, alongside your own /dir:name commands, /skill:name skills, /plugin:name plugin commands, and each connected server's /mcp__server__prompt prompts. Where a name matches a Claude command, these differ: /init creates AGENTS.md where Claude creates CLAUDE.md; /memory edit opens a memory file in your editor (pi's externalEditor setting, VISUAL or EDITOR); /tasks lists background subagent runs only, not background shells. /todos and /plan-todos have no Claude counterpart.
pi has no general permission system, so most of what Claude routes through a permission prompt maps to hard behavior here: allowed-tools restricts the turn's tool set instead of pre-approving calls, and a hook that times out on PreToolUse or UserPromptSubmit fails closed. A hook's permissionDecision: "ask" is the exception: it shows a confirm dialog and lets the call through when you approve (a headless run has no dialog, so it blocks). An argument-scoped grant in an agent's tools: gives the agent the whole tool, as in Claude, where the scope does not limit the agent either. Claude still runs each call through its permission flow; pi has no such flow, so the call runs.
Trust is the other place pi-code is deliberately stricter. Claude states that "a claude -p run never shows the trust dialog" and loads the project's hooks, MCP servers, agents, commands, skills and rules anyway. pi-code refuses instead: with no stored decision and no UI to ask, a headless run in a project you have not already trusted loads none of them. A repository would otherwise get to run its own hooks and MCP servers in any CI job that checks it out, with nobody present to decline.
CLAUDE.md itself needs no extension: pi loads CLAUDE.md / AGENTS.md context files natively (global + walking cwd to root). context-imports.ts adds what pi's loader lacks, the @import resolution and Claude's other memory locations, without re-injecting the base (see docs/claude-md.md). Setting CLAUDE_CONFIG_DIR relocates the entire home config scope (settings, commands, agents, skills, plugins, output styles, memory, and the user CLAUDE.md); a project's own .claude/ is a separate scope and is unaffected.
extensions/internal/ holds the shared modules pi's loader must not treat as extensions (each file's header says what it owns); only internal/ keeps them out of pi's extension scan.
Vendored bases (question, notify, status-line) come from pi's MIT example extensions (see LICENSE).
Development
npm install
npm run check # biome + strict tsc + knip + vitest with coverage floors, the whole gate
scripts/e2e-smoke.sh # headless deterministic smoke: wire payload against a dead-port model, no real model (also runs in CI)
scripts/e2e.sh # quick smoke of the real pi TUI via tmux (needs a working model)
scripts/e2e-full.sh # every README feature end to end, model turns included (5-15 min)
scripts/record-demos.sh # re-records demos/*.tape with vhs at low thinking
Extensions live in extensions/, tests in tests/. Install a local checkout with pi install ./pi-code, then /reload after edits. Development needs Node >=22.19.
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md for setup, the test and review conventions, and the release process, and the Code of Conduct for community expectations. Report security issues privately as described in SECURITY.md. Release notes are on the Releases page.
License
MIT.
Preguntas sobre pi-code MCP
¿Cómo agrego pi-code MCP a Claude Code?
Ejecuta claude mcp add pi-code -- npx -y pi-code en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego pi-code MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué funciones añade pi-code al agente pi?
Añade una capa de tareas pendientes (todo overlay), checkpoints, memoria, búsqueda web, subagentes y objetivos al agente de programación pi.
¿Cómo gestiona pi-code la seguridad y los repositorios no confiables?
Los recursos del proyecto, como los MCP servers y los hooks, se tratan como no confiables y solo se cargan tras la aprobación del usuario. En ejecuciones headless, los proyectos pendientes de decisión no cargan nada.
¿Puedo usar mi configuración actual de Claude con pi-code?
Sí, pi-code lee tu configuración de .claude existente, incluyendo reglas, comandos, skills, hooks, estilos de salida, MCP servers y agentes.