An abstract encrypted agent, linked through controlled gateways to local infrastructure services.

Hermes: Encrypted Conversation, Deliberate Authority

Introduction Hermes is the agent I use when a conversation has to reach the infrastructure. I address @hermes:white.fm in an end-to-end encrypted Matrix room. Hermes reasons through the local model route in my cluster, then invokes a finite set of tools against services with their own operational boundaries. Three previous pieces describe the components in isolation: the local Ollama router, the encrypted Matrix notification hub, and the MCP server fleet. Hermes is where those systems meet. Matrix provides the private conversation, Ollama provides the default inference path, and Model Context Protocol (MCP) servers supply the functions through which an answer may become an action. ...

August 31, 2026 · 9 min · Robert D. White
A central MCP gateway connecting an AI client to self-hosted application services

Ten MCP Servers for Ten Self-Hosted Apps: One Pattern

A Reusable Access Layer I first built pages, a static-site host with an MCP upload tool. It was useful enough that I kept repeating the design. The cluster now has ten MCP servers: congress-mcp, freshrss-mcp, googlenews-mcp, gsc-mcp, jetlog-mcp, media-mcp, monica-mcp, nodebyte-mcp, pages, and the Kubernetes server. Each server fronts one self-hosted application. The similarity is intentional. They share the manifest layout, bearer-token boundary, hostname convention, and deployment path. Adding the tenth took about forty minutes, most of it spent writing the tool descriptions that decide whether a client can use the server sensibly. ...

August 15, 2026 · 5 min · Robert D. White
A glowing agent inside a Kubernetes-style boundary connected through five narrow capability channels to a news globe, while red network routes are blocked outside the boundary

No Proxy, No Fetch Tool: Capability-Scoped Internet Access for In-Cluster Agents

Introduction Consider an agent running in a cluster or on a server that needs to read the news. The customary response is to provide an HTTP client and permit it to fetch URLs, perhaps through an egress proxy intended to impose a measure of network hygiene. The agent in question is an in-cluster assistant with material access to its environment. It can receive a projected ServiceAccount token, whose effective authority derives from Kubernetes RBAC; it can control home automation; and it can reach several important internal services. Giving a system with that degree of reach a general-purpose fetch(url) tool creates a direct security problem: every page it reads becomes a potential source of adversarial instruction, and every host on the internet becomes a potential destination for whatever information the agent can assemble. ...

August 10, 2026 · 7 min · Robert D. White
A dark title card for pages, listing its four MCP tools

Agentic Static-Site Hosting: Giving Claude a Place to Publish on Kubernetes

Introduction I use Claude Code for substantial one-off analysis, and its output is frequently a single self-contained HTML file. Examples include a flight-log dashboard, an interactive trainer derived from an audiobook transcript (described in Building Interactive Trainers From My Audiobook Library), a pedigree chart, and a client map. Each began either as a Live Artifact or as a file in /tmp that I opened with file://, inspected once, and subsequently lost. ...

August 8, 2026 · 18 min · Robert D. White
Available as a Tor onion service