这是一个用于查询混合图和向量数据库系统的模型上下文协议(MCP)服务器,结合了Neo4j(图数据库)和Qdrant(向量数据库),以实现强大的语义和基于图的文档检索。
GraphRAG MCP 提供了一个大型语言模型与混合检索系统之间的无缝集成,该系统利用了图数据库(Neo4j)和向量数据库(Qdrant)的优势。这使得:
该项目遵循模型上下文协议规范,使其兼容任何启用MCP的客户端。
克隆此仓库:
git clone https://github.com/rileylemm/graphrag_mcp.git
cd graphrag_mcp
使用uv安装依赖项:
uv install
在.env文件中配置您的数据库连接:
# Neo4j 配置
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
# Qdrant 配置
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION=document_chunks
运行服务器:
uv run main.py
对于详细的底层混合数据库系统设置指南,请参阅配套仓库:GraphRAG 混合数据库
安装并启动Neo4j:
# 使用Docker
docker run \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/password \
-v $HOME/neo4j/data:/data \
-v $HOME/neo4j/logs:/logs \
-v $HOME/neo4j/import:/import \
-v $HOME/neo4j/plugins:/plugins \
neo4j:latest
安装并启动Qdrant:
# 使用Docker
docker run -p 6333:6333 -p 6334:6334 \
-v $HOME/qdrant/storage:/qdrant/storage \
qdrant/qdrant
要在两个数据库中索引您的文档,请按照以下步骤操作:
请参阅GraphRAG 混合数据库仓库中的详细索引脚本和程序。
将运行脚本设为可执行:
chmod +x run_server.sh
将服务器添加到您的MCP配置文件(~/.cursor/mcp.json或Claude Desktop等效文件)中:
{
"mcpServers": {
"GraphRAG": {
"command": "/path/to/graphrag_mcp/run_server.sh",
"args": []
}
}
}
重启您的MCP客户端(Cursor、Claude Desktop等)
此服务器提供以下工具供LLM使用:
search_documentation - 使用语义搜索查找信息
# 在MCP上下文中使用的示例
result = search_documentation(
query="图上下文扩展是如何工作的?",
limit=5,
category="技术"
)
hybrid_search - 使用语义和基于图的方法进行搜索
# 在MCP上下文中使用的示例
result = hybrid_search(
query="向量相似性与图关系",
limit=10,
category=None,
expand_context=True
)
服务器提供以下资源:
https://graphrag.db/schema/neo4j - 关于Neo4j图模式的信息https://graphrag.db/collection/qdrant - 关于Qdrant向量集合的信息uv install以确保所有包均已安装.env文件中的凭据欢迎贡献!请随意提交拉取请求。
MIT许可证
版权所有 (c) 2025 Riley Lemm
在此授权任何人免费获得此软件及其相关文档文件(“软件”)的副本,在不受限制的情况下处理软件,包括但不限于以下权利:
以上版权声明和本许可通知应包含在软件的所有副本或实质部分中。
软件按“原样”提供,不附带任何形式的保证,包括但不限于对适销性、特定用途适用性和非侵权性的默示保证。在任何情况下,作者或版权持有者均不对因软件或其使用或其他交易而引起的任何索赔、损害或其他责任承担任何责任,无论是合同行为、侵权行为还是其他行为。
如果您使用此MCP服务器或将它适应自己的用途,请提供致谢给Riley Lemm,并链接回此仓库(https://github.com/rileylemm/graphrag_mcp)。