The SQLite MCP server example with Ollama is a useful pairing — running it locally avoids the latency of remote tool calls. I tried a similar setup with a local PostgreSQL MCP server and a quantized Mistral model, and the tool selection accuracy dropped significantly compared to Claude: the model would sometimes call the wrong tool with plausible-sounding arguments. Did you observe any differences in tool selection reliability between the local Ollama model and Claude Desktop when the server exposed more than 3-4 tools?
Great article—an excellent starting point for MCP!
While reading, I thought, "It would be great to have something like this for the ETH blockchain." A quick Google search led me to a new tool, EVM MCP Server, which had its first commit just two weeks ago.
MCP is rapidly becoming the standard!
Great breakdown of the MCP architecture! The STDIO vs SSE distinction is particularly important - STDIO for local integrations keeps latency minimal, while SSE enables remote server composition.
What's fascinating about MCP is how it shifts agent development from "build integrations" to "configure protocol clients." The Docker Hub MCP registry (hub.docker.com/u/mcp) is essentially becoming a package manager for agent capabilities.
One thing I'd add: the
inputSchemapattern MCP uses mirrors what we're seeing in production agent frameworks. OpenAI's function calling, Anthropic's tool definitions, and now MCP all converged on JSON Schema for describing tool interfaces. That's not accidental - it's the contract layer that makes tools swappable across models.Looking forward to your follow-up on building custom MCP servers. The real unlock will be when we get MCP servers that compose other MCP servers - tools calling tools across protocol boundaries.
Thanks for the Ollama example too - local-first agent development is the direction things are heading, and having MCP work with local LLMs removes a key friction point.