本项目展示了一个带有互联网身份认证流程的 Model Context Protocol (MCP) 服务器,为 AI 客户端与 MCP 服务器之间的交互提供了安全可靠的身份认证机制。
本项目主要呈现了带有互联网身份认证流程的 MCP 服务器,下面为你详细介绍其身份验证流程及工作原理。
┌────────────────┐ (1) 使用认证工具进行认证 ┌────────────────┐
│ │ ────────────────────────────────> │ │
│ │ │ │
│ AI 客户端 │ │ MCP 服务器 │
│ 带有 MCP 支持 │ │ │
│ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │
└────────────────┘ (6) 认证结果 └────────────────┘
│ │
│ │ (2) 打开认证 URL
│ 以 pubkey 和过期时间
│ ▼
│ ┌────────────────┐
│ │ │
│ │ React 网页应用 │
│ │ (认证 UI) │
│ │ │
│ └────────────────┘
│ │
│ │ (3) 用户进行身份验证
│ 使用互联网身份
│ ▼
│ ┌────────────────┐
│ │ │
│ │ 互联网身份 │
│ │ │
│ └────────────────┘
│ │
│ │ (4) 返回委派
│ ▼
│ ┌────────────────┐
│ │ │
│ │ React 网页应用 │
│ │ (认证 UI) │
│ │ │
│ └────────────────┘
│ │
│ │ (5) 发送委派
│ 至 MCP 服务器
▼ ▼
┌────────────────┐ (7) 调用其他 MCP 工具 ┌────────────────┐
│ │ ────────────────────────────────> │ │
│ │ │ │
│ AI 客户端 │ │ MCP 服务器 │
│ 带有 MCP 支持 │ │ 已认证 │
│ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │
└────────────────┘ (8) 工具响应 └────────────────┘
authenticate
工具。pubkey
:用于委派的公钥expiration
:委派的有效期(以毫秒为单位)- mcp-server/:MCP 服务器实现
- mcp-server-wallet-connect/:React 网页应用,用于身份验证