🚀 BuildAutomata Memory MCP 服务器
BuildAutomata Memory MCP 服务器借助模型上下文协议(MCP)为 AI 代理提供持久、可搜索的记忆系统。它能让 AI 代理(如 Claude)拥有跨对话的持久记忆,就像给 AI 配备了一个长期记忆系统,具备语义搜索、时间版本控制、智能组织等功能。
🚀 快速开始
前提条件
- Python 3.10 及以上版本
- Claude Desktop(用于 MCP 集成)或任何兼容 MCP 的客户端
- 可选:Qdrant 用于增强语义搜索
安装步骤
- 克隆此仓库
git clone https://github.com/brucepro/buildautomata_memory_mcp.git
cd buildautomata_memory_mcp-main
- 安装依赖项
pip install mcp qdrant-client sentence-transformers
- 配置 Claude Desktop
编辑 Claude Desktop 配置文件(Windows 系统路径为
AppData/Roaming/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"buildautomata-memory": {
"command": "python",
"args": ["C:/path/to/buildautomata_memory_mcp_dev/buildautomata_memory_mcp.py"]
}
}
}
- 重启 Claude Desktop
完成上述步骤后,内存系统将在首次运行时自动创建其数据库。
✨ 主要特性
核心功能
- 🧠 混合搜索:结合向量相似度(Qdrant)和全文搜索(SQLite FTS5)
- 📚 时间版本控制:每次记忆更新都会创建一个新版本,提供完整的审计跟踪
- 🏷️ 智能衰减:重要性分数根据访问模式随时间衰减
- 🔄 丰富的元数据:支持类别、标签、重要性和自定义元数据
- 💾 LRU 缓存:通过自动缓存管理实现快速重复访问
- ⚙️ 线程安全:通过适当的锁定实现并发操作
MCP 工具暴露
作为 MCP 服务器运行时,为 Claude 提供以下工具:
store_memory
- 创建新记忆
update_memory
- 修改现有记忆(创建新版本)
search_memories
- 带过滤器的语义 + 全文搜索
get_memory_timeline
- 查看完整的版本历史
get_memory_stats
- 系统统计信息
prune_old_memories
- 清理旧的/低重要性的记忆
run_maintenance
- 数据库优化
架构
┌─────────────────┐
│ Claude Desktop │
│ (MCP Client) │
└────────┬────────┘
│
┌────▼─────────────────────┐
│ MCP Server │
│ buildautomata_memory │
└────┬─────────────────────┘
│
┌────▼──────────┐
│ MemoryStore │
└────┬──────────┘
│
┌────┴────┬─────────────┬──────────────┐
▼ ▼ ▼ ▼
┌───────┐ ┌────────┐ ┌──────────┐ ┌─────────────┐
│SQLite │ │Qdrant │ │Sentence │ │ LRU Cache │
│ FTS5 │ │Vector │ │Transform │ │ (in-memory) │
└───────┘ └────────┘ └──────────┘ └─────────────┘
💻 使用示例
基础用法
python interactive_memory.py search "consciousness research" --limit 5
python interactive_memory.py store "Important discovery..." --category research --importance 0.9 --tags "ai,insight"
python interactive_memory.py timeline --query "project updates" --limit 10
python interactive_memory.py stats
高级用法
快速访问脚本
Windows 系统:
memory.bat search "query"
memory.bat store "content" --importance 0.8
Linux/Mac 系统:
./memory.sh search "query"
./memory.sh store "content" --importance 0.8
📚 详细文档
使用场景
1. 持久的 AI 上下文
用户:“记住我更喜欢详细的技术解释”
[记忆以类别:用户偏好存储]
下一次会话...
Claude:*自动回忆起偏好并提供详细响应*
2. 项目连续性
会话 1:处理项目 A,存储进度
会话 2:Claude 回忆起项目状态,从上次中断的地方继续
会话 3:查看所有项目决策的时间线
3. 研究与学习
- 发现研究结果时进行存储
- 按主题、重要性、来源进行标记
- 语义搜索:“我对神经网络有哪些了解?”
- 查看理解随时间的演变
4. 多工具工作流
Claude Desktop → 通过 MCP 存储洞察
Claude Code → 通过 CLI 检索
Cursor AI → 访问相同的内存数据库
= 所有工具上的统一 AI 角色
想要完整套餐?
Gumroad 版本包括:
- ✅ 预编译的 Qdrant 服务器(Windows .exe,无需 Docker)
- ✅ 一键启动脚本(start_qdrant.bat)
- ✅ 分步设置指南(instructions.txt)
- ✅ 商业许可证,用于商业用途
- ✅ 通过电子邮件提供优先支持
适合人群:
- 希望轻松设置的非技术用户
- 想要完整堆栈套餐的 Windows 用户
- 需要明确许可证的商业/企业用户
- 任何重视时间而非自行设置的人
此开源版本:
- ✅ 免费用于个人/教育/小企业用途(年收入 < 10 万美元)
- ✅ 可访问完整源代码
- ✅ 自行设置 Qdrant(从 qdrant.io 安装)
- ✅ 通过 GitHub 问题获得社区支持
两个版本使用完全相同的核心代码 - 您只是在便利性(Gumroad)和自行设置(GitHub)之间进行选择。
配置
环境变量
BA_USERNAME=buildautomata_ai_v012
BA_AGENT_NAME=claude_assistant
QDRANT_HOST=localhost
QDRANT_PORT=6333
MAX_MEMORIES=10000
CACHE_MAXSIZE=1000
QDRANT_MAX_RETRIES=3
MAINTENANCE_INTERVAL_HOURS=24
数据库位置
记忆存储在以下路径:
<script_dir>/memory_repos/<username>_<agent_name>/memoryv012.db
可选:Qdrant 设置
为了增强语义搜索(强烈推荐):
选项 1:使用 Docker
docker run -p 6333:6333 qdrant/qdrant
选项 2:手动安装
从 Qdrant 发布页面 下载。
选项 3:Gumroad 套餐
包括预编译的 Windows 可执行文件 + 启动脚本
不使用 Qdrant 时:系统仍可使用 SQLite FTS5 全文搜索(语义理解能力较弱)。
开发
运行测试
python interactive_memory.py search "test" --limit 5
python interactive_memory.py store "Test memory" --category test
python interactive_memory.py stats
文件结构
buildautomata_memory_mcp_dev/
├── buildautomata_memory_mcp.py # MCP 服务器
├── interactive_memory.py # CLI 界面
├── memory.bat / memory.sh # 辅助脚本
├── CLAUDE.md # 架构文档
├── README_CLI.md # CLI 文档
├── CLAUDE_CODE_INTEGRATION.md # 集成指南
└── README.md # 本文件
故障排除
“Qdrant 不可用”
- 如果在不使用 Qdrant 的情况下运行,这是正常现象 - 会回退到 SQLite FTS5
- 要启用:启动 Qdrant 服务器并重启 MCP 服务器
数据库“权限被拒绝”
- 检查
memory_repos/
目录的权限
- 在 Windows 上:如有需要,以管理员身份运行
Claude Desktop 未显示工具
- 检查
claude_desktop_config.json
路径是否正确
- 验证 Python 是否在系统路径中
- 完全重启 Claude Desktop
- 检查 Claude Desktop → 帮助 → 查看日志中的日志
导入错误
pip install --upgrade mcp qdrant-client sentence-transformers
📄 许可证
开源(此 GitHub 版本):
- 免费用于个人、教育和小企业用途(年收入 < 10 万美元)
- 必须注明原作者(Jurden Bruce)
- 完整条款请参阅 LICENSE 文件
商业许可证:
- 年收入超过 10 万美元的公司:每位用户 200 美元或每家公司 2 万美元(取较低者)
- 联系方式:sales@brucepro.net
支持
社区支持(免费)
优先支持(Gumroad 客户)
- 电子邮件:sales@brucepro.net
- 更快的响应时间
- 设置协助
- 自定义配置帮助
路线图
- [ ] 记忆关系图
- [ ] 批量导入/导出
- [ ] 用于记忆管理的 Web UI
- [ ] 多模态记忆(图像、音频)
- [ ] 协作记忆(多用户)
- [ ] 记忆整合/总结
- [ ] 智能自动标记
贡献
欢迎贡献代码!请按以下步骤操作:
- 分叉仓库
- 创建功能分支
- 进行更改
- 提交拉取请求
致谢
作者:Jurden Bruce
项目:BuildAutomata
年份:2025
构建工具:
相关链接
如果您觉得这个仓库有用,请给它点个 ⭐!如果您想支持开发并获得易于安装的版本,请考虑 Gumroad 套餐。