mcp/
Me keeps this legacy host configuration outside Realm execution. Use the captured handler migration for Me Realms.
MCP server configurations — each file lists Model Context Protocol servers to connect.
Prefer apis/ (a vendored OpenAPI spec) over an MCP server whenever the
integration is API-backed. A vendored spec gives the LLM full typed
request/response shapes instead of MCP’s flat tool descriptions, needs no
Docker, starts instantly, and is testable without a container. Every realm the
product ships has migrated this way (Maps, arXiv, Wikipedia, Brave, YouTube).
Reach for mcp/ only when there is no API to vendor — e.g. a server that
wraps a local binary or a stateful protocol — or when the user explicitly
brings their own MCP server.
- name: example-server description: "What the server's tools do, written for the LLM" command: docker args: ["run", "-i", "--rm", "example/example-mcp:latest"] env: EXAMPLE_API_KEY: "${EXAMPLE_API_KEY}"MCP servers are lazy-loaded — the Docker container starts on first tool use, not on world init. A
mutable or credential-bearing MCP instance is keyed by (worldId, contextId, realmDigest, principalId, access-policy revision, grant/credential revision) and is never shared across
contexts, principals, or worlds. A worldEpoch change destroys the instance or fences it from
all later calls. Only an immutable, credential-free server proven to hold no caller-derived state
may use a deployment-wide cache. Existing credential-fingerprint or config-only sharing is not a
shared-tenancy boundary.

