AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Buying for a business?Offer from Amazon

Get business pricing on tech for your team

  • Business-only prices and quantity discounts
  • Tax-exempt purchasing
  • Multiple users, one account, clear invoices
As an affiliate, we earn on qualifying purchases.

Pi.dev, the AI coding agent that publicly refused to support MCP, has added MCP to its core functionality. The team says changes in MCP itself and the need for shared sandbox infrastructure drove the reversal, with Codemode as the central mechanism.

Pi.dev has added support for the Model Context Protocol (MCP) to its core product, reversing a stance the project had publicly and repeatedly advertised — including a declaration on its own website that Pi did not support MCP. In a blog post titled “You Said No MCP” by Earendil, the team explained that changes in MCP over the past year and internal architectural needs drove the decision, and that MCP is now a supported feature for users who upgrade.

The reversal is notable because Pi’s rejection of MCP was not incidental. According to the post, visitors to pi.dev previously found “a proud declaration that Pi does not support MCP,” and the team had made “more than one dismissive statement about MCP” on podcasts and in posts. Earendil writes that the MCP of today “is not the MCP of yesteryear,” but says protocol improvements alone were not the reason for the change.

The technical driver, according to the post, is that the changes required for MCP proved “generally useful” beyond the protocol itself — for example, making the “Jev” tool easier to use within Pi. MCP previously existed as an extension, but moving it into the core required rethinking how tools are exposed. Pi’s core need, the post argues, is “a sandbox to play with in the form of an interpreter” — the same shape as what MCP needs.

The implementation centers on Codemode, a JavaScript sandbox that runs on the harness side of the agent loop, where trust levels are higher than in tool-execution sandboxes. Codemode lets agents orchestrate and combine tool calls using JavaScript, with state stored in the session transcript rather than the file system. In Pi, Codemode loads automatically when MCP is configured, and can also be used independently — the post demonstrates combining a Linear MCP integration with Jev to analyze issue-tracker comment tone “without wasting any context.”

At a glance
announcementWhen: announced via blog post, current as of…
The developmentPi.dev shipped native MCP support in its core product, reversing its long-standing public refusal, and explained the decision in a blog post by Earendil.

Why a Small Harness Embraced MCP

The move signals how thoroughly MCP has become a default expectation in the AI agent ecosystem: even a project that built part of its identity around rejecting the protocol has concluded it cannot stay on the sidelines. Earendil frames this explicitly: “We believe the best way to positively influence something is to embrace it”, adding that the team wants to “help shape it to work well in small harnesses instead of standing on the sidelines and just watching.”

For Pi users, the change brings native MCP tool access plus a composable scripting layer, addressing what the team identifies as MCP’s biggest remaining weakness: composability. The post argues many MCP servers are still built for harnesses that “dump tools into the context” and return plain text for token efficiency, and that tools should instead return structured data — closer to “OpenAPI with intelligent tool discovery.”

From Extension to Core Architecture

MCP support in Pi previously existed as an extension, consistent with the project’s extension ecosystem, and could have remained one. The team writes that promoting it to the core followed internal work to support newer model capabilities — deferred tool loading, mid-conversation system messages, and reasoning level changes — which exposed gaps in how Pi’s tool loadout carried metadata. A standard extension, the post says, lacks the metadata needed to decide whether a tool should be available to the LLM directly, only to Codemode, or deferred.

Codemode itself follows a pattern used by other harnesses, including OpenAI’s Codex, of exposing tools to a JavaScript sandbox. The post notes JavaScript is attractive because small versions can ship as WASM binaries with reasonable isolation guarantees.

“The MCP of today is not the MCP of yesteryear.”

— Earendil, Pi.dev blog post

Open Questions on Servers and Integration

The blog post acknowledges that many MCP servers still fall short of Pi’s preferred patterns — returning unstructured text and optimizing for older harness designs — and attributes part of the composability problem to “the MCP servers out there and different approaches of harnesses to work with them.” How quickly the server ecosystem adapts is unclear. The post also does not specify a version number or release date for the MCP-enabled build, and the referenced Jev example depends on a provider that supplies it, which may not be available to all users.

Shaping MCP From Inside

According to the post, the team intends to participate in shaping MCP’s evolution toward structured tool returns and better discovery rather than observing from outside. Users upgrading to the current Pi release will find MCP supported via Codemode, which loads automatically once MCP is configured and can be enabled manually by asking Pi to reconfigure itself. Further tooling refinements — particularly around scaling Pi’s tool loadout to deferred loading — are implied as ongoing work, though no specific roadmap items were announced.

Key Questions

Did Pi.dev previously refuse to support MCP?

Yes. According to the team’s own account, pi.dev displayed a declaration that Pi does not support MCP, and team members made dismissive statements about the protocol on podcasts and in posts. MCP also existed as a community extension rather than a core feature.

Why did Pi change its position on MCP?

The team cites two reasons: MCP itself improved over the past year, and the changes needed to integrate it well — a JavaScript sandbox for orchestrating tools — turned out to be generally useful to Pi’s architecture beyond MCP alone.

What is Codemode in Pi?

Codemode is a JavaScript sandbox that runs on the harness side of the agent loop. It lets an agent coordinate and combine tool calls with JavaScript, with state kept in the session transcript. It loads automatically when MCP is configured and can also be used for other tasks.

Does Pi still see problems with MCP?

Yes. The team says MCP remains hard to compose, and that many MCP servers return plain text and are built for harnesses that dump tools into context. Pi wants tools to return structured data and be discoverable through documentation.

How do I enable MCP in Pi?

Per the blog post, users who upgrade will find MCP supported in the core. Codemode loads automatically when MCP is configured, or users can ask Pi to reconfigure itself to enable Codemode as a default tool.

Source: hn

FALL

Fall Picks

As an affiliate, we earn on qualifying purchases.

You May Also Like

The Future Of AI Development: Wiring, Running, And Deploying With Gradio

Hugging Face launches gr.Workflow, a new Gradio feature enabling visual, graph-based AI pipelines with intermediate inspection and API endpoints.

DeepSeek V4 Pro 0813

DeepSeek has announced the release of V4 Pro 0813, a new version of its AI-powered search platform, with confirmed improvements and upcoming features.

Codex In ChatGPT Desktop App For Linux Is Now In Preview

OpenAI’s ChatGPT Linux desktop app now includes Codex in preview, enhancing coding capabilities for users. The update is currently in testing.