项目简介

此项目是基于Model Context Protocol (MCP) 构建的一个服务器示例,旨在实现AI助手与Neo4j图数据库的无缝集成。它使用PHP和Symfony框架开发,使AI模型能够通过标准化的MCP接口与图数据进行交互。

主要功能

  • 执行Cypher查询: 允许AI助手调用工具执行任意Cypher语句来查询或操作Neo4j数据库。
  • 获取图数据: 支持通过资源接口检索数据库中的节点、关系及其属性数据。
  • 访问数据库结构: 提供数据库模式(Schema)作为可读资源,帮助AI理解数据库的结构(节点标签、关系类型、属性键等)。
  • 通过自然语言交互: 使连接的AI助手能够理解用户关于Neo4j数据库的自然语言查询,并将其转化为相应的MCP请求(调用工具、读取资源)。

安装步骤

  1. 确保您的系统已安装并运行Docker。
  2. 从GitHub仓库下载或克隆项目代码到本地。
  3. 打开终端,导航到项目的根目录。
  4. 运行以下命令构建并启动包含Neo4j数据库和PHP应用容器的服务:
    docker compose up --build -d
  5. 在新的终端中,进入运行中的PHP容器并安装项目所需的PHP依赖:
    docker compose exec php composer install
  6. 确认Neo4j数据库已启动并可访问(通常在 http://localhost:7474,默认用户名 'neo4j',密码 'password')。

服务器配置

MCP服务器通过标准的JSON-RPC协议与兼容的MCP客户端(如Cursor, Claude Desktop, VS Code等)通信,通常使用Stdio(标准输入/输出)作为传输协议。

要使用此Neo4j MCP服务器,您需要在您的MCP客户端中进行配置。配置信息是一个JSON对象,指定服务器的名称、启动命令及参数。

对于此项目,客户端需要配置服务器的启动命令为 'docker',启动参数应指向Docker Compose文件,并执行Symfony控制台命令来启动MCP服务。典型的参数列表为: 'compose', '-f', '/path/to/your/project/docker-compose.yml', 'exec', 'php', 'bin/console', 'mcp:server'

其中,'/path/to/your/project' 必须替换为您本地项目仓库的绝对路径。客户端会使用这些命令来启动服务器进程,并通过该进程的标准输入和输出来发送和接收JSON-RPC消息。

请参考您的MCP客户端文档,将上述启动命令和参数添加到其服务器配置中。配置完成后,通常需要在客户端界面中重新加载或启用该MCP服务器,直到连接状态显示正常。

基本使用方法

安装并成功配置客户端连接后,您可以在支持MCP的AI助手中开始与Neo4j数据库交互:

  • AI助手应能访问并理解数据库模式(Schema)信息(通过读取 'neo4j://schema' 资源)。
  • 您可以直接向AI助手提问关于您的图数据的问题,例如:"数据库里有多少个用户?" 或 "找出与产品A相关的节点"。
  • 您也可以直接向AI助手提供Cypher查询语句,并请求其执行,例如:"执行以下Cypher查询:'MATCH (u:User)-[:PURCHASED]->(p:Product) RETURN u.name, p.name LIMIT 10'"。

AI助手会根据您的输入,通过MCP协议调用服务器提供的 'run_cypher_query' 工具或读取 'neo4j://schema' 资源,并将结果呈现给您。

信息

分类

数据库与文件