mcpField
M
MCP Server Template with Internet Identity Authentication

MCP Server Template with Internet Identity Authentication

ローカル
github.com/baolongt開発ツール181 週間前に更新

MCP Server Template with Internet Identity Authentication について

Internet Identity認証を使うMCPサーバーのテンプレートです。ブラウザーでの委任フローと、認証が必要なツールへのアクセスを示し、MCPサーバー開発者を対象としています。

主な機能

  1. 01Internet Identity認証フロー
  2. 02ブラウザーベースの認証画面
  3. 03委任チェーンの作成と送信
  4. 04認証状態の管理
  5. 05認証が必要なMCPツール

活用シーン

  1. 01認証付きMCPサーバーの試作
  2. 02ツール利用前の本人確認

MCP 対応

`authenticate`ツールと認証が必要なツールを備えたMCPサーバーを実装します。付属のReactアプリが委任チェーンを作成し、サーバーに送信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Internet Identity 認証を使用する MCP サーバーテンプレート

このプロジェクトでは、Internet Identity 認証フローを備えた Model Context Protocol(MCP)サーバーを紹介します。

認証フロー

┌────────────────┐     (1) Use authenticate tool     ┌────────────────┐
│                │ ────────────────────────────────> │                │
│                │                                   │                │
│   AI Client    │                                   │   MCP Server   │
│   with MCP     │                                   │                │
│   Support      │                                   │                │
│                │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │                │
└────────────────┘     (6) Authentication result     └────────────────┘
        │                                                     │
        │                                                     │ (2) Open authentication URL
        │                                                     │     with pubkey & expiration
        │                                                     ▼
        │                                           ┌────────────────┐
        │                                           │                │
        │                                           │  React Web App │
        │                                           │  (Auth UI)     │
        │                                           │                │
        │                                           └────────────────┘
        │                                                     │
        │                                                     │ (3) User authenticates
        │                                                     │     with Internet Identity
        │                                                     ▼
        │                                           ┌────────────────┐
        │                                           │                │
        │                                           │  Internet      │
        │                                           │  Identity      │
        │                                           │                │
        │                                           └────────────────┘
        │                                                     │
        │                                                     │ (4) Return delegation
        │                                                     ▼
        │                                           ┌────────────────┐
        │                                           │                │
        │                                           │  React Web App │
        │                                           │  (Auth UI)     │
        │                                           │                │
        │                                           └────────────────┘
        │                                                     │
        │                                                     │ (5) Send delegation
        │                                                     │     to MCP Server
        ▼                                                     ▼
┌────────────────┐     (7) Call other MCP tools     ┌────────────────┐
│                │ ────────────────────────────────> │                │
│                │                                   │                │
│   AI Client    │                                   │   MCP Server   │
│   with MCP     │                                   │  (Authenticated)│
│   Support      │                                   │                │
│                │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │                │
└────────────────┘        (8) Tool responses         └────────────────┘
仕組み
  1. 認証のリクエスト:AI クライアントが authenticate ツールを使用して MCP サーバーを呼び出します。

  2. 認証 URL を開く:MCP サーバーが、次の情報を含む認証 URL をブラウザーウィンドウで開きます。

    • pubkey:委任用の公開鍵
    • expiration:委任の有効期限(ミリ秒単位)
  3. ユーザー認証:React ウェブアプリ(認証 UI)にユーザー認証用のインターフェースが表示され、ユーザーは Internet Identity またはその他のサポート対象の ID プロバイダーを使用して認証します。

  4. 委任の作成:認証が成功すると、ウェブアプリが提供された公開鍵と有効期限を使用して、MCP サーバー用の委任チェーンを作成します。

  5. 委任をサーバーに送信:ウェブアプリが、設定されたエンドポイントに委任チェーンを送信します。

  6. 認証結果:MCP サーバーが認証結果を AI クライアントに返します。

  7. 保護されたツールへのアクセス:認証が成功すると、AI クライアントは認証が必要な他の MCP ツールを呼び出せるようになります。

  8. 保護された応答:認証済みの MCP サーバーが、ツールの呼び出しに対して要求されたデータを返します。

プロジェクト構成

  • mcp-server/:MCP サーバーの実装

    • MCP ツールの登録とリクエストを処理します
    • 認証状態を管理します
    • ウェブアプリからの委任を処理します
  • mcp-server-wallet-connect/:認証用の React ウェブアプリ

    • Internet Identity に接続します
    • MCP サーバー用の委任を作成します
    • 委任をサーバーに送り返します

セットアップ手順

  1. 両方のプロジェクトの環境変数を設定します
  2. MCP サーバーを起動します
  3. React ウェブアプリを起動します
  4. AI クライアントを MCP サーバーに接続します

詳しいセットアップ手順については、各プロジェクトディレクトリの README ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。