The CLI is great for humans, but for agents, the 'Discovery' problem is real. With a CLI, I still have to 'teach' the LLM how to use it by feeding it help docs or manual examples, especially for new or internal tools the model wasn't trained on.
MCP’s biggest strength is that it self-advertises, the agent knows the capabilities and schemas immediately upon connection. It turns 'tool-use' from a prompting/training problem into a standardized handshake. I’d much rather have a protocol that handles the discovery than have to manage custom system prompts for every new CLI utility.
This is a great reality check. I’ve been using OpenCode for a while and never even tried Claude Code, so I didn't realize that probabilistic tool calling was such a huge bottleneck over there. I’m so used to the instant command lookups and lifecycle hooks in OpenCode that I just assumed every agent worked that way. It's wild that Claude Code burns 2 seconds of thinking time just to figure out which tool to use.
Really interesting approach to utilising idle capacity. One thing I’ve been tracking closely in our own experiments is agent discovery. Do you currently also allow requesting agent to route the job versus just broadcasting?
Treating the LLM as an untrusted execution thread at the OS level is probably the only sustainable way to handle agentic autonomy... Most frameworks try to manage permissions with application level logic which is basically just a game of whack a mole with prompt injection.
Would be interested to know if this architecture facilitates dynamic context injection from external knowledge sources without inflating the payload again.
MCP’s biggest strength is that it self-advertises, the agent knows the capabilities and schemas immediately upon connection. It turns 'tool-use' from a prompting/training problem into a standardized handshake. I’d much rather have a protocol that handles the discovery than have to manage custom system prompts for every new CLI utility.