自然语言转图数据库工具

一个通过MCP服务器将自然语言查询转换为结构化节点并存储到Neo4j图数据库的项目,集成了GPT-4o和LangChain技术。

  • by nargesghv
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nargesghv/insert-data-in-to-neo4j-mcp-server

使用说明

📘 应用MCP Server在Neo4j(图形数据库)中插入节点和关系

一个项目,通过MCP接受来自Claude Desktop的自然语言(NL)查询,并使用GPT-4o+LangChain提取结构化节点信息并将其存储在Neo4j数据库中。


🚀 特性

  • Neo4j图形数据库:存储从NL输入中提取的节点。
  • MCP服务器(FastMCP):提供LLM可公开工具 createNode.
  • LangChain+GPT‑4o:将NL解析为结构化 Neo4jNode.
  • Claude桌面集成:使用MCP协议以交互方式调用您的工具。

🛠️ 先决条件

  • Python 3.10+
  • Neo4j社区或企业版(本地或通过Aura)
  • 已安装Claude Desktop
  • uv CLI(可选,但有助于运行MCP应用程序)

🗄️ 第一步:安装并设置Neo4j

  1. 下载并安装Neo4j桌面版 从 neo4j.com.

  2. 创建新数据库 使用Neo4j桌面UI或Neo4j浏览器:

    CREATE DATABASE mydb IF NOT EXISTS;
    
  3. 设置凭据 在创作过程中(neo4j 用户名和密码)。

  4. 获取螺栓连接URI,通常:

    bolt://localhost:7687
    

🧩 第二步:项目配置

  1. 克隆或创建此项目目录。

  2. 创建一个 .env 项目根目录中的文件:

    uri=bolt://localhost:7687
    username=neo4j
    pwd=your_password
    
  3. 安装依赖项:

    pip install neo4j neo4j_graphrag langchain langchain-core langchain-openai mcp python-dotenv
    

🧱 步骤3:代码概述

这 server.py 文件包括:

  • 使用LangChain的快速定义 PromptTemplate 和 PydanticOutputParser
  • 使用GPT-4o将NL转换为结构化节点的工具链
  • FastMCP 服务器暴露 createNode 工具
  • Neo4jWriter用于持久化图节点

🧪 步骤4:运行MCP服务器

您可以直接使用Python运行MCP服务器:

fastmcp install server.py

或可选使用 uv:

uv add mcp
uv run python server.py

💬 步骤5:与Claude Desktop(客户端)一起使用

  1. 启动克劳德桌面。

  2. 将其连接到正在运行的MCP服务器(通过标准I/O或HTTP)。

  3. 发送以下消息:

    Create a person node with name Alice and age 30
    
  4. 该工具将:

    • 生成一个 Neo4jNode 来自GPT‑4o

    • 将其写入Neo4j数据库

    • 回复:

      ✅ Node successfully added to db — Label: Person, Properties: name:Alice, age:30
      

🔍 步骤6:检查Neo4j中的数据

您可以使用Neo4j浏览器或Neo4j Bloom浏览创建的节点:

MATCH (n) RETURN n;

🔧 第7步:自定义和扩展

  • 添加更多工具(例如。, createRelationship, queryGraph)
  • 集成FastAPI或Gradio UI进行用户交互
  • 使用Claude通过MCP进行结构化函数调用

📚 参考文献


✅ 总结

该项目汇集了:

  • 💬 自然语言→ Graph GPT‑4o
  • 📡 MCP工具 暴露于克劳德桌面
  • 🌐 Neo4j 用于持久图形存储
  • 🔁 完全可扩展的基于图的RAG架构

对于任何问题或想法,请随时打开问题或公关!