支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Neo4j图数据建模MCP服务器:让你的数据模型更智能

发布日期:2025-07-08 09:50:57 浏览次数: 1515
作者:活水智能

微信搜一搜,关注“活水智能”

推荐语

Neo4j图数据建模MCP服务器让智能代理应用开发更高效,轻松实现数据模型标准化与协作。

核心内容:
1. MCP协议如何为LLM提供标准化工具和上下文
2. Neo4j图数据建模服务器的核心功能与配置方法
3. 数据建模资源与工具链的完整工作流程解析

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家



 

本文将介绍 模型上下文协议(MCP)的优势,Neo4j 图数据建模 MCP 服务器如何助力你的智能代理应用(Agentic applications),并展示如何与其他 MCP 服务器协作实现端到端工作流程。

MCP 提供了一种强大的方式,让智能代理(agents)能够轻松访问标准化工具。它定义了应用程序如何以工具、资源和提示的形式向大型语言模型(LLM)提供上下文。本文将详细介绍如何使用 Neo4j 图数据建模 MCP 服务器为你的 Neo4j 支持的应用生成图数据模型。

图数据建模包括识别数据中的实体(entities),并用关系(relationships)将它们连接起来。实体和关系都可以拥有属性(properties),提供附加信息。

创建图数据模型时,首先理解它们将要解决的使用场景至关重要。这会指导我们将编写哪些查询,并最终决定数据如何在图中表示。

Neo4j 是一个无模式数据库(schemaless database),因此重构数据模型非常容易。这是因为为了提高查询性能或增加新的使用场景,重构数据模型是常见的做法。由于数据建模步骤可能在项目的开发周期中多次进行,Neo4j 图数据建模 MCP 服务器是一款非常有用的工具。

Neo4j 图数据建模 MCP 服务器的当前版本是 v0.1.1。

配置

使用以下配置将 Neo4j 图数据建模 MCP 服务器集成到目标客户端应用程序中:

{
  "mcpServers": {
   "neo4j-graph-data-modeling": {
       "command""uvx",
       "args": [ "mcp-neo4j-data-modeling@0.1.1" ]
    }
  }
}

有许多兼容 MCP 的客户端,例如 Claude Desktop 和 Cursor IDE。请查看完整的 MCP 客户端列表(https://modelcontextprotocol.io/clients)。

数据建模资源

Neo4j 图数据建模 MCP 服务器提供了一些智能代理资源,用于协助数据建模和数据导入(ingestion)。这些资源包括用于在 MCP 服务器内定义图数据模型的节点、关系和属性的结构说明。

MCP 服务器还提供一个资源,阐述了将数据导入 Neo4j 的过程,以便你可以将数据建模 MCP 服务器与其他数据导入工具结合使用。

数据建模工具

MCP 服务器提供了多种工具,涵盖验证、导入/导出、可视化以及代码生成等功能。

MCP 服务器提供了针对节点、关系和整个数据模型的验证工具。这些工具接收一个符合上述资源中定义的结构的 Python 字典作为输入。然后,该字典被转换为 Pydantic 模型,任何错误都会返回给智能代理,以便可以修正数据模型。

这些工具目前验证的功能包括:

  • • 节点上关键属性(Key property)是否存在
  • • 属性、节点或关系的重复项
  • • 关系源节点和目标节点是否存在

MCP 服务器还提供一个工具,可以生成用于创建数据模型 Mermaid 图的配置。许多 MCP 客户端支持 Mermaid 图,能够帮助用户快速可视化并理解数据模型。

下图展示了从 Survivor Borneo Wiki(https://survivor.fandom.com/wiki/Survivor:_Borneo) 生成的数据模型。

基于《幸存者》第一季数据生成的 Mermaid 图数据模型

使用 Arrows.app (https://arrows.app/#/local/id=pGcjyOUdMMfDWRcPnEs1) 绘图工具可以手动创建数据模型,然后将其导入客户端应用程序进行修改。通过调用工具,也可以将 AI 生成的数据模型导出为 Arrows 格式,以便在 Arrows 中手动编辑。

注意 Arrows 数据模型中的属性格式,以确保保留客户端应用程序生成的相关信息。每个属性都遵循以下格式:

<property-name>: <neo4j-type> | <description> | OPTIONAL<key-identifier>

其中的 KEY 部分是可选的,每个节点或关系应该只在一个属性上提供。这是当前数据建模 MCP 服务器构建的一个约束。

MCP 服务器还提供了生成 Cypher 代码的工具,用于根据数据模型导入数据。这段代码包括必要的索引(indexes)和约束(constraints),以及导入节点、关系和属性的代码。

如果智能代理也能访问 Cypher 执行工具,它可以利用 Neo4j 数据导入过程资源来指导其导入逻辑。

端到端开发者流程

当智能代理使用数据建模 MCP 服务器进行开发时,通常会遵循以下流程。这个流程包括在客户端应用程序内进行一些数据探索,以及可选地使用 Neo4j Cypher MCP 服务器来加载和查询生成的图。

通用的智能代理开发流程

在此示例中,我将快速演示一个开发会话,我使用 Claude Desktop 以及 Neo4j Cypher 和数据建模 MCP 服务器来构建一个关于《幸存者》第一季数据的图。

我们将创建一个与上面不同的图数据模型。

我使用的 Claude 配置文件:

{
  "mcpServers": {
    "mcp-data-modeling": {
      "command""uvx",
      "args": [ "mcp-neo4j-data-modeling@0.1.1" ]
    },
    "mcp-cypher": {
      "command""uvx",
      "args": [ "mcp-neo4j-cypher@0.2.3" ],
      "env": {
        "NEO4J_URL""bolt://localhost:7687",
        "NEO4J_USERNAME""neo4j",
        "NEO4J_PASSWORD""password",
        "NEO4J_DATABASE""neo4j"
      }
    }
  }
}

我使用本地的 Neo4j 实例(通过 Neo4j Desktop)来存储生成的图。

首先,你需要向智能代理提供数据和一些使用场景。这些数据可以来自网站、提供的 CSV 文件,或者通过 MCP 工具调用获得。一旦智能代理分析了数据并理解了你的使用场景,它就可以开始建模过程。

我向 Claude 提供了一个指向 Survivor Borneo Wiki (https://survivor.fandom.com/wiki/Survivor:_Borneo) 的链接以及一些我想用图解决的使用场景。

使用 Claude 进行数据探索

一旦 Claude 理解了我们的数据,它将参考数据建模 MCP 服务器提供的模式资源(schema resources)来构建数据模型的 JSON 表示。随后,该 JSON 表示将被传递给数据模型验证工具,该工具将捕获模型中的任何错误。Claude 应该会修正这些错误,并可能提示用户补充任何缺失的信息。

生成有效的数据模型后,Claude 可以使用 Mermaid 配置工具获取有效的 Mermaid 配置。然后,你可以用它来生成数据模型的可视化图。

许多客户端应用程序,例如 Claude Desktop 和 Cursor,都支持 Mermaid 图。

可视化第一版草稿后,我们可以向 Claude 请求修改。这将循环执行数据模型修正 → 验证 → 可视化步骤。

对于我们的演示目的,我们对这个数据模型感到满意,所以现在可以进入数据导入阶段。数据建模 MCP 服务器提供的代码生成工具可以用于将数据导入到 Neo4j 实例中。虽然数据建模 MCP 服务器目前不直接连接到数据库,但你可以使用 Neo4j Cypher MCP 服务器在你的客户端应用程序中运行任何数据导入代码。

注意:不建议通过 Claude Desktop 导入数据,但对于快速概念验证或原型测试来说是个不错的选择。

使用 Neo4j Cypher MCP 服务器和 Claude 导入数据

注意这里 Claude 选择仅使用数据建模 MCP 服务器提供的用于创建约束的 Cypher 查询。有时,如果我们不明确要求代理使用 MCP 工具,Claude 可能会选择自己编写 Cypher 代码。

最后,你可以运行 Cypher 查询来确认数据是否成功加载至 Neo4j 数据库。你可以使用 Neo4j Cypher MCP 服务器来完成此操作,或通过 Aura 控制台或 Neo4j Desktop 应用程序手动进行。

Claude 运行 Cypher 查询来回答我们的使用场景

然后我们可以得到针对我们使用场景的详细答案。

温馨提示:以下内容涉及《幸存者》婆罗洲季的部分关键情节,请谨慎阅读!

一名玩家在合并后投票淘汰非原部落成员的频率是多少?
挑战赛获胜者在获胜后的理事会投票中,获得更多被投票淘汰票数的频率是多少?
赢得挑战赛对于赢得最终理事会有多大影响力?

总结

数据建模有时是迁移数据到图数据库的一个障碍,而 Neo4j 图数据建模 MCP 服务器缓解了一些痛点。如今,你可以轻松实现概念验证,或者迭代多个数据模型版本,同时在同一应用内完成验证与可视化操作。数据建模 MCP 服务器还可以与其他 MCP 服务器结合使用,创建端到端的开发工作流程,让你能够快速以图的形式探索你的数据。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询