Building a personal AI assistant on Azure, step by step

Architecture diagrams are useful, but they eventually have to become files that run together. In this tutorial I build one complete vertical slice of a personal operations assistant, first on a Windows workstation with no Azure dependency, then on Azure Container Apps with Azure OpenAI and Azure AI Search. The companion implementation is in labs/personal-assistant in my agentic-infra-handbook repository. The commands and snippets below match that lab. The lab’s README also has its own step-by-step Azure deployment walkthrough, covering App Registration, the AZD environment, callback registration, validation, and cleanup as a standalone reference. ...

August 3, 2026 · 28 min · Ricardo Martins

How MCP works: the protocol connecting agents to the world

You’ve probably used MCP from the host side already. This post is the other angle: what is actually on the wire. If the MCP 101 post was the architecture diagram, this one is the packet trace. The short version is that MCP is JSON-RPC 2.0 plus capability discovery, per-request metadata, and two standard transports. As of protocol version 2026-07-28, the core is stateless. If LSP standardized editor-to-language-server traffic, MCP does the same for host-to-tool-server traffic. ...

July 29, 2026 · 10 min · Ricardo Martins

Agent Governance on Microsoft Foundry

Chapter 5: Governance on Microsoft Foundry The previous four posts built agents I designed myself, so I could still keep the whole thing in my head. That arrangement lasts right up until another team stands up its own agent on the same platform. Then the question stops being “is this tool safe” and becomes “how do I know what is running, where, and with which permissions?” That is the point where governance stops being a nice habit and becomes table stakes. ...

July 28, 2026 · 9 min · Ricardo Martins

From Script to Agent: Giving the Watchdog Decision Autonomy

Chapter 3: From Script to Agent In the previous post, the Azure OpenAI quota watchdog was a script with if pct_of_tpm > 0.8: alert. That works, but it has the same flaw every blunt monitoring rule has: context does not exist. A batch job that predictably eats 90% of TPM for 10 minutes at month-end looks identical to an agent gone feral and burning tokens all afternoon. Both cross the threshold. Only one should wake somebody up. ...

July 14, 2026 · 8 min · Ricardo Martins

From prompt engineering to frontier company: why the model is no longer the differentiator

Three years ago, the question I heard most was: “what’s the best prompt?” Two years ago, it shifted to: “how do I do RAG?” Last year: “how do I build an agent?” This year, the conversation is different. People are asking how to transform an entire organization to operate with agents. Not a chatbot on the website. Dozens of agents embedded in business processes, with governance, observability, granular permissions. That progression tells a story, and we often discuss each phase as if it appeared out of nowhere. ...

July 2, 2026 · 7 min · Ricardo Martins

MCP and AI Agents 101 for Infrastructure Engineers

Chapter 1: MCP and AI Agents 101 At some point in the last few months, someone on your team probably showed up talking about an “AI agent” or an “MCP server” and asked for cluster access, a deployment, or an explanation for the CISO. I wish I’d had a clean mental model before I touched any of this. That’s what this post is: no hype, and a real Azure example so this does not stay in slideware. ...

July 1, 2026 · 12 min · Ricardo Martins