article
README
🚀 MCP 服务器模板与互联网身份认证
本项目展示了一个带有互联网身份认证流程的 Model Context Protocol (MCP) 服务器,为 AI 客户端与 MCP 服务器之间的交互提供了安全可靠的身份认证机制。
🚀 快速开始
本项目主要呈现了带有互联网身份认证流程的 MCP 服务器,下面为你详细介绍其身份验证流程及工作原理。
✨ 主要特性
- 提供完整的互联网身份认证流程,保障 AI 客户端与 MCP 服务器交互的安全性。
- 通过委派链机制,实现用户身份的有效验证。
📚 详细文档
身份验证流程
┌────────────────┐ (1) 使用认证工具进行认证 ┌────────────────┐
│ │ ────────────────────────────────> │ │
│ │ │ │
│ AI 客户端 │ │ MCP 服务器 │
│ 带有 MCP 支持 │ │ │
│ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │
└────────────────┘ (6) 认证结果 └────────────────┘
│ │
│ │ (2) 打开认证 URL
│ 以 pubkey 和过期时间
│ ▼
│ ┌────────────────┐
│ │ │
│ │ React 网页应用 │
│ │ (认证 UI) │
│ │ │
│ └────────────────┘
│ │
│ │ (3) 用户进行身份验证
│ 使用互联网身份
│ ▼
│ ┌────────────────┐
│ │ │
│ │ 互联网身份 │
│ │ │
│ └────────────────┘
│ │
│ │ (4) 返回委派
│ ▼
│ ┌────────────────┐
│ │ │
│ │ React 网页应用 │
│ │ (认证 UI) │
│ │ │
│ └────────────────┘
│ │
│ │ (5) 发送委派
│ 至 MCP 服务器
▼ ▼
┌────────────────┐ (7) 调用其他 MCP 工具 ┌────────────────┐
│ │ ────────────────────────────────> │ │
│ │ │ │
│ AI 客户端 │ │ MCP 服务器 │
│ 带有 MCP 支持 │ │ 已认证 │
│ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │
└────────────────┘ (8) 工具响应 └────────────────┘
工作原理
- 请求认证:AI 客户端调用 MCP 服务器的
authenticate工具。 - 打开认证 URL:MCP 服务器打开浏览器窗口,显示包含以下内容的认证 URL:
pubkey:用于委派的公钥expiration:委派的有效期(以毫秒为单位)
- 用户身份验证:React 网页应用(认证 UI)提供界面,供用户使用互联网身份或其他支持的身份提供商进行身份验证。
- 委派链创建:在成功身份验证后,网页应用使用提供的公钥和过期时间生成 MArké 服务器的委派链。
- 发送委派到服务器:网页应用将委派链发送回 MCP 服务器指定的端点。
- 认证结果:MCP 服务器向 AI 客户端返回认证结果。
- 调用其他工具:AI 客户端可以调用 MCP 服务器上的其他工具,而 MCP 服务器已验证身份。
- 工具响应:MCP 服务器根据请求返回相应的响应。
项目结构
- mcp-server/:MCP 服务器实现
- mcp-server-wallet-connect/:React 网页应用,用于身份验证
Scan to join WeChat group