Neo4j MCP Server - 图数据库自然语言接口

Neo4j MCP Server - 图数据库自然语言接口

简介

Neo4j MCP Server 是 Neo4j 官方推出的 Model Context Protocol 服务器实现,为领先的图数据库 Neo4j 提供了强大的自然语言查询和管理接口。这个服务器使用 Go 语言开发,提供了 Schema 内省、Cypher 查询执行等核心功能,让 AI 助手能够直接与图数据库进行交互。无论是探索复杂的关系网络、执行图遍历查询,还是创建和修改图结构,都可以通过自然语言指令轻松完成。该项目目前处于 Beta 阶段,支持 Neo4j Aura、Desktop 和 Self-managed 等多种部署方式,并与 VS Code 和 Claude Desktop 完美兼容。

核心特性

  • Schema 内省 - 自动发现和展示图数据库的标签、关系类型和属性键
  • 只读 Cypher 查询 - 安全地执行图遍历和模式匹配查询,无修改风险
  • 写入 Cypher 查询 - 支持创建、更新和删除节点与关系的完整写入能力
  • APOC 插件集成 - 需要 APOC 插件支持,提供扩展的图算法和工具函数
  • 多部署支持 - 兼容 Neo4j Aura、Desktop 和 Self-managed 实例
  • IDE 集成 - 与 VS Code 和 Claude Desktop 无缝集成,提供流畅开发体验
  • Go 语言实现 - 100% Go 语言编写,性能优异且易于部署
  • 安全性优先 - 建议使用受限权限账户,特别是使用写入功能时

工具列表

Schema 管理工具

get-schema

描述: 内省图数据库的完整 Schema,获取所有节点标签、关系类型和属性键的详细信息

参数: 无需参数

功能说明:

  • 列出所有节点标签(Labels)及其属性
  • 列出所有关系类型(Relationship Types)及其属性
  • 显示属性键(Property Keys)的数据类型
  • 为 AI 提供图结构上下文,帮助生成准确的 Cypher 查询

查询工具

read-cypher

描述: 执行只读的 Cypher 查询,安全地检索图数据,不会修改数据库

参数:

  • query (string): Cypher 查询语句(只读操作,如 MATCH、RETURN)[必需]

功能说明:

  • 执行 MATCH、RETURN、WHERE 等只读操作
  • 支持复杂的图遍历和模式匹配
  • 使用聚合函数统计图数据
  • 安全模式,不会对数据库造成任何修改

write-cypher

描述: 执行具有写入能力的 Cypher 查询,可以创建、更新或删除图数据

参数:

  • query (string): Cypher 查询语句(可包含 CREATE、MERGE、SET、DELETE 等修改操作)[必需]

安全警告:

  • 此工具具有修改数据库的能力,使用需谨慎
  • 强烈建议使用只读或受限权限的数据库用户
  • 在生产环境中应限制此工具的使用
  • 执行前建议先在测试环境验证查询

Prompts 示例

Neo4j MCP Server 提供了一些自然语言提示示例,帮助用户快速上手:

  • “我的 Neo4j 实例包含什么?列出所有节点标签、关系类型和属性键。” - 探索数据库 Schema
  • “在我的 Neo4j 实例中查找所有 Person 节点及其关系。” - 查询特定类型的节点和关系
  • “在我的 Neo4j 实例中创建一个名为 ‘John’ 的新 User 节点。” - 创建新节点

配置方式

VS Code 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"servers": {
"neo4j": {
"type": "stdio",
"command": "neo4j-mcp",
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "password",
"NEO4J_DATABASE": "neo4j"
}
}
}
}

Claude Desktop 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"mcpServers": {
"neo4j-mcp": {
"type": "stdio",
"command": "neo4j-mcp",
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "password",
"NEO4J_DATABASE": "neo4j"
}
}
}
}

环境变量说明

  • NEO4J_URI: Neo4j 实例的连接 URI(通常使用 bolt:// 协议)
  • NEO4J_USERNAME: Neo4j 数据库用户名
  • NEO4J_PASSWORD: Neo4j 数据库密码
  • NEO4J_DATABASE: 要连接的数据库名称(默认为 “neo4j”)

Neo4j Aura 配置

1
2
3
4
5
# Aura 实例使用 neo4j+s:// 协议
NEO4J_URI="neo4j+s://xxxxxxxx.databases.neo4j.io"
NEO4J_USERNAME="neo4j"
NEO4J_PASSWORD="your-password"
NEO4J_DATABASE="neo4j"

使用示例

1
2
3
4
5
6
7
8
9
10
11
# 安装(从 GitHub Releases 下载二进制文件)
chmod +x neo4j-mcp && sudo mv neo4j-mcp /usr/local/bin/

# 验证安装
neo4j-mcp --version

# 环境变量设置
export NEO4J_URI="bolt://localhost:7687"
export NEO4J_USERNAME="neo4j"
export NEO4J_PASSWORD="password"
export NEO4J_DATABASE="neo4j"

自然语言查询示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 探索 Schema
"这个图数据库有哪些节点类型?"
"显示所有关系类型"
"Person 节点有哪些属性?"

# 查询数据
"找出所有 Person 节点及其朋友关系"
"显示从 Alice 到 Bob 的最短路径"
"统计每种关系类型的数量"
"查找所有在 Tech 公司工作的人"

# 复杂图遍历
"找出 John 的二度朋友(朋友的朋友)"
"显示所有相互关注的用户对"
"查找形成环路的交易关系"

# 创建数据
"创建一个名为 'John Doe' 的 Person 节点"
"在 Alice 和 Bob 之间创建 KNOWS 关系"
"添加一个 Company 节点,名称为 'Acme Corp'"

# 更新数据
"将 John 的年龄更新为 30"
"给所有 Person 节点添加 country 属性,值为 'USA'"

# 分析图结构
"计算网络中的中心度最高的节点"
"找出图中的社区结构"
"识别孤立的节点"

实际应用场景

  1. 社交网络分析 - 分析用户关系、发现社区、识别影响力节点,优化社交推荐算法

  2. 知识图谱查询 - 探索实体之间的复杂关系,回答多跳推理问题,构建智能问答系统

  3. 欺诈检测 - 识别异常交易模式、发现欺诈环路、追踪可疑关系链

  4. 推荐系统 - 基于用户和物品的关系图,生成个性化推荐,提高推荐准确度

  5. 供应链管理 - 可视化和分析供应链网络,识别瓶颈和风险节点

  6. 网络安全 - 追踪攻击路径、分析依赖关系、识别安全漏洞传播链

  7. 组织架构分析 - 分析企业组织结构、发现关键人物、优化沟通路径

技术实现

Neo4j MCP Server 使用 Go 语言实现,体现了对性能和部署便捷性的重视:

  • Go 语言高性能 - 100% Go 语言实现,编译成单一二进制文件,部署简单
  • 并发处理能力 - 利用 Go 的 goroutine 实现高效的并发查询处理
  • 内存安全 - Go 的垃圾回收和类型系统确保运行时安全
  • 官方 Neo4j 驱动 - 使用 Neo4j 官方 Go 驱动,确保协议兼容性和稳定性
  • APOC 集成 - 需要 APOC 插件支持,提供扩展的图算法和实用函数
  • 安全性设计 - 提供只读和写入两个独立工具,便于权限控制
  • 多环境支持 - 统一接口支持 Aura、Desktop 和 Self-managed 部署
  • 轻量级部署 - 单一可执行文件,无需额外依赖,容器友好

该服务器的设计哲学是提供简单但强大的图数据库访问能力,让 AI 能够理解和操作复杂的图结构。

Beta 阶段注意事项

⚠️ 重要: 此项目目前处于 BETA 阶段,正在积极开发中

  • 非生产环境 - 不建议在生产环境中使用,功能和 API 可能会变化
  • 谨慎使用写入功能 - write-cypher 工具具有修改数据库的能力,使用需谨慎
  • 建议使用只读账户 - 在探索和测试阶段,建议使用只读权限的数据库用户
  • APOC 依赖 - 确保 Neo4j 实例已安装 APOC 插件
  • 反馈欢迎 - 欢迎通过 GitHub Issues 报告问题和提供反馈

获取方式

  • GitHub: https://github.com/neo4j/mcp
  • GitHub Releases: 下载预编译的二进制文件
  • 安装方式:
    • 从 Releases 页面下载对应平台的二进制文件
    • 赋予执行权限: chmod +x neo4j-mcp
    • 移动到系统路径: sudo mv neo4j-mcp /usr/local/bin/
    • 验证安装: neo4j-mcp --version
  • 系统要求:
    • Neo4j 数据库实例(Aura/Desktop/Self-managed)
    • APOC 插件已安装和启用
    • 有效的数据库访问凭据

相关资源

© 2025 Generative AI Discovery All Rights Reserved.
Theme by hiero