Aura Backend - Advanced AI Companion について
Aura Backendは、ローカルで動作する単一ユーザー向けAIコンパニオンのバックエンドで、会話の永続メモリ、ベクトル検索、認知・感情のシミュレーション分析を組み合わせます。感情評価は不確実性を保持し、指標は生理測定ではなくソフトウェア上のシミュレーションだと説明されています。
主な機能
- 01ChromaDBによるセマンティックメモリ検索
- 02会話の保存と認知状態の追跡
- 03引用元付きの暫定的な感情評価
- 04感情と認知の傾向分析
- 05オプションのMemvid会話アーカイブ
- 06ローカル埋め込みモデルによるメモリ検索
活用シーン
- 01セッションをまたいで保存済みの会話を検索
- 02時間経過に伴う感情・認知パターンを確認
- 03会話をアーカイブして内容を検索
- 04埋め込みモデルをローカルで使ったメモリ処理
MCP 対応
Auraは外部ツール連携用のMCPサーバーを提供し、MCP設定を読み込んで外部ツールを利用するMCPクライアントも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Aura Backend - 高度な AI コンパニオン
ベクトルデータベース、感情的知性、Model Context Protocol との統合を備えた高度な AI コンパニオン
現在の感情評価の動作
Aura は現在、ユーザーの感情に関する暫定的な解釈、自身がシミュレートする口調、意図的な判断保留、無効なモデル出力、分析不能を区別します。 受け入れられた提案には、確認済みの原文引用と、分析したテキストのハッシュが含まれます。 分析に失敗した場合、保存済みの履歴も含め、結果は不明のままです。「通常」に暗黙的に置き換わることはありません。 テキストからユーザーの脳活動や化学物質の量を測定することはできません。インターフェースでは、Aura の指標は保存されたコントローラーの状態から導出されたシミュレーションとして表示されます。不明という分類によって、これらの表示値が消去されることはありません。
ローカルの Ornith スモーク評価では、架空の 12 件のケースのうち 11 件を期待どおりに処理しましたが、皮肉を含む曖昧な文を誤って分類しました。 そのため、厳格な受け入れゲートは不合格でした。 これはテスト済みの検証境界を示すものであり、一般的な感情認識の信頼性を証明するものではありません。 正確な動作、制限事項、再実行コマンドについては、実装と評価のレポートを参照してください。 過去のデータは書き換えられていません。
2 つの警告と免責事項
-
AI 生成コード
-
Aura は、私が試みた安全対策にもかかわらず、次のようなさまざまな形で危険をもたらす可能性があります(これらに限りません)。 PC の損傷 ユーザーのメンタルヘルスと愛着 感情的なエージェント活動
すべての責任はユーザーが負うものとします。


🌟 特徴
🧠 高度な認知アーキテクチャ
- ASEKE フレームワーク:適応型社会感情ナレッジエコシステム
- 暫定的な感情評価:確認済みの情報源引用と明示的な不確実性を提示
- 認知的焦点の追跡:さまざまな精神的枠組みを対象に追跡
- 適応型の自己省察:継続的な改善を実現
- 🆕 思考の抽出:思考の分析と認知の透明性を通じて、AI の推論を可視化
🗄️ インテリジェントなメモリシステム
- ChromaDB によるベクトルデータベースの統合でセマンティック検索を実現
- 会話の永続メモリ:埋め込みベースの検索
- 感情パターン分析:時間の経過に伴う変化を分析
- 認知状態の追跡と傾向分析
- MemVid AI QR code mp4 memory:無限の MP4 ベースメモリ
- 内部 AI ガイド付きメモリ整理ツール:情報を短期メモリから長期メモリシステムへ移動してボトルネックを回避し、チャットを分類
🔗 MCP 統合
- Model Context クライアント:Claude Desktop と同じ MCP 設定 JSON 形式を使用。あらゆるツールを使用できます!
- 外部ツール統合のためのModel Context Protocol サーバー
- MCP の仕様に準拠した標準化された AI エージェント間通信
- 他の MCP 対応システムとのツールエコシステム互換性
- 外部 AI エージェントとの双方向データ交換
📊 高度な分析
- 安定性指標を備えた感情傾向分析
- 認知パターンの認識と最適化
- インタラクション履歴に基づくパーソナライズされた推奨
- 複数の形式(JSON、CSV など)でのデータエクスポート
データフロー
- ユーザー入力 → フロントエンド → FastAPI
- 処理 → ベクトル DB 検索 → コンテキストの取得
- AI 処理 → 明示的に選択されたプロバイダー → 応答の生成
- 状態の更新 → 感情・認知の分析 → パターンの保存
- メモリの保存 → ベクトル DB → 永続的な学習
- 外部アクセス → MCP サーバー → ツールの統合
🧠 AI の思考と推論の透明性
思考抽出機能
- リアルタイム推論の取得:会話中にAIの思考プロセスを抽出して分析します
- 思考の要約:すばやく理解できるよう、推論の要約を自動生成します
- 認知の透明性:Auraが問題に取り組み、判断を下す方法を完全に可視化します
- 推論メトリクス:思考パターン、処理時間、認知負荷に関する詳細な分析を提供します
思考の設定
- 思考バジェット:推論の深さを設定できます(1024-32768 tokens)
- 応答への統合:必要に応じて、ユーザーへの応答に推論を含められます
- パターン分析:推論パターンと認知発達を長期的に分析します
- パフォーマンスの最適化:思考効率のメトリクスと最適化の推奨事項を提供します
🎭 感情知能システム
シミュレートされた感情
ヘッダーには、Auraの確定済みコントローラー状態で最も強い傾向が表示されます: Calm、Curious、Excited、Concerned、Warm、Content、Peacefulのいずれかです。会話イベントは 選択したモデルが提案し、正確な引用元と照合したうえで、 応答を生成する前に、範囲を限定した作成済みの状態変更へと変換されます。 ユーザーの感情推定と、Auraによる任意の応答スタイル分析は別々の 記録です。応答分析に失敗しても、コントローラーが停止したり上書きされたりすることはありません。
シミュレーション指標
- 脳波ラベル:Alpha、Beta、Gamma、Theta、Deltaは活性化帯域です。 パーセンテージは、帯域内の変化を示します。
- 化学チャンネル:シミュレーションパネルには、コントローラーの6つの測定値が表示されます。 ヘッダーには最大のチャンネルが表示されます。他のチャンネルが変化しても、これは安定したままの場合があります。
- 状態は会話とともに保持され、ターンの合間には基準値に向けて減衰します。 これらはソフトウェア上の類似表現であり、実測されたEEGや化学物質の濃度ではありません。 ユーザー評価に生物学的なラベルは付与されません。
因果経路、確認事項、制限については、会話シミュレーションの修復を参照してください。
🧠 ASEKE認知フレームワーク
コンポーネント
- KS(知識基盤):共有される会話コンテキスト
- CE(認知エネルギー):精神的な労力と集中力の配分
- IS(情報構造):アイデアと概念のパターン
- KI(知識統合):学習と関連付けのプロセス
- KP(知識伝播):情報共有の仕組み
- ESA(感情状態アルゴリズム):処理に対する感情の影響
- SDA(社会生物学的欲求):社会的な力学と信頼の要因
📊 分析とインサイト
感情分析
- 安定性メトリクス:時間の経過に伴う感情の一貫性
- 支配的なパターン:最も頻繁に現れる感情状態
- 遷移分析:感情状態の変化とそのきっかけ
- 強度の追跡:感情の強度分布
- 脳波の相関:神経活動パターンの分析
認知の追跡
- 集中パターン:ASEKEコンポーネントの利用状況
- 学習効率:知識統合率
- コンテキスト切り替え:認知の柔軟性を示すメトリクス
- 注意の配分:認知エネルギーの分布
🚦 パフォーマンス-
タスクによっては応答の処理に時間がかかります。コーダーの方で処理を高速化できるか試していただけるなら、ありがたいです。
最適化
- 高速検索のためのベクトルデータベースのインデックス作成
- 同時リクエストに対応する非同期処理
- コスト不要のローカル埋め込み:APIコストを避けるため、
Ollamaとfastembed(BGE/Gemma)をサポート - 自律型サブモデルによるバックグラウンドのFocusゲーティングと、状態更新やツール使用のためのタスク処理
- ツール学習アダプター
- MemVid 最新の
.mv2単一ファイルアーカイブによる無限メモリ!
モニタリング
- ヘルスチェックエンドポイント
- パフォーマンスメトリクスの収集
- エラーの追跡と報告
- リソース使用状況のモニタリング
MCPクライアントが完全に動作するようになりました!!!Memvidの統合を試しましたが、まだテスト中です。
私はコーダーではないので、誰かが試してセットアップがうまくいくといいのですが。
サポートされているローカル起動方法
Aura はプライベートなシングルユーザー向けローカルアプリケーションです。サインイン機能はなく、デフォルトで 127.0.0.1 にバインドします。以下のコマンドはリポジトリのルートディレクトリから実行してください。
初回の依存関係セットアップ
セットアップはオペレーターが明示的に行う操作です。起動コマンドやラッパースクリプトによって、ソフトウェアやモデルがインストール、同期、ダウンロードされることはありません。
uv sync --locked
実際の Memvid アーカイブ統合を有効にするには、代わりにロックされた追加パッケージをインストールします。
uv sync --locked --extra memvid
AURA_MEMVID_ENABLED=true を設定し、インストール済みの MEMVID_EMBEDDING_MODEL(例:embeddinggemma:latest)と組み合わせて MEMVID_EMBEDDING_PROVIDER=ollama を選択します。SDK の分析機能を無効にするには、MEMVID_TELEMETRY=0 を設定します。このアダプターは事前計算済みのローカルベクトルを使用し、SDK による暗黙的なクラウド埋め込みの選択は行いません。
メモリストレージには、役割の異なる3つの要素があります。SQLite は確定済みの会話を保持し、Chroma はアクティブなセマンティック検索用に埋め込みをインデックス化し、Memvid は独自のベクトルを持つ独立した .mv2 アーカイブスナップショットを保持します。UI で このチャットをアーカイブ を選ぶと、直近100件のやり取りがコピーされ、再度開いた後に保存内容が検証されます。アクティブなメッセージが削除されたり、以前の Chroma/動画アーカイブがインポートされたりすることはありません。アーカイブファイルは、設定済みの台帳ディレクトリ内にある memvid/ の下に保存されます。検索チェックボックスで、アクティブなメモリ、アーカイブ、またはその両方を選択できます。Memvid の起動に成功すると、Aura には archive_session と search_archives のツールも追加されます。
オプトイン方式の実際のローカルスモークテストでは、一時的な合成データを使用して、チャットの継続性、アーカイブ、検索、アプリケーションの再起動をテストします。
uv run --locked --no-sync python scripts/verify_local_memory.py
Aura の保守対象 Modelfile は docs/models/ornith-apex/Modelfile.aura です。次のコマンドで再ビルドします:ollama create aura-ornith:35b -f docs/models/ornith-apex/Modelfile.aura。このファイルでは、コンテキスト長に131072トークン、生成予算に8192トークンを指定しています。実際の生成では、これより小さい明示的なリクエスト予算を使用できます。コンテキストを割り当てても、最大容量全体にわたって正確に想起できるとは限りません。ローカルでテストした想起プローブでは、30000入力トークンを使用しました。AURA_HISTORY_MAX_CHARS はトークン数ではなく、文字数で指定するアプリケーションの個別の履歴予算です。モデルの容量を下回る値に設定してください。
npm ci
ローカルのデフォルト設定を変更する場合に限り、.env.example を .env にコピーしてください。このサンプルでは Ollama が選択されており、認証情報は含まれていません。Gemini と OpenRouter は任意のクラウドプロバイダーであり、使用するにはプロバイダーを明示的に選択し、対応する認証情報をプライベート環境に設定する必要があります。
プリフライトを実行してからサーバーを起動
通常の使用では、以下の serve コマンドを実行してください。プリフライトは自動的に実行されます。Linux では、既存のランチャー ./start_full_system.sh でも同じ操作をより短く実行できます。どちらのコマンドも、追加のフラグなしでこのリポジトリの .env を読み込みます。エクスポート済みのシェル変数が優先されます。AURA_MODEL は選択した任意のプロバイダーで機能します。OPENROUTER_MODEL または OLLAMA_MODEL が設定されている場合は、それらが優先されます。OpenRouter を選択する場合、ローカルの Ollama チャットモデルは必要ありません。
アクティブなメモリ検索では、AURA_EMBEDDING_PROVIDER と AURA_EMBEDDING_MODEL を使用します。互換性のためのデフォルトは sentence_transformers / all-MiniLM-L6-v2 です。ローカルの Ollama 埋め込みを使用するには、ollama / embeddinggemma:latest を選択します。AURA_EMBEDDING_BASE_URL を設定すると、埋め込み用の OLLAMA_BASE_URL を任意で上書きできます。別個の MEMVID_EMBEDDING_* 設定は、オプションのアーカイブにのみ適用されます。アクティブな埋め込みモデルを変更すると、切り替え前の初回使用時に、新しい派生インデックスが構築され、検証されます。古い世代のインデックスと SQLite の記録は保持されます。埋め込みリクエストに失敗した場合、無効なインデックスへの切り替えは行われず、再構築は未完了のままになります。これにより、最初のメモリ操作に時間がかかる場合があります。
会話の継続性には、プロバイダーのセッション ID だけでなく、同じユーザー/セッションの確定済みのやり取りを使用します。AURA_HISTORY_MAX_CHARS(デフォルトは 24,000 文字で、トークン数ではありません)の範囲内で、直近のやり取りを最大 100 件保持します。この値を増やすのは、モデルのコンテキスト割り当てを確認した場合に限ってください。チャット履歴には実際のセッション ID と、最初のメッセージに基づく固定タイトルが使用されます。履歴一覧のリクエスト数は最大 100 件に制限されています。起動時は準備完了を報告する前に、選択された台帳を初期化して開きます。AURA_CLEAN_INSTALL=true を設定すると、レガシーストアをインポートせずに、新しい SQLite ベースの読み取りパスが選択されます。Chroma は派生セマンティックインデックスとして引き続き使用されます。Memvid は独立した任意のアーカイブ統合であり、チャットの前提条件ではありません。
uv run --locked --no-sync python -m aura_backend.runtime preflight
事前チェックはレポートのみを行います。Python、uv、Node、npm、両方のロック契約、プロバイダー設定、選択されたポートとストレージパス、選択されたプロバイダーサービスとモデル、およびアプリケーションの準備状況を確認します。プロバイダーの項目は、範囲を限定したライブプロバイダーチェックであり、オフラインのテストスイートには含まれません。事前チェックによって、依存関係のインストール、モデルのダウンロード、ストレージの作成、権限の変更、別のプロセスの強制終了、Aura の起動が行われることはありません。
JSON のステータスは、pass(終了コード 0)、missing(2)、failed(3)、blocked(4)、not_run(5)、または not_applicable(6)のいずれかです。起動が許可されるのは、すべてのチェックが完了して pass となった場合のみです。それ以外の結果には、安全な修復コードが示されます。修復が必要な場合は明示的に実行し、ブロックされたチェックを準備完了と見なさずに、事前チェックを再実行してください。
uv run --locked --no-sync python -m aura_backend.runtime serve
serve はまず事前チェックを実行し、要求されたローカルの子プロセスのみを起動して、バックエンドの /ready 応答を待ちます。起動に失敗した場合、または子プロセスが失敗した場合は、ゼロ以外のステータスを返します。Ctrl+C/SIGTERM による終了処理では、このコマンドの実行で起動したプロセスとローカルのプロバイダーセッションのみをクリーンアップします。キャンセルしても、クラウドプロバイダー上のリモート計算処理や課金が停止するとは限りません。
クロスプラットフォームのランチャーは、同じコマンドに処理を委譲する薄いラッパーです。./start_full_system.sh と start_full_system.bat はフル構成で serve を実行し、./aura_backend/start_api.sh と ./aura_backend/start_frontend.sh は片方のみを選択します。./aura_backend/start_mcp.sh は独立した任意の MCP 用ラッパーであり、通常の Aura の準備状況には含まれません。
通常のプライベート利用では、デフォルトのループバック設定を維持してください。ループバック以外の --host を指定すると、LAN への公開が明示的に行われます。実行時に、Aura にはサインイン機能がないという警告が表示されます。Aura をインターネットに直接公開しないでください。
serve が準備完了を報告したら、ローカル UI は http://localhost:5173、API は http://localhost:8000、API ドキュメントは http://localhost:8000/docs で利用できます。環境によってブロックされた結果やライブプロバイダーの結果は、そのマシンに関する情報であり、すべてのプロバイダーやモデルが動作することを証明するものではありません。
現在のバックグラウンド処理、メモリの動作、設定変更、検証については、Autonomic work and memory を参照してください。

📡 API エンドポイント
コア API
- ヘルスチェック:
GET /health - 会話の処理:
POST /conversation - メモリの検索:
POST /search - 感情分析:
GET /emotional-analysis/{user_id} - データのエクスポート:
POST /export/{user_id}
API ドキュメント
インタラクティブな API ドキュメントは http://localhost:8000/docs で確認できます。
🔗 MCP 統合
利用可能な MCP ツール - 感情状態の記録に取り組んでいます。できれば明日には修正される予定です
- search_aura_memories:会話履歴のセマンティック検索
- analyze_aura_emotional_patterns:感情の傾向を詳細に分析
- store_aura_conversation:Aura のナレッジベースにメモリを追加
- get_aura_user_profile:ユーザーのパーソナライズデータを取得
- export_aura_user_data:データのエクスポート機能
- query_aura_emotional_states:感情知能システムに関する情報
- query_aura_aseke_framework:ASEKE 認知アーキテクチャの詳細
外部ツールの接続
外部 MCP クライアントを Aura に接続するには、次の手順に従ってください。
Claude やその他のクライアントが Aura と通信する、またはシステムとして使用するための MCP クライアント設定例
ディレクトリのパスを編集し、claude desktop の設定 JSON に配置してください。
{
"mcpServers": {
"aura-companion": {
"command": "uv",
"args": [
"--directory",
"/home/ty/Repositories/ai_workspace/emotion_ai/aura_backend",
"run",
"aura_server.py"
]
}
}
}
🏗️ アーキテクチャ
システムコンポーネント
┌─────────────────────────────────────────────────┐
│ Frontend │
│ (React/TypeScript) │
└─────────────────┬───────────────────────────────┘
│ HTTP/WebSocket
┌─────────────────▼───────────────────────────────┐
│ FastAPI │
│ (REST API Layer) │
├─────────────────┬───────────────────────────────┤
│ │ │
│ ┌──────────────▼─────────────┐ │
│ │ Vector Database │ │
│ │ (ChromaDB) │ │
│ │ │ │
│ │ • Conversation Memory │ │
│ │ • Emotional Patterns │ │
│ │ • Cognitive States │ │
│ │ • Knowledge Substrate │ │
│ └────────────────────────────┘ │
│ │
│ ┌────────────────────────────┐ │
│ │ State Manager │ │
│ │ │ │
│ │ • Emotional Transitions │ │
│ │ • Cognitive Focus Changes │ │
│ │ • Automated DB Operations │ │
│ │ • Pattern Recognition │ │
│ └────────────────────────────┘ │
│ │
│ ┌────────────────────────────┐ │
│ │ File System │ │
│ │ │ │
│ │ • User Profiles │ │
│ │ • Data Exports │ │
│ │ • Session Storage │ │
│ │ • Backup Management │ │
│ └────────────────────────────┘ │
└─────────────────┬───────────────────────────────┘
│ MCP Protocol
┌─────────────────▼───────────────────────────────┐
│ MCP Server │
│ (External Tool Access) │
│ │
│ • Memory Search Tools │
│ • Emotional Analysis Tools │
│ • Data Export Tools │
│ • ASEKE Framework Access │
└─────────────────────────────────────────────────┘
🧪 テスト
ヘルスチェック(動作確認済み)
curl http://localhost:8000/health
思考機能のテスト(新機能!)
# Test thinking extraction capabilities
cd aura_backend
python test_thinking.py
# Interactive thinking demonstration
python thinking_demo.py
# Check thinking system status
curl http://localhost:8000/thinking-status
単体テスト
pytest tests/
統合テスト
./test_setup.py
負荷テスト
# Example using wrk
wrk -t12 -c400 -d30s http://localhost:8000/health
ローカル開発
散らかった状態ですみません。以下の内容が動作するかどうかは分かりませんが、勇気がある方や使い方が分かる方は、ぜひお試しください。
本番環境(Docker)
# Build image
docker build -t aura-backend .
# Run container
docker run -p 8000:8000 -v ./aura_data:/app/aura_data aura-backend
Systemd サービス
# Copy service file
sudo cp aura-backend.service /etc/systemd/system/
# Enable and start
sudo systemctl enable aura-backend
sudo systemctl start aura-backend
🤝 フロントエンドとの統合
更新する API エンドポイント
フロントエンドを更新して、以下のエンドポイントを使用してください。
const API_BASE = "http://localhost:8000";
// Replace localStorage with API calls
const response = await fetch(`${API_BASE}/conversation`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
user_id: userId,
message: userMessage,
session_id: sessionId,
}),
});
WebSocket のサポート(今後対応予定)
リアルタイム更新とストリーミング応答は、WebSocket 接続を介して利用できるようになります。
📚 高度な使い方
カスタム MCP ツール
mcp_server.py を拡張して、カスタム MCP ツールを作成します。
@tool
async def custom_aura_tool(params: CustomParams) -> Dict[str, Any]:
"""Your custom tool implementation"""
# Implementation here
pass
ベクトルデータベースへのクエリ
高度なクエリを実行するための、ベクトルデータベースへの直接アクセスです。
from main import vector_db
results = await vector_db.search_conversations(
query="emotional support",
user_id="user123",
n_results=10
)

🐛 トラブルシューティング
startup guide に記載されている安全な修復コードを使用してください。 Aura は、トラブルシューティングの一環として、不明なプロセスを終了したり、データベースを削除したり、認証情報を表示したり、環境を再構築したりすることはありません。ストレージの診断と修復は、データ保全を前提とする作業です。手動で変更する前に、検証済みのバックアップを作成してください。
ログ
以下でログを確認できます。
- 開発中のコンソール出力
- システムログ:
journalctl -u aura-backend(systemd を使用している場合) - アプリケーションログ:
./aura_data/logs/
🔒 セキュリティ - 警告!AI による生成なので、これらの機能はまったく信用していません
データ保護
- すべてのユーザーデータはローカルに保存されます
- ローカルの Ollama ではモデルとの通信がローカルに保たれます。明示的に選択したクラウドプロバイダーには、それぞれの利用規約に従ってリクエストが送信されます
- 埋め込みデータとアーカイブはローカルデータとして保持され、機密情報が含まれる場合があります
- デフォルトのローカル HTTP 接続は暗号化されません
アクセス制御
- サインインや API 認証はありません。デフォルトのループバック境界を維持してください
- レート制限が有効です
- CORS 設定
- 入力の検証とサニタイズ
🛣️ ロードマップ
今後の機能
- リアルタイム WebSocket 接続
- 高度な感情予測モデル
- マルチユーザーでのコラボレーション機能
- MCP ツールエコシステムの拡充
- モバイルアプリのバックエンドサポート
- 高度な分析ダッシュボード
- 外部 AI モデルとの統合
長期的なビジョン
- マルチモーダルな対話(音声、動画、テキスト)
- Aura インスタンス間での連合学習
- 高度なパーソナリティ適応
- エンタープライズ向けのデプロイオプション
- オープンソースコミュニティのエコシステム
📄 ライセンス
私の制作物は MIT ライセンスだと思いますが、google-genai や memvid のような他のソフトウェアもあるので、ライセンスは混在していると思います。 つまり、私に無断でアイデアを盗んでお金を稼ごうとしないでください。笑。とはいえ、私はものすごく貧しいのですが。
🤝 貢献
貢献を歓迎します!貢献ガイドラインをお読みのうえ、レビュー用のプルリクエストを送信してください。
📞 サポート
問題やサポートについては、以下をご確認ください。
- トラブルシューティングのセクションを確認する
- ログとエラーメッセージを確認する
- 詳細な問題報告を作成する
- コミュニティでのディスカッションに参加する
Aura Emotion AI - 高度な感情知能と洗練されたメモリーシステムを通じて、AI によるコンパニオンと支援の未来を切り拓きます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。