mcpField
S
Sovereign Identity Wallet

Sovereign Identity Wallet

ローカル
github.comセキュリティ05 週間前に更新

Sovereign Identity Wallet について

Sovereign Identity Wallet は、MCP 対応エージェント向けのセルフホスト型 ID ウォレットです。DID、委任グラント、タスク委任状を扱い、秘密鍵はローカルで暗号化して保存します。

主な機能

  1. 01所有者とエージェントの ID 作成
  2. 02範囲・金額制限付きグラントの発行
  3. 03タスク委任状の生成
  4. 04委任状と委任チェーンの検証
  5. 05対象ごとのペアワイズ DID 作成

活用シーン

  1. 01MCP エージェントの DID 身元確立
  2. 02範囲と金額による権限の制限
  3. 03ウェブサイトでの委任状・委任チェーン検証
  4. 04サイト間の ID 関連付けの防止

MCP 対応

互換クライアントに ID 作成、グラント発行、検証などのツールを提供する MCP サーバーです。stdio と、Bearer token で保護されたリモート HTTP 接続に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tamtunnel-si-wallet": {
"command": "npx",
"args": [
"-y",
"@tamtunnel/si-wallet-mcp"
]
}
}
}
起動コマンドnpx -y @tamtunnel/si-wallet-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@tamtunnel/si-wallet-mcp0.1.3

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
roleenumいいえどの ID ですかowner | agent

詳細

si-wallet-mcp

MCP サーバーとして動作するソブリンアイデンティティウォレットです。 MCP 対応のあらゆるエージェントに DID、所有者からエージェントへの権限付与、タスク委任状を提供します。 AWAS ウェブサイト認証を支えるアイデンティティレイヤーです。

プロトコル: TamTunnel/sovereign-identity — このウォレットが実装する DID、エージェンシー権限付与、タスク委任状、AWAS ウェブサイトとの紐付けです。

バージョン: 0.1.0 · ライセンス: Apache-2.0

ツール

ツール機能
wallet_onboard所有者/エージェントのアイデンティティを作成します(すでに存在する場合はそれを返します)
wallet_didロールの DID を取得します
issue_grant所有者がエージェントの DID にスコープと USD 上限額を委任します
mint_mandateエージェントがウェブサイトのオーディエンス向けにタスク委任状を発行します(Authorization: Mandate … の値を返します)。subjectDid を渡すと、スコープ/金額を絞って下流のエージェントに委任できます
verify_mandateウェブサイト側で検証します:署名、有効期限、オーディエンス、リプレイ、権限付与との紐付け、スコープ/金額の制約
verify_chain複数ホップの委任チェーン(所有者 → … → エージェント)をウェブサイト側で検証します:各ホップの署名、紐付け、権限の縮小、リプレイ
pairwise_didオーディエンスごとに新しいペアワイズ DID を生成します(サイト間で相関されません)

ガードレールはサーバー側で適用されます。$100 を超える委任状には confirmOverLimit=true が必要です(所有者が明示的に承認した後に限ります)。また、 検証機能は正規形式でない base64url を無条件に拒否します。

クイックスタート

npm install -g @tamtunnel/si-wallet-mcp   # after publish; or clone and npm install
export SI_WALLET_PASSPHRASE="your passphrase"   # required for signing
si-wallet-mcp                                # stdio mode (default)

状態は ~/.sov-id に保存されます(SI_WALLET_DIR で変更できます)。鍵は保存時に scrypt + AES-256-GCM で暗号化され、ファイルのパーミッションは 600 です。

ローカル MCP クライアント(Claude Code、Hermes、OpenClaw など)

クライアントの MCP 設定に追加します:

{
  "mcpServers": {
    "si-wallet": {
      "command": "node",
      "args": ["/path/to/si-wallet-mcp/server.mjs"],
      "env": { "SI_WALLET_PASSPHRASE": "your passphrase" }
    }
  }
}
Muse(カスタムコネクター)

Muse のカスタムコネクターは、ストリーミング可能な HTTP 経由でリモート MCP サーバーに接続します。 そのため、ノートパソコン上のサーバーには Meta のクラウドから接続できません。次を実行します:

export SI_WALLET_PASSPHRASE="your passphrase"
export SI_MCP_TOKEN="$(openssl rand -hex 32)"   # required in HTTP mode
si-wallet-mcp --http --port 8787

パブリックな HTTPS URL(お使いの VPS、fly.io、Tailscale など)で公開し、その URL を Authorization: Bearer <token> とともに Muse のカスタムコネクターとして追加します。 サーバーはデフォルトで 127.0.0.1 にバインドします。TLS の背後でのみ SI_MCP_HOST=0.0.0.0 を設定してください。詳しい手順は DEPLOY.md をご覧ください。

Docker
docker build -t si-wallet-mcp .
docker run -d --name si-wallet \
  -e SI_MCP_TOKEN="$(openssl rand -hex 32)" \
  -e SI_WALLET_PASSPHRASE="your passphrase" \
  -v si-wallet-data:/data \
  -p 127.0.0.1:8787:8787 \
  si-wallet-mcp

fly.io、Tailscale、TLS、オンボーディング、バックアップ、Meta Muse への接続については、DEPLOY.md をご覧ください。

委任のデモ:Owner → Muse → Hermes

examples/delegation-chain/ は、ペア固有のコネクターを使わずに、エージェントやフレームワークをまたいで委任状を連結できることを示す実行可能な証明です。所有者が Muse に広範な権限を付与し、Muse が権限範囲を絞った委任状を Hermes に渡します。Hermes は末端の委任状をウェブサイトに提示し、ウェブサイトは権限が段階的に縮小されたチェーン全体を検証します。4 つの攻撃(スコープの拡大、金額の拡大、改ざん、リプレイ)が試行され、拒否されます。

node examples/delegation-chain/run.mjs

誰がホストするのですか?

各ユーザーが自分のウォレットをホストします。 それがこの仕組みの要点です。ウォレットには秘密鍵が保存されるため、共有ホストインスタンスはありません。それではカストディアルになり、「ソブリンアイデンティティ」の「ソブリン」と矛盾するためです。

  • 自分で使う場合: 自分が管理するハードウェア(自分の Mac、自分が所有する VPS)で実行します。コマンドを 1 つ実行するだけで、鍵がマシンの外に出ることはありません。
  • ほかのユーザーの場合: 同様に、各自が自分のインスタンスを実行し、エージェントから接続します。これは、Hermes/OpenClaw がすでに採用している方式(セルフホスト可能)と同じです。
  • ステートレス検証(リプレイ台帳を使わない verify_mandate)だけは共有できる可能性がありますが、それもローカルで行うほうが安全です。

サーバーに接続できる人は、署名を要求できます。ベアラートークンはパスワードと同様に扱い、TLS なしで HTTP ポートを公開しないでください。

セキュリティに関する注意

  • HTTP モードは SI_MCP_TOKEN がないと起動しません。すべてのリクエストに Authorization: Bearer <token> が必要です(それ以外は 401)。
  • サーバーはパスフレーズ、鍵、トークンをログに記録しません。
  • テスト用パスフレーズで作成したデモ用アイデンティティは、実際の利用前に置き換える必要があります。実際の所有者のオンボーディングはご自身で行ってください。
  • このツールは、独立した暗号学的監査を受けていません。

コメント

MCP は初めてですか?

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

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