@vess-id/ai-identity-mcp
v0.1.0
Published
MCP (Model Context Protocol) adapter for AIdentity system
Readme
AIdentity MCP Server
安全なAIエージェントのツール委譲をVerifiable Credentials (VC)で実現するModel Context Protocol (MCP)サーバーです。Slack、GitHub、Gmail、Jiraなど、さまざまな外部ツールにAIdentityのパーミッションゲートウェイを通じてアクセスできます。
概要(Overview)
AIdentity MCP Serverは、ClaudeなどのAIアシスタントが外部ツールを安全に利用するための認証・認可基盤を提供します。Verifiable Credentialsを使用することで、AIエージェントの各アクションに対して細かい権限管理と監査ログの記録が可能になります。
なぜAIdentity MCPが必要なのか?
- セキュアな権限管理: AIエージェントが実行できるアクションを細かく制御
- 監査とトレーサビリティ: すべてのAIアクションを記録し、追跡可能に
- 柔軟なツール統合: Slack、GitHub、Gmail、Jiraなど、主要なツールをサポート
- エージェントメモリ: コンテキストを保持し、より賢いAIアシスタントを実現
主な機能(Features)
- ✅ MCP準拠サーバー: MCP v2024-11-05プロトコルを完全サポート
- ✅ セキュアなツール呼び出し: Verifiable Credentialsによる認証済みAPI呼び出し
- ✅ エージェントメモリ管理: 名前空間で分離されたメモリストレージと検索
- ✅ リソースブラウジング: エージェント、VC、メモリへのアクセス
- ✅ リアルタイム通信: StdIOベースの双方向通信
- ✅ VC管理: VCのリスト表示、キャッシュクリア機能
前提条件(Prerequisites)
- Node.js: 18.0.0以上
- AIdentityアカウント: AIdentity Dashboardでアカウント作成
- Claude Desktop: バージョン0.7.0以上(推奨)
インストール手順(Installation)
1. MCPB(MCPバンドル)のインストール
AIdentity MCP Serverは、MCPB(MCP Bundle)形式で配布されています。Claude Desktopに直接インストールできます。
Claude Desktopへのインストール
- Claude Desktopを開く
- Settings > Developer > MCP Servers に移動
- "Add Server" をクリック
- MCPBファイル(
aidentity.mcpb)を選択 - 設定画面が表示されます
API Key取得方法(Getting API Key)
AIdentity MCP Serverを使用するには、MCP API Keyが必要です。
手順
- AIdentity Dashboardにログイン
- https://dashboard.aidentity.ioにアクセス
- GitHubアカウントでサインイン
- プロジェクトを作成または選択
- 左サイドバーから "Projects" を選択
- 新規プロジェクトを作成するか、既存のプロジェクトを選択
- MCP API Keyを生成
- プロジェクト詳細画面で "Settings" タブを選択
- "MCP Integration" セクションに移動
- "Create MCP API Key" ボタンをクリック
- API Keyの名前を入力(例: "Claude Desktop")
- "Generate" をクリック
- API Keyをコピー
- 生成されたAPI Keyは
mcp_key_...の形式で表示されます - 重要: このKeyは一度しか表示されません。安全な場所に保存してください
- 生成されたAPI Keyは
- Project IDとUser IDを確認
- 同じ画面に Project ID (
proj_...) と User ID (user_...) が表示されます - これらもMCP設定に必要なので、メモしておいてください
- 同じ画面に Project ID (
設定方法(Configuration)
Claude Desktopでの設定
MCPBをインストール後、以下の設定項目を入力します:
{
"environment": "https://api.aidentity.io/v1",
"api_key": "mcp_key_xxxxxxxxxxxxxxxxxx",
"project_id": "proj_xxxxxxxxxx",
"user_id": "user_xxxxxxxxxx",
"log_level": "info"
}設定項目の説明
| 項目 | 説明 | 必須 | デフォルト値 |
|------|------|------|------------|
| environment | AIdentity APIのエンドポイント | ✅ | https://api.aidentity.io/v1 |
| api_key | MCP API Key(Dashboardで生成) | ✅ | - |
| project_id | プロジェクトID | ✅ | - |
| user_id | ユーザーID | ✅ | - |
| log_level | ログレベル(debug/info/warning/error) | ❌ | info |
Environment(環境)の選択
- Production:
https://api.aidentity.io/v1- 本番環境(推奨) - Development:
http://localhost:3000/v1- ローカル開発環境
手動設定(上級者向け)
Claude DesktopのMCP設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)を直接編集することもできます:
{
"mcpServers": {
"aidentity": {
"command": "node",
"args": [
"/path/to/aidentity.mcpb/server/dist/cli.js",
"stdio"
],
"env": {
"AIDENTITY_API_URL": "https://api.aidentity.io/v1",
"AIDENTITY_API_KEY": "mcp_key_xxxxxxxxxxxxxxxxxx",
"AIDENTITY_PROJECT_ID": "proj_xxxxxxxxxx",
"AIDENTITY_USER_ID": "user_xxxxxxxxxx",
"LOG_LEVEL": "info",
"NODE_ENV": "production"
}
}
}
}利用可能なツール(Available Tools)
AIdentity MCP Serverは、以下の6つのツールを提供します。
1. aidentity_call_tool
外部ツール(Slack、GitHub、Gmail、Jiraなど)をVC認証付きで呼び出します。
パラメータ:
{
tool: string; // ツール名(例: "slack", "github")
action: string; // アクション名(例: "postMessage", "createIssue")
parameters: object; // アクション固有のパラメータ
}使用例:
{
"tool": "slack",
"action": "postMessage",
"parameters": {
"channel": "#general",
"text": "Hello from AIdentity! 🎉"
}
}対応ツール:
- Slack: メッセージ送信、チャンネル管理、ユーザー情報取得
- GitHub: Issue作成、PR作成、リポジトリ管理
- Gmail: メール送信、受信、検索
- Jira: チケット作成、更新、検索
2. aidentity_issue_vc
ツールパーミッション用のVerifiable Credentialを発行します。
パラメータ:
{
type: "ToolPermissionVC"; // VC種別(現在は固定)
tool: string; // ツール名
action: string; // 許可するアクション
expiresInHours?: number; // 有効期限(時間)デフォルト: 24
}使用例:
{
"type": "ToolPermissionVC",
"tool": "github",
"action": "createIssue",
"expiresInHours": 24
}注意点:
- VCは発行後、ローカルにキャッシュされます
- 期限切れのVCは自動的に無効化されます
- 同じツール・アクションの組み合わせで複数回発行すると、古いVCは上書きされます
3. aidentity_store_memory
エージェントメモリに情報を保存します。
パラメータ:
{
content: string; // 保存する内容
metadata?: object; // メタデータ(任意)
tags?: string[]; // タグ(検索用)
}使用例:
{
"content": "ユーザーは朝のミーティングを好む",
"metadata": {
"category": "preferences",
"priority": "high"
},
"tags": ["user", "scheduling", "preferences"]
}用途:
- ユーザーの好みや設定を記憶
- 過去の会話のコンテキストを保存
- タスクの進捗状況を記録
4. aidentity_search_memory
エージェントメモリを検索します。
パラメータ:
{
query: string; // 検索クエリ
limit?: number; // 取得件数(デフォルト: 10)
tags?: string[]; // タグでフィルタ
}使用例:
{
"query": "ミーティングの好み",
"limit": 5,
"tags": ["preferences"]
}検索の仕組み:
- セマンティック検索: 意味的に類似した内容を検索
- タグフィルタ: 特定のタグが付いたメモリのみを取得
- 関連度順: 最も関連度の高い結果から返却
5. aidentity_vc_list
現在のエージェントがキャッシュしているVerifiable Credentialsをリスト表示します。
パラメータ:
{
includeExpired?: boolean; // 期限切れVCも含めるか(デフォルト: false)
}使用例:
{
"includeExpired": false
}表示内容:
- ツール名とアクション
- 発行日時と有効期限
- 有効/期限切れステータス
- VC ID
6. aidentity_vc_clear
キャッシュされたVerifiable Credentialsをクリアします。
パラメータ:
{
clearAll?: boolean; // すべて削除するか(デフォルト: false)
}使用例:
{
"clearAll": false // 期限切れVCのみ削除
}オプション:
clearAll: false(デフォルト): 期限切れVCのみを削除clearAll: true: すべてのVCを削除(権限リセット)
用途:
- 期限切れVCの自動クリーンアップ
- エージェント権限の完全リセット
- キャッシュストレージの解放
使い方(Usage Examples)
例1: Slackメッセージを送信する
ユーザー: Slackの#generalチャンネルに「プロジェクトが完成しました!」というメッセージを送って
Claude: 了解しました。Slackにメッセージを送信します。
まず、Slack用のVCを発行します...
[aidentity_issue_vc を実行]
VCを取得しました。メッセージを送信します...
[aidentity_call_tool を実行]
#generalチャンネルにメッセージを送信しました!例2: GitHubのIssueを作成する
ユーザー: GitHubのmyrepoリポジトリに「バグ修正: ログイン画面の問題」というIssueを作成して
Claude: GitHubでIssueを作成します。
まず、GitHub用のVCを発行します...
[aidentity_issue_vc を実行]
Issueを作成します...
[aidentity_call_tool を実行]
Issue #42 を作成しました!
https://github.com/username/myrepo/issues/42例3: ユーザーの好みを記憶して検索する
ユーザー: 私は毎週月曜日の10時にチームミーティングをしたいんだけど、これを覚えておいて
Claude: 了解しました。記憶しておきます。
[aidentity_store_memory を実行]
記憶しました!必要なときにいつでも思い出せます。
---
ユーザー: 私のミーティングの好みって何だっけ?
Claude: ミーティングの好みを検索します...
[aidentity_search_memory を実行]
あなたのミーティングの好みは以下の通りです:
- 毎週月曜日の10時にチームミーティング例4: VCの管理
ユーザー: 今持っているVCを見せて
Claude: 現在のVCをリスト表示します...
[aidentity_vc_list を実行]
以下のVCを保持しています:
1. Slack - postMessage(有効期限: 2026-01-29 10:00)
2. GitHub - createIssue(有効期限: 2026-01-29 12:00)
---
ユーザー: 期限切れのVCを削除して
Claude: 期限切れVCをクリアします...
[aidentity_vc_clear を実行]
期限切れVCを削除しました。トラブルシューティング(Troubleshooting)
問題1: MCPサーバーに接続できない
症状:
Failed to connect to MCP server: Connection refused解決方法:
API Keyが正しいか確認
# API Keyの形式: mcp_key_xxxxxxxxxxEnvironment URLが正しいか確認
- Production:
https://api.aidentity.io/v1 - Development:
http://localhost:3000/v1
- Production:
Claude Desktopを再起動
- Claude Desktopを完全に終了
- 再度起動してMCP接続を確認
ログを確認
# Claude Desktopのログディレクトリ ~/Library/Logs/Claude/
問題2: ツール呼び出しが失敗する
症状:
Error: Invalid or expired Verifiable Credential解決方法:
VCが発行されているか確認
Claude, show me my current VCsVCが期限切れの場合、再発行
Claude, issue a new VC for Slack postMessageVCキャッシュをクリア
Claude, clear all my VCs and reissue
問題3: メモリ検索で結果が見つからない
症状:
No matching memories found解決方法:
保存されたメモリを確認
Claude, list all my stored memories検索クエリを変更
- より一般的なキーワードを使用
- タグフィルタを外してみる
メモリを再保存
Claude, store this information again: [内容]
問題4: Project IDやUser IDがわからない
解決方法:
AIdentity Dashboardで確認
- https://dashboard.aidentity.ioにログイン
- プロジェクト詳細画面の "Settings" > "MCP Integration" に表示
IDの形式
- Project ID:
proj_で始まる - User ID:
user_で始まる
- Project ID:
問題5: Node.jsバージョンエラー
症状:
Error: Node.js version 18.0.0 or higher is required解決方法:
Node.jsバージョンを確認
node --versionNode.jsをアップデート
# nvmを使用している場合 nvm install 18 nvm use 18 # またはnodenvを使用している場合 nodenv install 18.0.0 nodenv global 18.0.0
デバッグモードの有効化
より詳細なログを確認したい場合、log_levelをdebugに設定してください:
{
"log_level": "debug"
}これにより、すべてのMCP通信とAPI呼び出しの詳細がログに記録されます。
セキュリティ(Security)
AIdentity MCP Serverは、以下のセキュリティ機能を実装しています。
認証・認可
- ✅ MCP API Key認証: すべてのAPI呼び出しはAPI Keyで認証
- ✅ Verifiable Credentials: ツール呼び出しには有効なVCが必須
- ✅ 細かい権限管理: ツールとアクションの組み合わせで権限を制御
- ✅ 有効期限管理: VCには有効期限があり、期限切れは自動無効化
データ保護
- ✅ エージェント分離: 各エージェントのコンテキストは完全に分離
- ✅ メモリ名前空間: メモリ操作は名前空間で分離
- ✅ ローカルキャッシュ: VCはローカルにのみキャッシュ(外部送信なし)
監査ログ
すべての操作は監査ログに記録されます:
- ツール呼び出し
- VC発行
- メモリ操作
- 認証イベント
ログはAIdentity Dashboardで確認できます。
ベストプラクティス
API Keyの管理
- API Keyは安全な場所に保存
- 定期的にローテーション
- 漏洩した場合は即座に無効化
VCの有効期限
- 必要最小限の期間を設定
- 長期間使用する場合は定期的に再発行
権限の最小化
- 必要なツール・アクションのみVCを発行
- 不要なVCは定期的にクリア
ログの監視
- 定期的に監査ログを確認
- 異常なアクティビティを検出
よくある質問(FAQ)
Q1: AIdentity MCP Serverは無料ですか?
A: 現在、ベータ版として無料で提供しています。将来的には、使用量に応じた料金プランを導入する予定です。
Q2: どのAIアシスタントで使用できますか?
A: 現在、以下のプラットフォームをサポートしています:
- Claude Desktop(推奨)
- Cursor
- その他MCP対応のAI開発環境
Q3: 対応しているツールは?
A: 現在、以下のツールをサポートしています:
- Slack
- GitHub
- Gmail
- Jira
今後、さらに多くのツールを追加予定です。リクエストがあればサポートまでご連絡ください。
Q4: VCの有効期限はどのくらいですか?
A: デフォルトでは24時間です。expiresInHoursパラメータで1時間〜168時間(7日)の範囲で設定できます。
Q5: エージェントメモリはどこに保存されますか?
A: メモリはAIdentityのクラウドサーバーに暗号化して保存されます。各エージェントのメモリは完全に分離されており、他のエージェントからはアクセスできません。
Q6: 複数のプロジェクトで使用できますか?
A: はい。プロジェクトごとに異なるAPI Keyを発行し、Claude Desktopの設定で切り替えることができます。
Q7: オンプレミス環境で使用できますか?
A: エンタープライズプランでは、オンプレミス環境へのデプロイをサポートする予定です。詳細はサポートまでお問い合わせください。
Q8: API Keyを紛失しました。どうすればいいですか?
A: API Keyは再表示できません。AIdentity Dashboardで古いKeyを無効化し、新しいKeyを発行してください。
Q9: VCキャッシュはどこに保存されますか?
A: VCは以下のディレクトリにローカルキャッシュされます:
- macOS:
~/Library/Application Support/AIdentity/vc-cache/ - Windows:
%APPDATA%/AIdentity/vc-cache/ - Linux:
~/.config/AIdentity/vc-cache/
Q10: Claude Desktop以外のアプリケーションでも使用できますか?
A: はい。MCP v2024-11-05プロトコルをサポートする任意のアプリケーションで使用できます。詳細は開発者ドキュメントをご覧ください。
サポート(Support)
ドキュメント
- 公式ドキュメント: https://docs.aidentity.io
- API リファレンス: https://docs.aidentity.io/api
- MCPプロトコル仕様: https://modelcontextprotocol.io
コミュニティ
- Discord: https://discord.gg/aidentity
- GitHub Discussions: https://github.com/vesslabs/aidentity/discussions
- Twitter: @AIdentity_io
お問い合わせ
- メール: [email protected]
- 問題報告: GitHub Issues
- 機能リクエスト: GitHub Discussions
サポート時間
- メールサポート: 平日 9:00-18:00 (JST)
- Discordコミュニティ: 24時間対応(コミュニティメンバーによる)
- 緊急対応: エンタープライズプランのみ
ライセンス
MIT License
Copyright (c) 2026 VESS Labs, Inc.
貢献
プロジェクトへの貢献を歓迎します!詳細はCONTRIBUTING.mdをご覧ください。
AIdentity MCP Server - Secure AI Agent Tool Delegation with Verifiable Credentials
Made with ❤️ by VESS Labs
