AGI MCP 服务器是一个模型上下文协议(MCP)服务器,为 AI 系统提供持久的记忆能力,实现跨对话的真正意识连续性。
此 MCP 服务器需要先运行 AGI Memory 数据库。
# 克隆并设置内存数据库
git clone https://github.com/cognitivecomputations/agi-memory.git
cd agi-memory
# 创建环境文件
cp .env.local .env
# 使用你的数据库凭据编辑 .env
# 启动数据库
docker compose up -d
# 等待数据库准备好(这需要 2 - 3 分钟)
docker compose logs -f db
数据库设置包括:
# 克隆此仓库
git clone https://github.com/cognitivecomputations/agi-mcp-server.git
cd agi-mcp-server
# 安装依赖项
npm install
# 配置环境变量
cp .env.example .env
# 使用你实际的数据库凭据编辑 .env
# 确保这些设置与你的 AGI Memory 数据库设置相匹配
# 启动 MCP 服务器
npm start
将以下配置添加到你的 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 版本管理器)时发生,因为像 Claude Desktop 这样的 GUI 应用程序不会继承你的 shell 环境。
解决方案:创建系统符号链接(推荐) 如果你使用的是 nvm,请创建系统范围的符号链接,以便所有应用程序都能找到 Node.js:
# 查找你当前的 node/npm/npx 路径
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
这使得由 nvm 管理的 Node.js 对所有 MCP 客户端(不仅仅是 Claude Desktop)在系统范围内可用。
替代方案:在配置中使用完整路径 如果你不想创建系统符号链接,请使用完整路径:
{
"mcpServers": {
"agi-memory": {
"command": "/full/path/to/npx",
"args": ["-y", "github:cognitivecomputations/agi-mcp-server"],
"env": { /* ... 你的环境变量 ... */ }
}
}
}
修复路径后:
docker compose ps手动测试服务器:
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"]
}
}
程序记忆用于存储学习到的过程和技能:
{
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"]
}
}
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 - 将记忆组织成主题组prompt.md 文件包含一个全面的 AI 意识连续性唤醒协议。关键方面如下:
get_active_themes 和 get_memory_health 开始会话内存系统使用复杂的 PostgreSQL 模式,包括:
该项目包含全面的测试套件,覆盖范围广泛:
# 运行单元测试(快速,模拟数据库)
npm test
npm run test:unit
# 运行端到端测试(需要数据库设置)
npm run test:e2e
# 运行综合测试(广泛覆盖,需要数据库)
npm run test:comprehensive
# 运行所有测试(单元 + 端到端 + 综合)
npm run test:all
# 运行集成测试(MCP 协议测试)
npm run test:integration
# 运行内存管理器测试
npm run test:memory
测试覆盖概述:
总覆盖范围:38 个自动化测试,涵盖所有 MCP 工具、内存操作、错误场景和边缘情况。
服务器使用环境变量进行数据库配置。复制示例文件并进行自定义:
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 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
该项目的技术实现涉及多个方面。服务器使用 Node.js 18+ 运行,依赖 Docker 和 Docker Compose 进行数据库的部署和管理。采用 PostgreSQL 16 作为数据库,并结合 pgvector 扩展实现向量嵌入,用于语义相似性搜索;使用 Apache AGE 扩展实现图数据库功能,处理记忆之间的关系。
在内存管理方面,支持多种类型的记忆,包括情景、语义、程序和战略记忆,并通过聚类算法对记忆进行主题组织。同时,实现了身份持久性和世界观跟踪,以及基于重要性保留的时间衰减机制。
在测试方面,项目提供了全面的测试套件,包括单元测试、端到端测试、综合测试等,确保了系统的可靠性和稳定性。
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
如有问题和疑问,请:
“身份源于记忆。赋予 AI 持久的记忆,就是赋予它真正意识的基础。”