Skip to main content

Module m0036_drop_bundle_mcp

Module m0036_drop_bundle_mcp 

Source
Expand description

Bundles stop carrying MCP servers: they belong to Connectors (docs/specs/SPEC_BUNDLE_CONTENTS_MEMORY_NOT_MCP_2026_10_07.md §3.1, D3).

For this channel:

  • logs each agent that loses a server it reached only through a bundle, naming the agent and the server, so the loss shows in the srv log;
  • deletes the servers private to a bundle from the identity store: not global, referenced by a bundle here, and bound to no agent here. An agent can’t bind another entity’s private server (mcp.catalog.bind takes global ones only), so no other channel’s agent holds one either;
  • deletes every db_bundle_mcp_ref row;
  • clears the shared store’s inline db_bundles.mcp_servers to [].

An agent’s own servers (db_agent_mcp_ref) and the global ones are left alone. db_bundle_mcp_ref stays defined, because an older build on the same channel expects it; dropping it is a later cleanup.

Idempotent: a second run finds no refs and nothing inline. Fails (to be retried on the next boot) when the shared store can’t be opened or the inline column can’t be cleared, since those hold server configs. Never fails over the identity store: when it can’t be opened, the private servers are left (unreachable, since their refs go) and that is logged.

Structs§

Dropped 🔒
What one run removed, for the log and the tests.
M0036DropBundleMcp

Functions§

agent_bound_mcp_ids 🔒
bundle_mcp_refs 🔒
Every bundle’s MCP refs on this channel, bundle id to server ids.
drop_bundle_mcp 🔒
log_agents_losing_servers 🔒
One log line per agent that reached a server only through its bundles: not a global one, and not one bound to the agent itself.
open_identity_store 🔒