Neo4j数据库连接服务

一个为Cursor IDE设计的Neo4j数据库连接服务,支持执行Cypher查询、获取数据库信息和管理连接状态。

  • by ezedinff
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ezedinff/neo4j-mcp

使用说明

Neo4j MCP游标服务器

Cursor MCP(模型上下文协议)服务器,可直接从Cursor IDE与Neo4j数据库进行无缝交互。

特性

  • 连接到Neo4j数据库
  • 执行Cypher查询并检索结果
  • 将Neo4j特定的数据类型转换为标准JavaScript对象
  • 使用官方MCP SDK和stdio传输,与Cursor无缝集成
  • 支持安全凭据管理的环境变量
  • 检索详细的数据库信息和指标
  • 监控连接状态和诊断

先决条件

  • 包子 (v1.0.0或更高版本)
  • Neo4j 数据库(本地或远程)

使用Docker Compose运行Neo4j

这个项目包括一个Docker Compose配置,可以在容器中轻松运行Neo4j:

  1. 确保你有 码头工人 和 Docker Compose 安装。

  2. 使用Docker Compose启动Neo4j:

    docker-compose up -d
    
  3. 访问Neo4j浏览器 http://localhost:7474

    • 默认用户名: neo4j
    • 默认密码: your_password (如docker compose.yml中所述)
  4. 要停止Neo4j:

    docker-compose down
    
  5. 要停止Neo4j并删除所有数据:

    docker-compose down -v
    

备注:docker-compose.yml中的默认密码设置为 your_password。对于生产用途,请将其更改为安全密码并更新您的 .env 文件相应。

安装

  1. 克隆此存储库:

    git clone https://github.com/yourusername/neo4j-mcp.git
    cd neo4j-mcp
    
  2. 安装依赖项:

    bun install
    
  3. 配置环境变量: 创建一个 .env 根目录中的文件,其中包含您的Neo4j凭据:

    NEO4J_URI=neo4j://localhost:7687
    NEO4J_USERNAME=neo4j
    NEO4J_PASSWORD=your_password
    NEO4J_DATABASE=neo4j
    NODE_ENV=development
    

用法

启动服务器

服务器使用stdio传输与Cursor通信,因此应由Cursor本身启动。但是,您可以手动测试它:

# Run directly
bun run index.ts

# Run with logging using the provided script
./run-mcp-server.sh

可用工具

MCP服务器公开了以下工具:

1.使用显式凭据连接到Neo4j

使用提供的凭据连接到Neo4j数据库。

参数:

  • uri:Neo4j数据库URI(例如,Neo4j://本地主机:7687)
  • username:Neo4j数据库用户名
  • password:Neo4j数据库密码
  • database:(可选)Neo4j数据库名称

2.使用环境变量连接到Neo4j

使用来自环境变量的凭据连接到Neo4j数据库。

无需参数。

3.执行密码查询

对连接的Neo4j数据库执行Cypher查询。

参数:

  • query:要执行的密码查询
  • params:(可选)查询参数

4.获取数据库信息

检索连接的Neo4j数据库的详细信息,包括:

  • Neo4j版本和版次
  • 数据库名称
  • 节点和关系计数
  • 可用标签
  • 关系类型

无需参数。

5.获取连接状态

检索当前连接状态,包括:

  • 连接状态(连接/断开)
  • 连接详细信息(URI、数据库)
  • 连接时间
  • 最后一个错误(如果有)

无需参数。

6.断开与Neo4j的连接

断开与Neo4j数据库的连接。

无需参数。

环境变量

以下环境变量可以在 .env 文件:

变量 描述 默认值
NEO4J_URI NEO4J数据库URI NEO4J://本地主机:7687
NEO4J_用户名 NEO4J数据库用户名 NEO4J
NEO4J_PASSWORD NEO4J数据库密码 (空)
NEO4J_DATABASE NEO4J数据库名称 (默认数据库)
NODE_ENV 环境(开发/生产) 开发

与Cursor集成

此MCP服务器旨在与Cursor的MCP集成一起使用。Cursor将自动检测并使用此服务器提供的工具。

发展

项目结构

  • index.ts -启动MCP服务器的入口点
  • src/mcpNeo4jServer.ts -使用MCP SDK实现MCP服务器
  • src/services/neo4jService.ts -Neo4j数据库操作服务
  • src/types/index.ts -TypeScript类型定义
  • src/utils/errorHandler.ts -用于错误处理的实用函数

生产大楼

要构建用于生产的服务器,请执行以下操作:

# Build the server
bun build index.ts --outdir ./dist

# Make the output file executable
chmod +x ./dist/index.js

构建过程将所有依赖项捆绑到一个JavaScript文件中,使得在不安装依赖项的情况下轻松分发和运行服务器。

运行服务器

您可以使用提供的shell脚本运行服务器:

./run-mcp-server.sh

此脚本:

  • 将工作目录设置为脚本的位置
  • 如果日志目录不存在,则创建该目录
  • 使用Bun运行服务器并将输出记录到 logs/mcp-server.log

备注:该脚本要求Bun在您的PATH中安装并可用。

许可证

麻省理工学院