Stdio and HTTP for MCP Servers The developer rewrote their MCP server to use Stdio input and output instead of HTTP, reducing code from 300 lines to about 60 lines using the Rust crate RMcp. The Stdio MCP server functions as a console program, and support was recently added to llama-cpp, allowing MCP server tools to appear as built-in tools in its web UI. I rewrote my MCP server to use Stdio input and output instead of HTTP. An MCP server that uses Stdio still receives and returns JSON-formatted messages, but no HTTP connection is made. Instead, a client like llama-cpp uses a sub-process to interact with the MCP server. In this sense, a Stdio MCP server is not a real "server" but is just a regular console program . In any case, I used the Rust crate RMcp , which allowed me to replace 300 lines of code with about 60 lines of code. With RMcp , it is possible to generate most of the necessary code with just Rust derive attributes. In llama-cpp , Stdio MCP server support was added just a couple days ago . To add an Stdio MCP server, use the mcp-servers-json or mcp-servers-config arguments to llama-server , and specify a JSON object that defines mcpServers . This is the mcp.json file format. The MCP server tools will appear in the built-in tools in llama-cpp 's web UI.