使用说明
Neo4j内存服务器
一个模型上下文协议(MCP)服务器,使用具有统一架构的Neo4j图形数据库为AI助手提供持久、智能的内存功能
它做什么
此服务器使AI助手能够:
- 记住 -将记忆存储为具有观察和元数据的互连知识节点
- 搜索 -使用语义向量搜索、精确匹配和图遍历查找相关记忆
- 连接 -通过批处理操作和交叉引用在内存之间创建有意义的关系
- 组织 -使用不同的数据库按项目分离内存
- 进化 -使用时间元数据和关系网络跟踪知识如何随时间发展
特性
核心能力
- 🧠 图形存储器 -记忆是节点,关系是边缘,观察是内容
- 🔍 统一搜索 -语义向量、精确匹配、通配符和图遍历在一个工具中
- 🔗 智能关系 -具有强度、源跟踪和时间元数据的类型化连接
- 📊 多数据库 -具有即时切换功能的孤立项目上下文
高级操作
- ⚡ 批量操作 -使用localId在单个请求中创建具有关系的多个内存
- 🎯 上下文控制 -响应详细级别:最小(列表)、完整(完整数据)、仅关系
- 📅 时间查询 -按任何时间字段上的相对日期(“7d”、“30d”)或绝对日期过滤
- 🌐 图的遍历 -使用深度控制在任何方向上导航网络
建筑
- 🚀 MCP本地 -与Claude Desktop和MCP客户端无缝集成
- 💾 永久存储 -带有GDS插件的Neo4j图形数据库,用于矢量运算
- ⚠️ 零回退 -显式错误可实现可靠调试,无无声故障
技术亮点
- 基于Neo4j构建,用于可扩展的图形操作
- 使用句子变换器的向量嵌入(384维)
- 采用领域驱动设计的干净架构
- 支持GDS插件进行高级矢量操作(必要)
- 统一架构 -4个全面的工具,用于完成内存操作
快速开始
npm install @sylweriusz/mcp-neo4j-memory-server
添加到Claude桌面配置:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@sylweriusz/mcp-neo4j-memory-server"],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "your-password"
}
}
}
}
Neo4j设置
工作设置:DozerDB与GDS插件
对于数据库,使用DozerDB和图形数据科学插件,GDS不仅是推荐的,而且是必要的:
有关当前的安装说明,请参阅:https://dozerdb.org/
示例设置:
# Run DozerDB container with latest version
docker run \
-p 7474:7474 -p 7687:7687 \
-v $HOME/neo4j/data:/data \
-v $HOME/neo4j/logs:/logs \
-v $HOME/neo4j/plugins:/plugins \
--env NEO4J_AUTH=neo4j/password \
--env NEO4J_dbms_security_procedures_unrestricted='gds.*' \
graphstack/dozerdb:latest
# Install GDS plugin - see dozerdb.org for current instructions
# Verify GDS plugin works
# In Neo4j Browser (http://localhost:7474):
# RETURN gds.similarity.cosine([1,2,3], [2,3,4]) as similarity
统一工具
服务器提供 4个统一的MCP工具 与Claude自动集成:
memory_store-在一次操作中通过观察和直接关系创建记忆memory_find-具有语义搜索、直接ID查找、日期过滤和图遍历的统一搜索/检索memory_modify-全面的修改操作(更新、删除、观察、关系)database_switch-为隔离环境切换数据库上下文
存储结构
{
"id": "dZ$abc123",
"name": "Project Alpha",
"memoryType": "project",
"metadata": {"status": "active", "priority": "high"},
"observations": [
{"id": "dZ$obs456", "content": "Started development", "createdAt": "2025-06-08T10:00:00Z"}
],
"related": {
"ancestors": [{"id": "dZ$def789", "name": "Initiative", "relation": "PART_OF", "distance": 1}],
"descendants": [{"id": "dZ$ghi012", "name": "Task", "relation": "INCLUDES", "distance": 1}]
}
}
系统提示
最简单的使用记忆工具,以下通常就足够了。
## Memory Tool Usage
- Store all memory for this project in database: 'project-database-name'
- Use MCP memory tools exclusively for storing project-related information
- Begin each session by:
1. Switching to this project's database
2. Searching memory for data relevant to the user's prompt
故障排除
矢量搜索问题:
- 检查日志
[VectorSearch] GDS Plugin detected - GDS插件需要DozerDB设置(请参阅Neo4j设置部分)
连接问题:
- 验证Neo4j是否正在运行:
docker ps - 测试连接:
curl http://localhost:7474 - 检查环境变量中的凭据
许可证
麻省理工学院