返回 MCP 目录
public公开dns本地运行

mcp-server-template-ic

该项目展示了一个支持Internet Identity认证的MCP服务器,包含完整的认证流程和前后端实现。

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) 工具响应           └────────────────┘

工作原理

  1. 请求认证:AI 客户端调用 MCP 服务器的 authenticate 工具。
  2. 打开认证 URL:MCP 服务器打开浏览器窗口,显示包含以下内容的认证 URL:
    • pubkey:用于委派的公钥
    • expiration:委派的有效期(以毫秒为单位)
  3. 用户身份验证:React 网页应用(认证 UI)提供界面,供用户使用互联网身份或其他支持的身份提供商进行身份验证。
  4. 委派链创建:在成功身份验证后,网页应用使用提供的公钥和过期时间生成 MArké 服务器的委派链。
  5. 发送委派到服务器:网页应用将委派链发送回 MCP 服务器指定的端点。
  6. 认证结果:MCP 服务器向 AI 客户端返回认证结果。
  7. 调用其他工具:AI 客户端可以调用 MCP 服务器上的其他工具,而 MCP 服务器已验证身份。
  8. 工具响应:MCP 服务器根据请求返回相应的响应。

项目结构

- mcp-server/:MCP 服务器实现
- mcp-server-wallet-connect/:React 网页应用,用于身份验证
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端