Pi.dev: You Said No MCP

67 points | by yarapavan an hour ago

27 comments

  • KronisLV 18 minutes ago

    I feel the same way about needing support for sub-agents, those feel pretty foundational to me.

    I suspect that a smart model driving multiple dumber models for work and then using sub-agents with the same smart model for adversarial review will be a pretty common pattern.

    Personally, I got a bit confused about Pi having most of that stuff as plugins since I remember how much of a mess Eclipse was where so much was just loosely fitting together plugins and just went with OpenCode since it covers most of my needs out of the box. Guess that might also be a sign of me getting older, because my IDEs and desktop environments are all closer to stock too.

      buserror 9 minutes ago

      I did the same, also, the fact the tools evolve so fast, I dont want to waste time on a particular one while it might be obsolete next week. So either it works now, other I pick something else.

      embedding-shape 10 minutes ago

      Some things are impossible to just tack on or work around though, like MCP, while other things, can be done by just composing stuff.

      Like sub-agents, you could just instruct pi/any harness with a user prompt/system prompt to start new invocations of itself, if you share what the exact command is, and pi or any other harness will do their own poor man's version of sub-agent via standard unix programs.

  • _fw 31 minutes ago

    I appreciate their reluctance towards MCP, but /something/ is better than nothing.

    It’s suboptimal for the reasons the author outlines: but so is USB-C. So is NVME, so is HDMI.

    We use these hugely successful technologies in spite of their flaws because they’re widely compatible and easy for the end user.

    That’s why MCP is everywhere. It might not be performant, robust and uniform but it WILL get better over time.

    And I’d much rather have the broad MCP ecosystem that we have now than seven or eight different “optimal” ways of plugging in an LLM to something useful.

  • NichoPaolucci 7 minutes ago

    I had no idea pi didn't support MCP! I'm a new user, I just started messing around with it. I was getting my tooling up and running and tried to get one of my database MCPs working (Which, in retrospect, seemed a little painful - but I guess I was under the assumption that it was my responsibility to build + maintain those connections).

    Another retrospect note, "No MCP" appears to be the first icon on their front page - not sure how I missed that.

    Imagine my surprise reading this!

  • aussieguy1234 2 minutes ago

    Generally, I use skills with a CLI tool instead of MCP and tools. Usually in most cases I also get a coding agent to generate the CLI tool.

    I find this approach is easier to debug and I can also use the tool myself to ensure it's working well.

  • wren6991 26 minutes ago

    > And while we could have just wired up the metadata to enable better MCP extensions, we also think that MCP with Codemode solves quite a few of the issues that it traditionally had.

    There's just something that bothers me about this. Normally if LLMs want to compose multiple operations, they have the perfect tool for this: bash, or whatever other OS shell is available. It's why I was always confused by Codemode-type constructs for direct chaining of tool calls; see also the way highly-RL'd modern models will fall back to sed or python for complex file edits.

    It seems like Codemode is raised here as the perfect tool for chaining or composing MCPs, but isn't that backwards? LLMs are already given the perfect tool for that, and the problem is that MCPs aren't exposed to that tool.

      hobofan 12 minutes ago

      > Normally if LLMs want to compose multiple operations, they have the perfect tool for this: bash, or whatever other OS shell is available.

      I many scenarios, e.g. running the harness server-side, as is the case for chat interfaces, you don't really want to expose OS shell access as that opens up a huge security attack surface.

  • 37 minutes ago
    [deleted]
  • carlsborg 20 minutes ago

    This is somewhat similar to HuggingFace smolagents where the model writes code that calls tools, instead of emiting json to describe the tool call per turn. Here Codemode is one tool that the model calls when it needs to compose many tool calls, especially MCP ones. Is what i understand of this.

  • OleksandrC 22 minutes ago

    Honestly, the provided argument for it is rather weak. They are basically adding a way of running scripts that are contained within harness to execute harness's own tools (that's the Codemode). A coding agent can already compose any arbitrary logic by invoking shell scripts (or python scripts, or node scripts), etc - so this is just entirely unnecessary in the core, from my perspective.

    If you feel that Pi has been drifting away from its original vision, try hax (https://usehax.dev/) - you might like it.

  • croes 5 minutes ago

    > The first thing to remember is that the world is not static

    And you didn’t remember that when you said no to MCP?

    No, no MCP for now?

  • ppsreejith 28 minutes ago

    Anyone found a good file upload solution for MCP? Or is the best practice to use HTTP to upload files outside MCP?

      hobofan 19 minutes ago

      There is a MCP SEP that outlines multiple ways, that I hope will sooner or later be accepted: https://github.com/modelcontextprotocol/modelcontextprotocol...

      While we are waiting on that to become stabilized, we implemented a inspired/co-evolved way to do that in our tool[0], where you mark individual fields in the request/response schema as being file payloads, so that file exchange can be properly orchestrated by the harness and doesn't pollute the context. We just do inline base64 uploads of the required payloads, which in practice we've seen to work quite will until ~100MB files (which is otherwise also the size limit we usually recommend for file processed).

      It's annoying that it's not stabilized yet, but for most bigger customers we've seen, they implement 80% of the MCP servers they connect in-house, so doing adjustments to the tool surface, and metadata has been less of a pain for them than we expected.

      [0]: https://erato.chat/docs/features/mcp_servers#file-support

  • mi_lk 28 minutes ago

    The post mixes Codemode and MCP yet the explanation is strange IMO and both appear to be new things in the latest release

    If you are a Pi user it may be better to just ask your agent to explain https://github.com/earendil-works/pi/pull/10040

      the_mitsuhiko 26 minutes ago

      Author of the post here: I don't think it's a good idea to put your clanker to a PR and then try to explain it. That's because you are then reading a derivative work of a derivative work instead of going to the source.

      If we fail to explain it, then we need to do a better job explaining it :)

        mi_lk 23 minutes ago

        Yeah YMMV. FWIW I did that earlier today and I think I got a better idea about what codemode is than the changelog and the post

          the_mitsuhiko 19 minutes ago

          As we said in the post, we will write about Codemode more in the future. This post in many ways was necessary to address an Elefant in the room.

        gritzko 20 minutes ago

        "Now we talked so much about Codemode, it might be worth explaining what that even is."

  • blamestross 20 minutes ago

    As far as I can tell MCP is just "we bothered to document our api in a programatically readable way".

    Just generate CLI tools, with docs, from MCP servers on demand.

  • uwagar 33 minutes ago

    so much MCPs in the FTA yet not a line about what MCP actually is.

      seanhunter 27 minutes ago

      Most people using pi probably know. MCP is “model context protocol”, a protocol by which models can connect to apis and services and conversely a way to expose those apis and services so they can be used by llms and agents. https://modelcontextprotocol.io/docs/2026-07-28/getting-star...

      ramblurr 30 minutes ago

      1. The first paragraph has a callback and link 2. You're not the intended audience of the post most likely

      otabdeveloper4 29 minutes ago

      MCP is the NIH non-standard version of OpenAPI.

  • Bayard_ne 28 minutes ago

    [dead]

  • Sha1rholder 11 minutes ago

    An article pretending to address its title, but just beating around the bush.

      embedding-shape 9 minutes ago

      How on earth does the article no address the title? Literally the first paragraph basically "spoils" the entire article and you have your answer, then you can continue reading for more justification of why it was like X before but now it's like Y.