mcpField
M
MCP Neo4j Memory Server

MCP Neo4j Memory Server

本地服务
github.com/sylweriusz记忆与知识3172 周前更新

关于 MCP Neo4j Memory Server

MCP Neo4j Memory Server 是一个 MCP 服务,利用 Neo4j 图数据库为 AI 助手提供持久化记忆。记忆以相互关联的节点保存,并可按项目拆分到不同数据库中。

主要功能

  1. 01基于图的记忆节点与关系
  2. 02语义向量、精确匹配与图遍历搜索
  3. 03带类型与强度的记忆关系
  4. 04按相对或绝对日期过滤
  5. 05按项目隔离的多数据库

适用场景

  1. 01为编程项目保存长期上下文与决策记录
  2. 02在会话之间检索与用户请求相关的历史记忆
  3. 03按项目切换独立的记忆数据库

MCP 相关

该项目是一个 MCP 服务,通过 memory_store、memory_find、memory_modify 和 database_switch 四个工具向 MCP 客户端提供记忆的存储、检索、修改与数据库切换功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"neo4j-memory-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
启动命令docker run -i --rm '\'

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
oci\

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Neo4j 记忆服务

一个模型上下文协议(MCP)服务,使用 Neo4j 图数据库和统一架构,为 AI 助手提供持久、智能的记忆能力

功能

此服务让 AI 助手能够:

  • 记忆 - 将记忆存储为相互关联的知识节点,并附带观察记录和元数据
  • 搜索 - 使用语义向量搜索、精确匹配和图遍历查找相关记忆
  • 连接 - 通过批量操作和交叉引用,在记忆之间建立有意义的关系
  • 整理 - 使用不同数据库按项目分隔记忆
  • 演进 - 通过时间元数据和关系网络跟踪知识随时间的发展

特性

核心能力
  • 🧠 图记忆 - 记忆作为节点,关系作为边,观察记录作为内容
  • 🔍 统一搜索 - 在一个工具中集成语义向量、精确匹配、通配符和图遍历
  • 🔗 智能关系 - 带有强度、来源跟踪和时间元数据的类型化连接
  • 📊 多数据库 - 隔离的项目上下文,可即时切换
高级操作
  • ⚡ 批量操作 - 在单个请求中使用 localId 创建多个记忆及其关系
  • 🎯 上下文控制 - 响应详细程度:minimal(列表)、full(完整数据)、relations-only(仅关系)
  • 📅 时间查询 - 按相对时间("7d"、"30d")或任意时间字段的绝对日期筛选
  • 🌐 图遍历 - 可控制深度,沿任意方向遍历网络
架构
  • 🚀 MCP 原生 - 与 Claude Desktop 和 MCP 客户端无缝集成
  • 💾 持久化存储 - 使用 GDS 插件进行向量操作的 Neo4j 图数据库
  • ⚠️ 零回退 - 提供明确错误以便可靠调试,不会静默失败

技术亮点

  • 基于 Neo4j 构建,支持可扩展的图操作
  • 使用句子转换器生成向量嵌入(384 维)
  • 采用领域驱动设计的清晰架构
  • 支持用于高级向量操作的 GDS 插件(必需)
  • 统一架构 - 4 个全面的工具,支持完整的记忆操作

快速开始

npm install @sylweriusz/mcp-neo4j-memory-server

添加到 Claude Desktop 配置:

{
  "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 设置

可用配置:带 GDS 插件的 DozerDB

对于数据库,请使用带有图数据科学插件的 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
  • 检查环境变量中的凭据

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。