- ~45work-lifecycle actions across eleven AgentOS tools
- ~180actions across 18 FAFO Core tools, dispatch compiled from YAML
- 24tools on the digital-employee server, 13 of them meeting actions
One endpoint for every agent seat
FAFOHive is the single endpoint every managed agent seat in my estate connects to, because I wanted one trust model for every tool an agent can reach. The provider tools sit under stable namespaces, and every provider call is durably accounted, so a restart does not repeat one. See Agents with real tools and no keys.
I design tools around jobs: in one module I threw away 83 generated endpoint tools for about fifteen designed ones, a set that later grew to thirty-six. Tool descriptions state their cost and pass the provider's errors through verbatim, so the agent reasons over real failures. When the SDK's streaming transport broke on every container restart, I replaced it with a stateless per-request transport.
container restart
Governed work without trusting the caller
AgentOS needed agents to drive governed work through tools without being trusted to say who they are. I exposed the whole work lifecycle as tools.
the server derives who is calling
- Who is callingthe session
- Every mutating callidempotency key
- A long operationa receipt
- An identity argument from the modelnever trusted
Tools compiled from schemas, and tools that build tools
FAFO Core and Function Forge had to make every new function callable by an agent without hand-written routing. Its gateway compiles YAML tool schemas into dispatch, and Function Forge is itself an MCP tool that emits new MCP tools. See Tools that build tools, under governance.
One named employee for any model
Helix lets any model act in a Teams meeting as one named employee. I built a Rust server for it and made the catalog data, so a new tool reaches every client with no client change. The voice engine is itself an MCP client that signs in with OAuth 2.0 and PKCE. See Solving the digital-employee identity.
The catalog is data: model clients and the voice engine read the same one, so a new tool needs no client change.
A hundred tokens instead of the catalog
Capabilities model attacks the cost of tool schemas. I collapsed the catalog into one discovery tool whose description a test caps at 520 characters, written as a trigger to look before concluding no tool exists. See A hundred tokens instead of forty-two thousand.
Grants, products and provisioning
Agent Swarm exposes its persona launcher as MCP actions and gives each managed seat a tool selection by capability class at launch. An agent cannot call what it was not granted.
Auth and access plane offers one weather MCP product in two shapes, the full set over a local transport and a trimmed set for Microsoft Copilot Studio behind an edge proxy that authenticates and routes MCP requests. It also runs the authorization server MCP clients discover.
Inference Fabric puts GPU provisioning behind an MCP tool, so an agent adds a consumer node in one call under a budget a person set. Every tool that creates something has a matching delete, and a tool's test runs its whole lifecycle through MCP alone.
I have built servers, gateways, clients and transports on MCP across every system on this site. I did not write the protocol or its SDKs.
I treat MCP as an engineering surface with identity, cost and failure designed in.