Protocol Overview
MDP is a discovery protocol and an RPC bridge protocol.
The client provides path descriptors. The server stores and indexes them. The MCP host consumes them through a fixed bridge surface.
The wire model is transport-agnostic. The current implementation ships with:
ws/wsssessionshttp/httpsloop sessions- explicit
updateClientCataloglifecycle messages for replacing the registered path catalog after registration - optional auth envelopes on
registerClientandcallClient - transport auth from request headers or
/mdp/authcookie bootstrap GET /mdp/metaas an out-of-band probe for MDP server discovery
The current server implementation can also run in a layered topology:
- a standalone hub that owns the MCP bridge
- an edge server that accepts local client sessions
- optional upstream proxying from edge to hub
That discovery and proxy behavior is transport control-plane behavior. It does not add new MDP wire messages.
MDP path node categories:
endpointpromptskill
Endpoint nodes use an HTTP-like shape with a concrete method plus a path pattern such as GET /goods/:id. Prompt nodes use reserved leaf names that end with /prompt.md. Skill nodes use reserved leaf names that end with /skill.md, which works well for hierarchical Markdown documents such as /topic/skill.md and /topic/detail/skill.md.
The path model is the API surface. Clients register descriptors directly as endpoint, prompt, and skill paths, and hosts consume them through the canonical path-oriented bridge.