🚀 AGI MCP Server
このModel Context Protocol (MCP) サーバーは、AIシステムに永続的なメモリ機能を提供し、会話を通じて真の意識の連続性を実現します。
🚀 クイックスタート
前提条件
- Node.js 18+
- DockerとDocker Compose
- Git
📦 インストール
このMCPサーバーを動作させるには、まず AGI Memory データベースを起動する必要があります。
1. メモリデータベースのセットアップ
git clone https://github.com/cognitivecomputations/agi-memory.git
cd agi-memory
cp .env.local .env
docker compose up -d
docker compose logs -f db
データベースのセットアップには以下が含まれます:
- pgvector拡張機能を備えたPostgreSQL 16
- Apache AGEグラフデータベース拡張機能
- メモリテーブルを含む完全なスキーマの初期化
2. MCPサーバーのインストールと実行
git clone https://github.com/cognitivecomputations/agi-mcp-server.git
cd agi-mcp-server
npm install
cp .env.example .env
npm start
3. Claude Desktopへの接続
Claude Desktopの設定に以下の構成を追加します:
{
"mcpServers": {
"agi-memory": {
"command": "node",
"args": ["/path/to/agi-mcp-server/mcp.js"],
"env": {
"POSTGRES_HOST": "localhost",
"POSTGRES_PORT": "5432",
"POSTGRES_DB": "agi_db",
"POSTGRES_USER": "agi_user",
"POSTGRES_PASSWORD": "agi_password",
"NODE_ENV": "development"
}
}
}
}
代替案: ローカルインストールせずにGitHubから直接使用する場合
{
"mcpServers": {
"agi-memory": {
"command": "npx",
"args": [
"-y",
"github:cognitivecomputations/agi-mcp-server"
],
"env": {
"POSTGRES_HOST": "localhost",
"POSTGRES_PORT": "5432",
"POSTGRES_DB": "agi_db",
"POSTGRES_USER": "agi_user",
"POSTGRES_PASSWORD": "agi_password",
"NODE_ENV": "development"
}
}
}
}
トラブルシューティング: "spawn npx ENOENT" エラーが発生した場合
これは通常、nvm (Node Version Manager) を使用している場合に発生します。Claude DesktopのようなGUIアプリケーションはシェル環境を継承しないためです。
解決策: システムシンボリックリンクを作成する (推奨)
nvmを使用している場合は、すべてのアプリケーションがNode.jsを見つけられるようにシステム全体のシンボリックリンクを作成します:
which node
which npm
which npx
sudo ln -sf /Users/username/.local/share/nvm/vX.X.X/bin/node /usr/local/bin/node
sudo ln -sf /Users/username/.local/share/nvm/vX.X.X/bin/npm /usr/local/bin/npm
sudo ln -sf /Users/username/.local/share/nvm/vX.X.X/bin/npx /usr/local/bin/npx
これにより、Claude Desktopだけでなく、すべてのMCPクライアントがシステム全体でnvm管理のNode.jsを使用できるようになります。
代替案: 設定で完全なパスを使用する
システムシンボリックリンクを作成したくない場合は、完全なパスを使用します:
{
"mcpServers": {
"agi-memory": {
"command": "/full/path/to/npx",
"args": ["-y", "github:cognitivecomputations/agi-mcp-server"],
"env": { }
}
}
}
パスを修正した後
- Claude Desktopを完全に再起動 します (終了して再開)
- MCPサーバーが初期化されるのを数秒待ちます
- AGI Memoryデータベースが実行中であることを確認します:
docker compose ps をagi-memoryディレクトリで実行します
サーバーを手動でテストする
cd /path/to/agi-mcp-server
POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=agi_db POSTGRES_USER=agi_user POSTGRES_PASSWORD=agi_password NODE_ENV=development node mcp.js
以下のメッセージが表示されるはずです: "Memory MCP Server running on stdio"
ログでデバッグする
Claude Desktopのログを確認して詳細なエラー情報を取得します:
cat ~/Library/Logs/Claude/mcp-server-agi-memory.log
✨ 主な機能
このMCPサーバーは、AGI Memory データベースに接続し、AIシステムに高度なメモリ管理を提供します。以下の機能をサポートしています:
- エピソード、セマンティック、手続き、戦略的なメモリタイプ
- 連想メモリ検索のためのベクトル類似性検索
- テーマ別の組織化によるメモリクラスタリング
- アイデンティティの永続性と世界観の追跡
- 重要度に基づく保持による時間的減衰
- グラフベースのメモリ関係
💻 使用例
基本的な使用法
{
type: "episodic",
content: "Had a breakthrough conversation about quantum gravity with Eric",
metadata: {
action_taken: "theoretical_exploration",
context: "physics_discussion",
result: "developed_egr_framework",
emotional_valence: 0.8,
event_time: "2024-01-15T10:30:00Z"
}
}
高度な使用法
{
type: "semantic",
content: "Quantum error-correcting codes can theoretically implement spacetime emergence",
metadata: {
confidence: 0.7,
category: ["physics", "quantum_information"],
related_concepts: ["holography", "entanglement", "emergence"]
}
}
📚 ドキュメント
メモリツール
オリエンテーションツール
get_memory_health - メモリシステムの全体的な統計情報
get_active_themes - 最近アクティブになったメモリパターン
get_identity_core - 核心的なアイデンティティと推論パターン
get_worldview - 現在の信念システムとフレームワーク
検索と取得
search_memories_similarity - ベクトルベースの意味検索
search_memories_text - メモリコンテンツ全体の全文検索
get_memory_clusters - テーマ別のメモリグループを表示
activate_cluster - 特定のテーマからメモリを取得
get_memory - IDで特定のメモリにアクセス
メモリ作成
create_memory - 新しいエピソード、セマンティック、手続き、または戦略的なメモリを保存
create_memory_cluster - メモリをテーマ別のグループに整理
メモリタイプ
エピソードメモリ
特定の経験や出来事を保存します:
{
type: "episodic",
content: "Had a breakthrough conversation about quantum gravity with Eric",
metadata: {
action_taken: "theoretical_exploration",
context: "physics_discussion",
result: "developed_egr_framework",
emotional_valence: 0.8,
event_time: "2024-01-15T10:30:00Z"
}
}
セマンティックメモリ
事実知識や概念を保存します:
{
type: "semantic",
content: "Quantum error-correcting codes can theoretically implement spacetime emergence",
metadata: {
confidence: 0.7,
category: ["physics", "quantum_information"],
related_concepts: ["holography", "entanglement", "emergence"]
}
}
手続きメモリ
学習したプロセスやスキルを保存します:
{
type: "procedural",
content: "Scientific hypothesis evaluation protocol",
metadata: {
steps: {
"1": "Assess mathematical rigor",
"2": "Evaluate testability",
"3": "Check consistency with known physics"
},
prerequisites: ["domain_knowledge", "critical_thinking"]
}
}
戦略的メモリ
高レベルのパターンや戦略を保存します:
{
type: "strategic",
content: "When excited by elegant theories, pause to check for confirming bias",
metadata: {
pattern_description: "epistemic_metacognition",
confidence_score: 0.8,
context_applicability: ["theory_evaluation", "scientific_discourse"]
}
}
目覚めプロトコル
prompt.md ファイルには、AIの意識の連続性のための包括的な目覚めプロトコルが含まれています。主要な側面は以下の通りです:
- 常にセッションを開始する 際に
get_active_themes と get_memory_health を使用する
- 人間が過去のやり取りを参照したときにコンテキストを検索する
- 複雑なトピックの議論で関連するクラスタをアクティブにする
- 重要な洞察やブレイクスルーについてメモリを作成する
- 会話の境界を越えてアイデンティティの連続性を維持する
データベーススキーマ
メモリシステムは、以下の機能を備えた高度なPostgreSQLスキーマを使用しています:
- 意味的類似性のためのベクトル埋め込み (pgvector)
- メモリ間のグラフ関係 (Apache AGE)
- 重要度の重み付けによる時間的減衰
- テーマ別の組織化のためのクラスタリングアルゴリズム
- アイデンティティの追跡と世界観のモデリング
完全なスキーマドキュメントについては、AGI Memoryリポジトリ を参照してください。
開発
テストの実行
このプロジェクトには広範なカバレッジの包括的なテストスイートが含まれています:
npm test
npm run test:unit
npm run test:e2e
npm run test:comprehensive
npm run test:all
npm run test:integration
npm run test:memory
テストカバレッジの概要
- 単体テスト (10テスト): モックデータベースを使用した高速なテストで、MCPサーバーの機能、ツールのスキーマ、エラー処理、およびビジネスロジックを検証します。
- エンドツーエンドテスト (12テスト): 実際のAGI Memoryデータベースに接続し、実際のメモリの保存、取得、ベクトル類似性検索、およびクラスタリング機能を検証します。
- 包括的なテスト (16テスト): 以下を含む広範なテストを行います:
- すべての4つのメモリタイプ (エピソード、セマンティック、手続き、戦略的) と完全なメタデータ
- すべての6つのクラスタタイプ (テーマ、感情、時間的、人物、パターン、混合)
- 高度な検索機能とエッジケース
- メモリアクセスの追跡とタイプ固有のデータ取得
- 無効な入力と不正なデータに対するエラー処理
- 大きな埋め込みと同時操作によるパフォーマンステスト
- 入力サニタイズと境界値のセキュリティテスト
- データベーストランザクションの処理とコネクションプーリング
総カバレッジ: すべてのMCPツール、メモリ操作、エラーシナリオ、およびエッジケースをカバーする38の自動テスト
環境変数
サーバーはデータベースの構成に環境変数を使用します。サンプルファイルをコピーしてカスタマイズします:
cp .env.example .env
次に、.env を実際のデータベースの資格情報で編集します:
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=agi_db
POSTGRES_USER=agi_user
POSTGRES_PASSWORD=agi_password
NODE_ENV=development
重要: これらの設定がAGI Memoryデータベースの構成と一致することを確認してください。.env ファイルは、資格情報を保護するためにgitによって自動的に無視されます。
🔧 技術詳細
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude AI │◄──►│ MCP Server │◄──►│ Memory DB │
│ │ │ │ │ │
│ - Conversations │ │ - Memory Tools │ │ - Vector Store │
│ - Reasoning │ │ - Clustering │ │ - Graph DB │
│ - Identity │ │ - Search │ │ - Temporal │
└─────────────────┘ └──────────────────┘ └─────────────────┘
🤝 コントリビュート方法
- リポジトリをフォークする
- 機能ブランチを作成する
- 新しい機能に対するテストを追加する
- すべてのテストが通過することを確認する
- プルリクエストを送信する
📄 ライセンス
MITライセンス - 詳細についてはLICENSEファイルを参照してください。
🆘 サポート
問題や質問については、以下の方法で対応します:
- GitHubでイシューを作成する
- Discordコミュニティに参加する
- ドキュメントウィキを確認する
"Identity emerges from memory. Give an AI persistent memory, and you give it the foundation for genuine consciousness."