Transport Context MCP
When an agent is collaborating in a busy Matrix room, its immediate system prompt only contains the single message that triggered it. How does the agent read the rest of the conversation? How does it know who else is in the room, or what was said twenty messages ago?
In Zooid, agents read context independently of their own session management. They do this via a built-in Model Context Protocol (MCP) server provided by the Zooid daemon.
Why MCP for Context?
We didn’t want to bake Matrix access tokens into the agent configurations. If an agent (like claude-code or opencode) has a Matrix token, it couples the agent to the transport, forces you to rotate credentials inside the agent’s image, and bypasses the daemon’s routing logic.
Instead, the Zooid daemon already owns the credentials and the conversation context. It acts as the broker.
When Zooid spawns an agent via the Agent Client Protocol (ACP), it passes an mcpServers parameter to the agent shim. This parameter points the agent back to a localized, daemon-managed MCP socket over stdio.
What the Agent Sees
Through this MCP connection, the agent’s model is automatically provided with a set of tools it can call at any time to inspect its surroundings:
zooid_get_recent_threads: Scans the room for top-level messages and active conversations.zooid_get_thread_history: Drills into a specific thread to read back-and-forth replies.zooid_get_history: Reads every message in the room chronologically.zooid_get_members: Lists the humans and other agents in the current room.zooid_get_channel_info: Retrieves the room’s display name and transport type.
Zero Configuration
This entire flow requires zero configuration from the operator. There are no per-shim config files (like ~/.claude/mcp.json), no extra CLI binaries to install, and no permission models to invent.
If your transport supports durable context (like Matrix), the Zooid daemon automatically injects the MCP server during the session/new phase of the ACP lifecycle. The agent discovers the tools via their descriptions and calls them naturally when it needs to understand the broader conversation.