Skip to content

对外接口

这一组文档面向 MDP client,按“建立链接”“消息事件”“外部接口”三类拆开。

按任务阅读

目标入口
建立一个双向会话WebSocket 建立链接
用请求响应方式代替 socketHTTP Loop 建立链接
浏览器在开 websocket 前先鉴权鉴权引导
判断某个端口是不是 MDP 服务GET /mdp/meta
更新一个已连接 client 的路径目录updateClientCatalog
查看 websocket 有哪些消息事件registerClientcallClientping
查看精确的 HTTP 接口契约POST /mdp/http-loop/connectPOST /mdp/authGET /mdp/meta

建立链接

方式入口说明
WebSocket 建立链接ws://127.0.0.1:47372双向 JSON MDP 消息
HTTP Loop 建立链接/mdp/http-loop/connect基于 session 的 long-poll transport
鉴权引导/mdp/auth主要给浏览器 websocket client 做 cookie 引导
元数据探针/mdp/meta识别一个 MDP server 并读取发现提示

消息事件

事件方向作用
registerClientClient -> Server注册一个 client descriptor 与路径
updateClientCatalogClient -> Server替换一个已注册的路径目录
unregisterClientClient -> Server删除一个已注册 client 会话
callClientServer -> Client调用一个 method + path 目标
callClientResultClient -> Server回传调用结果
ping双向心跳保活
pong双向心跳确认

外部接口

接口方法作用
POST /mdp/http-loop/connectPOST创建一个 HTTP loop session
POST /mdp/http-loop/sendPOST发送一条 client-to-server 消息
GET /mdp/http-loop/pollGET拉取一条 server-to-client 消息
POST /mdp/http-loop/disconnectPOST关闭一个 HTTP loop session
POST /mdp/authPOST签发一个 auth cookie
DELETE /mdp/authDELETE清除一个 auth cookie
GET /mdp/metaGET探测一个 server 的 MDP 元数据
GET /skills/:clientId/*skillPathGET通过直接路由读取一个 skill
GET /:clientId/skills/*skillPathGET通过嵌套路由读取一个 skill

共享 JSON 类型

AuthContext

json
{
  "scheme": "Bearer",
  "token": "client-session-token",
  "headers": {
    "x-mdp-auth-tenant": "demo"
  },
  "metadata": {
    "role": "operator"
  }
}

SerializedError

json
{
  "code": "handler_error",
  "message": "Something failed",
  "details": {
    "reason": "optional"
  }
}

MDP 的 client 目录是 path-based。client.paths 里的 descriptor 只会是下面三种之一:

  • 带显式 methodpathendpoint
  • 位于 *.prompt.md 路径、通过 GET 调用的 prompt
  • 位于 *.skill.md 路径、通过 GET 调用的 skill

与 bridge 工具的关系

这组接口是给 MDP client 用的,MCP host 不直接调用它们。MCP host 面向的是 工具集

模型驱动协议