All News
earendilpimcpcoding-agentsai-news

Pi 1.0 adds MCP by default, reversing what its creator argued

Pi 1.0 ships MCP support by default, reversing the minimal coding agent's own position. We read the changelog, the reversal post, and the skeptic case.

Vlad MakarovVlad Makarovreviewed and published
5 min read
Pi 1.0 adds MCP by default, reversing what its creator argued

Earendil shipped Pi 1.0.0 on Thursday, the first stable release of a terminal coding agent built on the premise that less is more. The headline addition is the one feature Pi's creator once said it did not need: default support for the Model Context Protocol. The Register called it "a 180," and the Hacker News thread for the release drew 1,632 points and 567 comments. The argument inside that thread matters more than the version number.

A reversal Earendil does not try to hide

Pi's creator Mario Zechner published a post on 2 November 2025 titled "What if you don't need MCP?", arguing the protocol was unnecessary. Earendil, the company Armin Ronacher and Colin Daymond Hanna formed and which acquired Pi in April 2026, did not pretend the position had not existed. Its explanation is titled, quote marks included, "You said no, MCP!".

The post opens by conceding the record: "If you went to pi.dev in the past, you found a proud declaration that Pi does not support MCP... And yet, if you upgrade to Pi you will find MCP is now a supported piece of functionality. What happened?"

The answer Earendil gives is that the protocol improved and the internal calculus changed with it. MCP being better would not have been enough on its own, the company says, because an MCP extension already existed. What tipped it was that the changes the integration required were useful elsewhere: "For example, the changes we have made to MCP also enable the use of Jev more easily within Pi." Jev, the decision model Earendil's own team has been building on, has already spawned its own prior-art debate and a marketing backlash without shipping inside Pi's core.

Codemode is the argument for why it fits now

Codemode is what Earendil offers as the technical reason MCP belongs in a minimal harness. It is a sandbox that runs on the harness side, alongside the agent loop, rather than in the untrusted space where tools execute. It lets a model issue and combine tool calls in JavaScript, and it supports MCP servers, decision models and image models. It loads automatically when MCP is configured.

"Ultimately what Pi needs is quite similar to what MCP needs: a sandbox to play with in the form of an interpreter," the company writes. It is a coherent case, and it is still a case rather than a result. Earendil concedes the weaker half of it in the same post, noting that MCP remains hard to compose and that many servers are built for harnesses which simply dump tools into the context. The company's stated preference is to shape the protocol from inside the project rather than watch it from the sideline.

What 1.0 actually changes

Strip the positioning away and Pi 1.0 is a feature release, most of it at the edges of the interface and the cost of the prompt. The verified entries in the 1.0.0 changelog are these.

  • Fullscreen TUI by default, with tuiMode set to "regular" restoring the terminal's normal scrollback.
  • Leaner codemode, at about 40% fewer prompt tokens, with a GPT-5.6 request shrinking from roughly 5,300 to 3,300 tokens.
  • Image generation inside codemode scripts through models.generateImages(), billed to the session.
  • "Sign in with Radius" in /login, with one-step MCP server setup, plus an Anthropic copy-code login for headless machines.
  • MCP OAuth hardening: authServerMetadataUrl, RFC 9207 issuer checks, credentials stored per server, and step-up sign-in that keeps granted scopes.
  • A quietStartup option to show only the header.

Pi Durable, and the bracket around "minimal"

Announced alongside 1.0, Pi Durable is described as "a new substrate for building long-running agentic applications." Earendil is explicit that it is a separate component on purpose, so that the coding agent stays small. It orchestrates multiple conversations and handles the storage backend with SQLite and JSONL.

"It does not replace the Pi coding agent," the company writes. "It is a framework for building any agentic application, coding agents included. It shares not only code with the Pi coding agent, like pi-ai, but also its principles: minimalism and malleability."

The Register's framing was pithier: if Pi were a Python web framework, it would be Flask rather than Django. The label is doing a lot of work, and the release is where readers get to test it.

The community counts something else

The Hacker News thread split along exactly the seam the release opened, and the most concrete objection was arithmetic rather than taste. One commenter, praising Pi's handling of local models, where a lean system prompt leaves context for the model itself, called the MCP support "lovely" and codemode "super interesting." Another read the additions as "so antithetical to the minimal ethos."

A third did the count the branding avoids: around 450,000 source lines and at least a dozen direct dependencies, before the indirect ones. The reply was that minimalism was never line count for Pi. It was shipping four tools, read, write, edit and bash, and letting users add whatever else they wanted, which is a real distinction and also a moving target now that one of those additions is built in.

What would settle it

Whether MCP belongs in a minimal harness is a disagreement about a word, and a changelog cannot end it. What is checkable is narrower: whether codemode's prompt-token cut holds in ordinary sessions rather than Earendil's chosen example; whether MCP on by default changes the context budget for the local-model users Pi courted; and whether the extension ecosystem Pi treated as its answer to missing features keeps those users now that some of the features arrive preinstalled.

None of that appears in a release note. It appears in the issue tracker, which is where Earendil pointed its own Jev experiment at the question of how its users actually feel. That is the instrument worth watching as 1.0 spreads, not the version tag.

Related Articles

Scroll down

to load the next article