Erweitert den pi coding agent um Claude Code Features wie Checkpoints, Memory, Web Search, Subagents und das Laden von Rules.
Auch bekannt als ilovepixelart/pi-code
- Stars
- 36
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- —
- Letzter Commit
- 15. Nov. 2026
- Lizenz
- MIT
Was ist pi-code MCP?
pi-code ist ein MCP server. Erweitert den pi coding agent um Claude Code Features wie Checkpoints, Memory, Web Search, Subagents und das Laden von Rules.
Zusammenfassung generiert aus dem README des Projekts
Über pi-code MCP server
pi-code bringt die Funktionalität von Claude Code zum pi coding agent. Es ermöglicht Entwicklern, Projekte zu nutzen, die bereits ein .claude Verzeichnis enthalten, indem bestehende Rules, Commands, Skills und MCP server automatisch gelesen werden. Der Server wird via npm oder über ein lokales git Repository installiert und benötigt Node Version 22.19 oder höher sowie pi Version 0.80.5 oder neuer.
Diese Erweiterung fügt dem pi agent mehrere fortgeschrittene Features hinzu, darunter persistentes Memory, Web Search, Subagents und Checkpoints. Sie führt neue Slash Commands wie /goal, /rewind und /todos ein, um komplexe Coding-Aufgaben zu verwalten. Im Gegensatz zu anderen Umgebungen implementiert dieses Setup ein striktes Sicherheitsmodell, bei dem projektspezifische Ressourcen wie Hooks und Agents erst nach expliziter Benutzerfreigabe geladen werden. Bei Headless-Runs verweigert das System das Laden nicht vertrauenswürdiger Ressourcen, um eine unbefugte Ausführung in automatisierten Umgebungen zu verhindern.
Was du damit machen kannst
- 1Komplexe Coding-Ziele verwaltenEin AI Client kann den goal Command nutzen, um an einer Aufgabe weiterzuarbeiten, bis eine bestimmte Bedingung erfüllt ist.
- 2Coding-Fehler korrigierenEin Entwickler kann Checkpoints nutzen, um den Zustand seines Projekts rückgängig zu machen, falls eine Änderung fehlschlägt.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du pi-code MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenpi-code MCP in Claude Code installieren
$ claude mcp add pi-code -- npx -y pi-codepi-code MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}pi-code MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"pi-code": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}pi-code MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"pi-code","type":"stdio","command":"npx","args":["-y","pi-code"]}'pi-code MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}pi-code MCP in Codex installieren
$ codex mcp add pi-code -- npx -y pi-codepi-code MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.pi-code] command = "npx" args = ["-y", "pi-code"]
pi-code MCP in Gemini CLI installieren
$ gemini mcp add -s user pi-code npx -- -y pi-codepi-code MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"pi-code": {
"command": "npx",
"args": [
"-y",
"pi-code"
]
}
}
}Automatisierte Checks
Geluften am 13. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarilovepixelart/pi-code is public and reachablegithub.com/ilovepixelart/pi-code ↗Bestanden
- Paket nennt dieses Repository als Quellepi-code names ilovepixelart/pi-code as sourcenpmjs.com/package/pi-code ↗Bestanden
- Build-Provenienz (Sigstore-Attestierung)Sigstore attestation for pi-codenpmjs.com/package/pi-code/v/1.7.0#provenance ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-11-09github.com/ilovepixelart/pi-code ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNo popular package one edit away from pi-codeBestanden
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
- Keine versteckten Anweisungen an das Modell0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNicht geprüft
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehenpi-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.
pi-code MCP Fragen
Wie füge ich pi-code MCP zu Claude Code hinzu?
Führe claude mcp add pi-code -- npx -y pi-code in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich pi-code MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Features fügt pi-code dem pi agent hinzu?
Es fügt dem pi coding agent ein Todo-Overlay, Checkpoints, Memory, Web Search, Subagents und Goals hinzu.
Wie geht pi-code mit Sicherheit und nicht vertrauenswürdigen Repositories um?
Projektressourcen wie MCP server und Hooks werden als nicht vertrauenswürdig behandelt und erst nach Benutzerfreigabe geladen. Bei Headless-Runs werden Projekte, bei denen keine Entscheidung getroffen wurde, nicht geladen.
Kann ich meine bestehende Claude Konfiguration mit pi-code nutzen?
Ja, pi-code liest deine bestehende .claude Config, einschließlich Rules, Commands, Skills, Hooks, Output Styles, MCP server und Agents.