实体发现协议(EDP)
AI代理发现哪些MCP为给定实体服务的标准。
 ](SPEC.md)
问题
模型上下文协议(MCP)使AI代理能够与服务交互。但还有一层缺失:
- MCP答案:“我如何与此服务器通信?”
- 服务器卡(SEP-1649)应答:“此MCP服务器能做什么?”
- 实体发现协议答案:“哪些MCP服务于这项业务?”
餐厅不运行自己的MCP服务器——它 *代表们* 第三方MCP提供商(预订、交付、付款)将由AI代理采取行动。当代理想要帮助用户在“Acme Bistro”预订餐桌时,它需要发现这家餐厅将预订委托给预订提供商。
User: "Book a table at Acme Bistro Paris for tonight"
Agent: → Which MCP handles Acme Bistro?
→ Query EDP Registry: resolve("acme-bistro.com")
→ Response: Use mcp.booking-provider.com with entity_id "acme-paris-001"
→ Agent calls Booking Provider MCP → Booking complete运作原理
1.实体卡
实体发布 entity-card.json 声明他们委托给哪些MCP:
https://acme-bistro.com/.well-known/entity-card.json{
"schema_version": "0.2.0",
"domain": "acme-bistro.com",
"entities": [
{
"name": "Acme Bistro Paris",
"path": "/paris",
"location": { "city": "Paris", "country": "FR" },
"mcps": [
{
"provider": "booking-provider",
"endpoint": "https://mcp.booking-provider.com",
"entity_id": "acme-paris-001",
"capabilities": ["reservations", "menu", "availability"]
}
]
},
{
"name": "Acme Bistro Lyon",
"path": "/lyon",
"location": { "city": "Lyon", "country": "FR" },
"mcps": [
{
"provider": "booking-provider",
"endpoint": "https://mcp.booking-provider.com",
"entity_id": "acme-lyon-001"
}
]
}
]
}实体卡支持每个域的多个实体(例如,具有多个位置的连锁餐厅)。每个实体都声明自己的MCP关联。业务元数据有意地最小化——注册表丰富了来自外部源的条目。
2.电子数据处理登记处
注册表抓取实体卡并为代理提供解析API。它们使用来自外部源(Schema.org、Google business等)的业务元数据来丰富条目。
3.验证级别
| 级别 | 来源 | 信任 |
|---|---|---|
| 0 | 仅提供程序注册 | 信任提供程序 |
| 1 | 仅限实体卡 | 信托业务 |
| 2 | 双方匹配 | 双方同意 |
级别2可以可选地包括加密签名(JWT),用于敏感用例(支付、法律)中的不可否认性。
规格
本规范包括:
- 实体卡格式和模式
- MCP提供商注册
- 验证级别和加密证明
- 解析API端点
- 安全注意事项
模式
- entity-card.schema.json --验证实体卡
- 提供者注册.schema.json --验证提供商批量注册
例子
- minimal.json --最简单的实体卡(单个实体)
- 多mcp.json --具有多个MCP提供商的多位置实体
- 带验证.json --具有二级验证的实体卡
- 提供者注册.json --批量提供商注册
与MCP的关系
EDP是一种 互补的 MCP协议,诞生于 MCP社区的讨论它解决了MCP故意不覆盖的一层:实体到MCP的发现。
这不是分叉或竞争——MCP定义了通信,EDP定义了发现。我们欢迎MCP社区的反馈,如果有兴趣,我们愿意进行整合。
┌─────────────────────────────────────────────────────────────────┐
│ MCP (Model Context Protocol) │
│ "How agents communicate with servers" │
└─────────────────────────────────────────────────────────────────┘
│
│ describes servers via
▼
┌─────────────────────────────────────────────────────────────────┐
│ Server Cards (SEP-1649) │
│ "What an MCP server can do" │
└─────────────────────────────────────────────────────────────────┘
│
│ discovered via
▼
┌─────────────────────────────────────────────────────────────────┐
│ Entity Discovery Protocol (EDP) │
│ "Which MCP serves this business" │
└─────────────────────────────────────────────────────────────────┘实现
EDP是一种协议规范。要使用它,您需要:
- 注册表:为实体建立索引并提供解析API
- MCP提供商:登记其服务实体
- 实体:在其域上发布实体卡
看 docs/implementations-guide.md 为实施提供指导。
*如果您已经实施了EDP,请打开一个PR在此处添加您的实施。*
贡献
我们欢迎捐款!看 贡献.md 作为指导方针。
许可证
MIT许可证——见 许可证
