Better alternative to CLI and MCP for local tools: Seeking feedback on my open-source project

Reddit r/LocalLLaMA / 4/13/2026

💬 OpinionDeveloper Stack & InfrastructureSignals & Early TrendsIdeas & Deep AnalysisTools & Practical Usage

Key Points

  • The author released an open-source library/protocol (named-pipes) aimed at enabling communication between locally running agent tools using Unix named pipes to reduce latency and overhead.
  • The approach is positioned as a better fit than per-invocation CLI tools because it keeps a server process resident in memory, avoiding repeated startup costs and state reloads for heavy tasks like LLM inference or browser automation.
  • It is also contrasted with MCP’s JSON-RPC/discovery and mediator-layer architecture, arguing that for fully self-hosted single-machine agents, those layers add unnecessary complexity.
  • The project’s core concept is that an orchestrator sends messages via a file-path interface and receives replies directly, bypassing both network stack complexity and framework intermediaries.
Better alternative to CLI and MCP for local tools: Seeking feedback on my open-source project

I've been vibe-coding a library / protocol for building and communicating with locally running agent tools via Unix's named pipe mechanism and have just released the first version!

I'd love some feedback: am I onto a good idea here or is it totally unnecessary?

https://github.com/stefanwebb/named-pipes

From the readme:

Because named pipes route data through kernel memory rather than a network stack, they offer lower latency than local HTTP and far less complexity than shared memory, making them a practical sweet spot for real-time applications like voice agents.

A CLI tool is a new process on every invocation. It pays startup cost each time, must reload any state it needs from disk, and exits when the call completes. For lightweight commands that is fine, but for capabilities like LLM inference, vector search, or browser automation — where the expensive part is loading model weights, building an index, or launching a browser — that per-call overhead is prohibitive. A named-pipe server starts once, holds everything in memory, and stays resident between calls. The orchestrator sends a message and gets a response; no process is spawned, no state is reloaded.

MCP is built around a different assumption: the model lives elsewhere (in the cloud, behind an API), and tools run as local or remote servers that the framework discovers and manages. That architecture introduces JSON-RPC framing, a process-spawning and discovery protocol, and a framework intermediary sitting between the model and the tool. For a self-hosted agent running entirely on one machine, all of that is overhead with no benefit. Named pipes skip the protocol layer entirely — the orchestrator opens a file path, writes a message, and reads the reply. The execution loop stays in the orchestrator's hands, with no framework in the middle and no network stack involved.

submitted by /u/PrincipleFar6835
[link] [comments]