Determinism by Design: Architecting MCP Servers
Most of us already use MCP every day through an IDE or agent tooling, and more of us are now being asked to build one. The protocol is the easy part. You can have a working server running in a couple dozen lines of code, then spend the next six months learning that none of the hard problems were in the transport. Your caller is not code you control anymore. It is a model that skims your descriptions, guesses at your arguments, and calls things in an order you did not plan for. Anything you do not encode, it re-derives on every turn, differently. Determinism is not something the protocol hands you. It is something you decide to keep.
We will cover what MCP actually is, including the 2026 revision that threw out sessions, and then spend most of our time on the decisions that matter: why mapping your REST endpoints one to one is almost always wrong, how naming and descriptions became your real contract, and why your errors are now prompts. We will finish on production architecture, covering auth, gateways, guardrails, and distribution, along with the question nobody wants to ask, which is whether you need an MCP server at all.
We will cover what MCP actually is, including the 2026 revision that threw out sessions, and then spend most of our time on the decisions that matter: why mapping your REST endpoints one to one is almost always wrong, how naming and descriptions became your real contract, and why your errors are now prompts. We will finish on production architecture, covering auth, gateways, guardrails, and distribution, along with the question nobody wants to ask, which is whether you need an MCP server at all.
About Travis Gosselin
Travis is a Principal Software Engineer at GitHub focused on Developer Experience, where he works to improve how developers build, collaborate, and deliver software at scale. He is passionate about simplifying complex systems, shaping effective engineering practices, and creating environments where developers can move faster with greater clarity and confidence. A seasoned speaker, architect, and writer, Travis enjoys sharing insights, exploring emerging technologies, and helping teams turn better developer workflows into meaningful business impact.
More About Travis »