チャット統合のヒントとベストプラクティス
ChatGPT、Claude Chat、その他のAIプラットフォームでKagura AIを最大限に活用する
このガイドは、Remote MCP (Model Context Protocol) を使用してチャットベースのAIプラットフォームと統合する際に、Kagura AIを最大限に活用するためのものです。
📋 概要
Kagura AIとは?
Kagura AIは、Claude、ChatGPT、Gemini、そしてすべてのAIエージェント間で会話とナレッジを共有できる、ユニバーサルメモリープラットフォームです。
主な機能: - 🧠 ユニバーサルメモリー: すべてのAIプラットフォーム間で情報を保存・呼び出し - 🔍 スマート検索: ベクトル埋め込み + BM25によるセマンティック検索 - 📊 ナレッジグラフ: メモリー間の関係を追跡 - 🌐 Web統合: Web、YouTube、arXivを直接検索 - 🎨 マルチモーダル: 画像、PDF、音声のインデックス化と検索 - 💻 コーディングサポート: ファイル変更、エラー、設計決定を追跡
Remote MCP vs Local MCP
| 機能 | Remote MCP | Local MCP |
|---|---|---|
| プラットフォーム | ChatGPT、Claude Chat、Gemini | Claude Desktop、Claude Code、Cursor |
| トランスポート | HTTP/SSE | stdio |
| ファイルアクセス | ❌ なし | ✅ あり |
| メモリーツール | ✅ 全て (49/56) | ✅ 全て (56/56) |
| セキュリティ | API Key必須 | ローカルのみ |
このガイドはRemote MCP (ChatGPT、Claude Chatなど) に焦点を当てています。
⚡ クイックスタート
Step 1: Kagura Remote MCPサーバーを起動
# Kaguraをインストール
pip install kagura-ai[full]
# Remote MCPサーバーを起動
docker compose -f docker-compose.prod.yml up -d
# または開発モード
uvicorn kagura.api.server:app --host 0.0.0.0 --port 8080
Step 2: AIプラットフォームを設定
ChatGPT (MCP over HTTP/SSE経由):
1. ChatGPT設定 → ツール を開く
2. MCPサーバーを追加: https://your-domain.com/mcp
3. API Keyを追加 (オプション、本番環境では推奨)
Claude Chat (将来サポート予定): - Anthropicは2026年にClaude Chat向けMCPサポートを発表
参照: MCP over HTTP/SSE セットアップガイド
Step 3: 試してみよう!
AIチャットで以下のプロンプトを試してください:
"こんにちは! memory_stats を実行してKaguraのステータスを表示できますか?"
"私のお気に入りのプログラミング言語はPythonであることを覚えておいて"
"Python 3.13のリリースノートをWebで検索して"
"私の好みについて何を覚えていますか?"
🧰 Remote MCPツール (49/56)
✅ 利用可能なツール
メモリーツール (13ツール)
| ツール | 説明 | 使用例 |
|---|---|---|
memory_store |
情報を保存 | "Xを覚えておいて" |
memory_recall |
キーで取得 | "Yについて何と言いましたか?" |
memory_search |
セマンティック検索 | "Zに関するメモリーを検索" |
memory_list |
全メモリーをリスト | "何を覚えていますか?" |
memory_delete |
情報を忘れる | "Xについて忘れて" |
memory_feedback |
有用/古いとマーク | 自動 |
memory_fetch |
特定のメモリーを取得 | 内部使用 |
memory_search_ids |
IDのみで検索 | 低トークン検索 |
memory_stats |
メモリー統計を取得 | "メモリー統計を表示" |
memory_get_related |
関連メモリーを取得 | グラフトラバーサル |
memory_get_user_pattern |
ユーザーパターンを分析 | "私の興味は何?" |
memory_record_interaction |
インタラクションを追跡 | 自動 |
Web検索ツール (5ツール)
| ツール | 説明 |
|---|---|
brave_web_search |
一般的なWeb検索 |
brave_image_search |
画像検索 |
brave_video_search |
動画検索 |
brave_news_search |
ニュース検索 |
web_scrape |
Webページをスクレイピング |
注: BRAVE_API_KEY 環境変数が必要
アカデミック検索 (1ツール)
| ツール | 説明 |
|---|---|
arxiv_search |
arXivで学術論文を検索 |
YouTubeツール (4ツール)
| ツール | 説明 | 例 |
|---|---|---|
get_youtube_transcript |
動画の文字起こしを取得 | "この動画を文字起こしして" |
get_youtube_metadata |
動画情報を取得 | "動画の詳細を取得" |
youtube_summarize |
動画を要約 | "このYouTube動画を要約して" |
youtube_fact_check |
主張を検証 | "この動画の主張を事実確認して" |
マルチモーダルツール (2ツール)
| ツール | 説明 | 注意 |
|---|---|---|
multimodal_index |
画像/PDF/音声をインデックス化 | Gemini API必須 |
multimodal_search |
インデックス化されたコンテンツを検索 | Gemini API必須 |
注: Remote MCP経由のファイルアップロードはv4.1で提供予定 (Issue #462)
コーディングツール (14ツール)
| ツール | 説明 |
|---|---|
coding_start_session |
コーディングセッションを開始 |
coding_end_session |
セッション終了 + AI要約 |
coding_track_file_change |
ファイル変更を追跡 |
coding_record_error |
スタックトレース付きでエラーを記録 |
coding_search_errors |
過去の類似エラーを検索 |
coding_record_decision |
設計決定を記録 |
coding_analyze_patterns |
コーディング設定を分析 |
coding_analyze_file_dependencies |
ASTベースの依存関係分析 |
coding_analyze_refactor_impact |
リファクタリング影響評価 |
coding_suggest_refactor_order |
安全なリファクタリング順序 |
coding_get_project_context |
プロジェクト概要を取得 |
coding_get_issue_context |
GitHub issue詳細を取得 |
coding_link_github_issue |
セッションをissueにリンク |
coding_generate_pr_description |
AI生成PR説明 |
GitHubツール (6ツール)
| ツール | 説明 |
|---|---|
github_exec |
安全なGitHub CLI実行 |
github_issue_list |
issueをリスト |
github_issue_view |
issue詳細を表示 |
github_pr_view |
PR詳細を表示 |
github_pr_create |
PRを作成 |
github_pr_merge |
PRをマージ |
注: gh CLIのインストールと認証が必要
テレメトリーツール (2ツール)
| ツール | 説明 |
|---|---|
telemetry_stats |
使用統計を取得 |
telemetry_cost |
コストサマリーを取得 |
その他のツール (2ツール)
| ツール | 説明 |
|---|---|
fact_check_claim |
Web検索を使用して主張を検証 |
route_query |
適切なエージェントにルーティング (プレースホルダー) |
❌ ローカル専用ツール (7ツール)
これらのツールはLocal MCPでのみ動作します (Claude Desktop、Claude Code、Cursor):
| ツール | なぜローカル専用? | 代替手段 |
|---|---|---|
file_read |
直接ファイルシステムアクセス | コンテンツをコピー&ペースト |
file_write |
直接ファイルシステムアクセス | 出力をコピー&ペースト |
dir_list |
直接ファイルシステムアクセス | 手動でファイルをリスト |
shell_exec |
シェルコマンド実行 | GitHub CLIは github_exec を使用 |
media_open_image |
OSアプリケーションを開く | 該当なし |
media_open_audio |
OSアプリケーションを開く | 該当なし |
media_open_video |
OSアプリケーションを開く | 該当なし |
将来: Remote MCP経由のファイルアップロードはv4.1で計画中 (Issue #462)
💡 推奨ワークフロー
パターン1: 小さなデータ (コンテキストに保持) 🔵
いつ使うか: 現在の会話でのみ必要な少量の情報
方法:
メリット: 高速、オーバーヘッドなし デメリット: 会話終了後に失われる
パターン2: 重要なデータ (永続的メモリー) ⭐ 推奨
いつ使うか: 長期的に覚えておきたい情報
方法:
ユーザー: "バックエンドプロジェクトではDjangoよりもFastAPIを好むことを覚えておいて。
これは重要で永続的である必要があります。"
AI: [scope="persistent"でmemory_storeを使用]
後で:
メリット: - 会話を超えて存続 - すべてのAIプラットフォームで動作 - セマンティックに検索可能
デメリット: 覚えておくための明示的な指示が必要
ベストプラクティス: - "覚えて"、"保存"、"永続化"などのキーワードを使用 - 明示的に: "これは重要です" - コンテキストを追加: "バックエンドプロジェクト用"
パターン3: 大きなデータ (マルチモーダルRAG) 🚀
いつ使うか: 大きなドキュメント、画像、複数ファイル
方法 (Gemini API必須):
ユーザー: "./photosディレクトリ内のすべての画像をインデックス化して"
AI: [multimodal_indexを使用]
ユーザー: "犬が写っている写真を検索して"
AI: [multimodal_searchを使用]
メリット: - 大規模なデータセットを処理 - セマンティック画像検索 - 多言語サポート
デメリット: - Gemini APIキーが必要 - Remote MCP経由のファイルアップロードはまだ利用不可 (v4.1で提供予定)
現在の回避策: ファイルのインデックス化にはLocal MCP (Claude Desktop) を使用
📝 プロンプト例 (コピー&ペースト)
メモリー操作
保存:
"私のプロジェクトの締切は2025年12月31日であることを覚えておいて。これは重要です。"
"この情報を保存: 私はAcme CorpでPython開発者として働いています"
"私のコーディングスタイルの設定を覚えておいて: 常に型ヒントとdocstringを使用"
検索:
"私のプロジェクトの締切について何を覚えていますか?"
"私のコーディング設定に関連するすべてのメモリーを検索"
"私について何を知っていますか?"
"'python'でタグ付けされたすべてのメモリーを表示"
削除:
統計:
Web検索
最新ニュース:
比較:
画像:
YouTube
要約:
ファクトチェック:
文字起こし:
コーディング
セッション開始:
変更の追跡:
エラーの記録:
過去のエラーを検索:
セッション終了:
GitHub
Issueのリスト:
詳細表示:
安全な実行:
🌍 クロスプラットフォームメモリー
user_id管理
ベストプラクティス: 個人的なメモリーには常に user_id を指定
# ✅ 良い
memory_store(
user_id="user_jfk",
key="python_preference",
value="DjangoよりもFastAPIを好む"
)
# ❌ 悪い (デフォルトユーザーを使用)
memory_store(
key="python_preference",
value="DjangoよりもFastAPIを好む"
)
プロンプト例:
agent_nameスコーピング
agent_nameでメモリースコープを制御:
グローバルメモリー (すべての会話で共有):
スレッド固有メモリー (この会話のみ):
プロンプト例:
メモリースコープ
ワーキングメモリー (一時的、セッションのみ):
永続的メモリー (ディスクに保存、再起動後も存続):
プロンプト例:
❓ よくある質問 (FAQ)
Q: なぜファイルを添付できないのですか?
A: Remote MCP (ChatGPT、Claude Chat) は現在、ファイルアップロードをサポートしていません。
回避策: 1. ファイルの内容をチャットに直接コピー&ペースト 2. ファイル操作にはLocal MCP (Claude Desktop、Claude Code) を使用 3. v4.1のマルチモーダルアップロードAPIを待つ (Issue #462)
Q: 会話が終わるとメモリーが消えてしまいます。なぜですか?
A: scope="working" (一時データのデフォルト) を使用している可能性があります。
解決策: 明示的に永続化を依頼:
またはプロンプトで指定:
Q: 異なるAIプラットフォーム間でメモリーを共有するには?
A: user_idを一貫して使用:
-
ChatGPT:
-
Claude Chat (同じuser_id):
両方のAIが同じKaguraメモリーにアクセスします!
Q: 検索結果が不正確です。どうすれば改善できますか?
A: より良い検索のためのヒント:
-
セマンティック検索を使用 (正確なキーワードではなく):
-
保存時にタグを追加:
-
ハイブリッド検索を使用 (BM25 + ベクトル):
-
フィードバックを提供:
Q: どのくらいコストがかかりますか?
A: Kagura AIはオープンソースで、セルフホストは無料です。
コスト: - セルフホスティング: 無料 (ローカルのChromaDBを使用) - クラウドホスティング: サーバーコスト (AWS、DigitalOceanなど) - AI API: - 埋め込み用のOpenAI/Anthropic/Google API (オプション) - Brave Search API (オプション、無料層あり) - マルチモーダル用のGemini API (オプション)
コスト追跡:
Q: 私のデータはプライベートですか?
A: はい! Kaguraはプライバシー第一です:
- ✅ セルフホスト: データはあなたのもの
- ✅ ローカルストレージ: あなたのマシン上のSQLite + ChromaDB
- ✅ ベンダーロックインなし: いつでもエクスポート (JSONL形式)
- ✅ オープンソース: コードを自分で監査可能
データのエクスポート:
🔧 トラブルシューティング
メモリーが見つからない
症状: "Xについてのメモリーがありません"
原因:
1. 間違った user_id
2. 間違った agent_name
3. メモリーが scope="working" として保存され、セッションが終了した
デバッグ:
検索結果が何も返さない
症状: memory_search が空の結果を返す
解決策: 1. メモリーが存在するか確認:
-
異なる検索クエリを試す:
-
正確なキーには
memory_recallを使用:
高いAPIコスト
症状: 埋め込みAPIコストが高い
解決策: 1. ローカル埋め込みを使用 (sentence-transformers):
- 検索頻度を減らす:
memory_searchの代わりにmemory_recall(正確なキー) を使用-
memory_search_ids(低トークンモード) を使用 -
コストを監視:
Remote MCP接続が失敗する
症状: AIがKaguraに接続できない
デバッグ: 1. サーバーが実行中か確認:
-
API keyを確認 (認証を使用している場合):
-
ログを確認:
参照: トラブルシューティングガイド
🚀 上級のヒント
1. ナレッジディスカバリーのためのGraphMemory
関連メモリーをリンク:
関係を発見:
2. パターン分析
インタラクションを分析:
インサイトを取得:
3. セッションサマリー
コーディングセッションを追跡:
PR説明を生成:
4. ファクトチェックワークフロー
主張を検証:
ソースをクロスリファレンス:
🔗 関連ドキュメント
- セットアップガイド:
- MCP over HTTP/SSE (ChatGPT)
- Claude Desktopセットアップ
-
プラットフォーム固有のワークフロー:
- ChatGPTワークフロー例
-
技術リファレンス:
- REST APIリファレンス
- セルフホスティングガイド
-
上級トピック:
- メモリーエクスポート/インポート
- トラブルシューティングガイド
📚 追加リソース
公式リンク
コミュニティ
- GitHub Issues - バグレポート&機能リクエスト
- GitHub Discussions - Q&A&コミュニティ
Version: 4.0.0 Last updated: 2025-11-02