返回 MCP 目录
public公开dns本地运行

mcp-neo4j-graphrag

一个基于Neo4j的MCP服务器,扩展了向量搜索、全文搜索和增强Cypher查询功能,专为GraphRAG应用设计。

article

README

🚀 Neo4j GraphRAG MCP 服务器

这是一个 MCP 服务器,它为 Neo4j 增添了向量搜索全文搜索以及适用于 GraphRAG 应用程序的搜索增强型 Cypher 查询功能。

灵感来源Neo4j Labs mcp-neo4j-cypher 服务器。此服务器增加了向量搜索、全文搜索以及创新的 search_cypher_query 工具,用于将搜索与图遍历相结合。

🚀 快速开始

本服务器使大语言模型(LLMs)能够:

  • 🔍 使用语义相似度搜索 Neo4j 向量索引。
  • 📝 使用 Lucene 语法搜索全文索引。
  • ⚡ 通过 search_cypher_query 将搜索与 Cypher 查询相结合。
  • 🕸️ 执行只读 Cypher 查询。

它基于 LiteLLM 构建,支持多供应商嵌入(如 OpenAI、Azure、Bedrock、Cohere 等)。

相关链接:官方 Neo4j MCP 服务器,请参阅 neo4j/mcp。Neo4j Labs MCP 服务器(Cypher、内存、数据建模),请参阅 neo4j-contrib/mcp-neo4j

📦 安装指南

步骤 1:下载仓库

git clone https://github.com/guerinjeanmarc/mcp-neo4j-graphrag.git
cd mcp-neo4j-graphrag

步骤 2:配置你的 MCP 客户端

Claude Desktop

编辑配置文件:

  • macOS/Linux~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json

添加此服务器配置(更新为你克隆仓库的路径):

{
  "mcpServers": {
    "neo4j-graphrag": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-neo4j-graphrag",
        "run",
        "mcp-neo4j-graphrag"
      ],
      "env": {
        "NEO4J_URI": "neo4j+s://demo.neo4jlabs.com",
        "NEO4J_USERNAME": "recommendations",
        "NEO4J_PASSWORD": "recommendations",
        "NEO4J_DATABASE": "recommendations",
        "OPENAI_API_KEY": "sk-...",
        "EMBEDDING_MODEL": "text-embedding-ada-002"
      }
    }
  }
}

Cursor

在你的项目或全局设置中编辑 .cursor/mcp.json。使用与上述相同的配置。

步骤 3:重新加载配置

  • Claude Desktop:退出并重新启动应用程序。
  • Cursor:重新加载窗口(Cmd/Ctrl + Shift + P → "重新加载窗口")。

✨ 主要特性

get_neo4j_schema_and_indexes

发现图模式、向量索引和全文索引。 💡 代理在使用其他工具之前,应首先自动调用此工具,以了解数据库的模式和索引。

示例提示

"数据库中有什么?"

vector_search

使用嵌入进行语义相似度搜索。

参数text_queryvector_indextop_kreturn_properties

示例提示

"有哪些关于人工智能的电影?"

fulltext_search

使用 Lucene 语法(AND、OR、通配符、模糊匹配)进行关键字搜索。

参数text_queryfulltext_indextop_kreturn_properties

示例提示

"查找名为 Tom 的人"

read_neo4j_cypher

执行只读 Cypher 查询。

参数queryparams

示例提示

"给我展示所有类型以及每种类型中有多少部电影"

search_cypher_query

将向量/全文搜索与 Cypher 查询相结合。使用 $vector_embedding$fulltext_text 占位符。

参数cypher_queryvector_queryfulltext_queryparams

示例提示

"在一个查询中,关于'时间旅行冒险'的电影的导演和类型有哪些"

📚 详细文档

环境变量

| 属性 | 详情 | |------|------| | NEO4J_URI | 必需,默认值 bolt://localhost:7687,Neo4j 连接 URI | | NEO4J_USERNAME | 必需,默认值 neo4j,Neo4j 用户名 | | NEO4J_PASSWORD | 必需,默认值 password,Neo4j 密码 | | NEO4J_DATABASE | 可选,默认值 neo4j,数据库名称 | | EMBEDDING_MODEL | 可选,默认值 text-embedding-3-small,嵌入模型(见下文) |

嵌入供应商

设置 EMBEDDING_MODEL 和相应的 API 密钥: | 属性 | 详情 | |------|------| | OpenAI | 模型格式 text-embedding-ada-002,API 密钥变量 OPENAI_API_KEY | | Azure | 模型格式 azure/deployment-name,API 密钥变量 AZURE_API_KEYAZURE_API_BASE | | Bedrock | 模型格式 bedrock/amazon.titan-embed-text-v1,API 密钥变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY | | Cohere | 模型格式 cohere/embed-english-v3.0,API 密钥变量 COHERE_API_KEY | | Ollama | 模型格式 ollama/nomic-embed-text,无 API 密钥(本地) |

高级主题

有关以下内容,请参阅 docs/ADVANCED.md

  • 与 Neo4j Labs mcp-neo4j-cypher 服务器的比较。
  • 生产特性(输出清理、令牌限制)。
  • 详细的工具文档。

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端