Étend l'agent de codage pi avec les fonctionnalités de Claude Code, notamment les checkpoints, la mémoire, la recherche web, les sous-agents et le chargement de règles.
Aussi connu sous ilovepixelart/pi-code
- Étoiles
- 36
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 15 nov. 2026
- Licence
- MIT
Qu'est-ce que pi-code MCP ?
pi-code est un serveur MCP. Étend l'agent de codage pi avec les fonctionnalités de Claude Code, notamment les checkpoints, la mémoire, la recherche web, les sous-agents et le chargement de règles.
Résumé généré à partir du README du projet
À propos du MCP server pi-code
pi-code apporte les fonctionnalités de Claude Code à l'agent de codage pi. Il permet aux développeurs d'utiliser un projet contenant déjà un répertoire .claude, en lisant automatiquement les règles, commandes, skills et MCP servers existants. Le serveur s'installe via npm ou un dépôt git local et nécessite la version 22.19 ou supérieure de Node ainsi que la version 0.80.5 ou ultérieure de pi.
Cette extension ajoute plusieurs fonctionnalités avancées à l'agent pi, notamment la mémoire persistante, la recherche web, les sous-agents et les checkpoints. Elle introduit de nouvelles commandes slash comme /goal, /rewind et /todos pour gérer des tâches de codage complexes. Contrairement à d'autres environnements, cette configuration implémente un modèle de sécurité strict où les ressources spécifiques au projet, telles que les hooks et les agents, ne sont chargées qu'après l'approbation explicite de l'utilisateur. Lors des exécutions en mode headless, le système refuse de charger les ressources non approuvées afin d'empêcher toute exécution non autorisée dans les environnements automatisés.
Ce que vous pouvez faire avec
- 1Gérer des objectifs de codage complexesUn client IA peut utiliser la commande goal pour continuer à travailler sur une tâche jusqu'à ce qu'une condition spécifique soit remplie.
- 2Récupérer après des erreurs de codageUn développeur peut utiliser les checkpoints pour restaurer l'état de son projet si une modification échoue.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer pi-code MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller pi-code MCP dans Claude Code
$ claude mcp add pi-code -- npx -y pi-codeInstaller pi-code MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Installer pi-code MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"pi-code": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Installer pi-code MCP dans VS Code CLI
$ code --add-mcp '{"name":"pi-code","type":"stdio","command":"npx","args":["-y","pi-code"]}'Installer pi-code MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Installer pi-code MCP dans Codex
$ codex mcp add pi-code -- npx -y pi-codeInstaller pi-code MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.pi-code] command = "npx" args = ["-y", "pi-code"]
Installer pi-code MCP dans Gemini CLI
$ gemini mcp add -s user pi-code npx -- -y pi-codeInstaller pi-code MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleilovepixelart/pi-code is public and reachablegithub.com/ilovepixelart/pi-code ↗Réussi
- Le nom du package correspond au dépôt sourcepi-code names ilovepixelart/pi-code as sourcenpmjs.com/package/pi-code ↗Réussi
- Provenance du build (attestation Sigstore)Sigstore attestation for pi-codenpmjs.com/package/pi-code/v/1.7.0#provenance ↗Réussi
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-09github.com/ilovepixelart/pi-code ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNo popular package one edit away from pi-codeRéussi
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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.
Questions sur pi-code MCP
Comment ajouter pi-code MCP à Claude Code ?
Exécutez claude mcp add pi-code -- npx -y pi-code dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter pi-code MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Quelles fonctionnalités pi-code ajoute-t-il à l'agent pi ?
Il ajoute une superposition de tâches (todo overlay), des checkpoints, de la mémoire, la recherche web, des sous-agents et des objectifs à l'agent de codage pi.
Comment pi-code gère-t-il la sécurité et les dépôts non approuvés ?
Les ressources du projet telles que les MCP servers et les hooks sont considérées comme non approuvées et ne sont chargées qu'après l'approbation de l'utilisateur. Lors des exécutions en mode headless, les projets non validés ne chargent aucun élément.
Puis-je utiliser ma configuration Claude existante avec pi-code ?
Oui, pi-code lit votre configuration .claude existante, y compris les règles, les commandes, les skills, les hooks, les styles de sortie, les MCP servers et les agents.