Neo4j 的模型上下文协议 (MCP) 集成
什么是模型上下文协议
模型上下文协议 (MCP) 模型上下文协议 由 Anthropic 于 2024 年 11 月推出,旨在简化 LLM 助手与提供数据、服务、API 和本地系统访问权限的工具的集成。
MCP 架构由 MCP 主机 程序组成,该程序可配置多个 MCP 服务器,这些服务器提供工具、资源和提示等功能。
如果您想深入了解,这里有一篇综合概述,包含 Neo4j 的解释和示例。
每当用户(或代理)在交互中请求某个可通过使用 MCP 服务器功能执行的任务时,LLM 将选择工具,提取参数并通过连接到 MCP 服务器的 MCP 客户端 调用该工具。

大型云服务、基础设施和 LLM 提供商已宣布在其产品中支持 MCP。
此外,LangChain、CrewAI、Pydantic.AI 和 Agent Development Kit (ADK) 等代理框架也支持将 MCP 作为工具。
MCP 协议中仍存在一些未解决的问题,尤其是在安全性、发现、可信部署和权限控制方面。
但 Anthropic 和更广泛的社区决心迅速解决这些问题。特别是随着大型提供商加入生态系统,许多企业相关的需求将很快得到解决。
自 2025 年初以来,MCP 协议得到了广泛采用,社区已为各种 API 构建了数千个服务器。
MCP 服务器
MCP 服务器通过不同的传输方式(标准 I/O 或 HTTP(S))提供 MCP 协议 (JSON-RPC) 的实现。目前大多数服务器都是本地服务器,基于 HTTP 的服务器重要性日益增加,特别是随着 MCP 规范最近加入了 OAuth 2.1。
它们提供这些功能
-
工具 - 工具可以检索数据或执行操作,它们接收参数并向客户端返回结果或错误
-
资源 - 只读的静态或动态资源,如文件、页面、模式
-
提示 - 带有占位符的多步提示,用于指导用户与此服务进行交互
一些示例服务器(Neo4j 服务器在下文解释)
MCP 客户端/主机
一个 MCP 主机(例如 Claude、Cursor 或 CoPilot 等 LLM 应用程序)可以配置多个 MCP 服务器。当 MCP 服务器被激活时,它会创建一个 MCP 客户端,用于打开与 MCP 服务器的持久双向连接(使用 JSON RPC)。
随后,每当用户请求一个可以使用服务器功能的任务时,MCP 主机 LLM 会:
-
从指令和对话上下文中提取参数和信息,
-
根据描述和过往使用情况选择最佳工具,并
-
发送请求。
-
响应随后被整合到当前上下文中,
-
将在对话中使用,并且
-
可以作为其他 MCP 调用的输入,或者
-
生成文档、图像、代码等人工产物。
开发者工具和 IDE
所有 AI 驱动的 IDE 现在都支持 MCP,这样在您的开发过程中,您可以从 AI 驱动的聊天中访问服务。内置代理可以使用这些 MCP 服务器来获取与您的项目相关的信息(例如数据库定义)、启动服务或数据库、打开拉取请求或创建 JIRA 工单。

终端用户工具
终端用户工具将能够使用 MCP 服务器安全地访问 SaaS 服务、文档存储(Drive、Sharepoint、OneDrive、Box)、生成式工具和企业数据库。
-
Claude Desktop (Anthropic 出品,仅支持 STDIO 服务器)
-
微软 Copilot (Studio)
-
Google Agent Space (将通过 ADK 推出)
-
OpenAI ChatGPT 桌面版 (即将推出)

Neo4j MCP 服务器
第一个通过 Cypher 与 Neo4j 数据库交互的 Neo4j MCP 服务器于 2024 年 12 月 MCP 推出后不久创建。
从那时起,我们又增加了几个 MCP 服务器,用于控制 Neo4j Aura API,并将记忆以知识图谱的形式存储在 Neo4j 中。
Neo4j 还与 Google 的 MCP Toolbox 集成,为图数据库提供优化的工具集成。
MCP-Neo4j-Cypher
mcp-neo4j-cypher 服务器允许提取图数据库模式,以便代理-LLM 生成 Cypher 查询来查询和更新数据库。
工具
-
get-neo4j-schema
-
read-neo4j-cypher
-
write-neo4j-cypher


这是一篇博客文章,展示了服务器的实际应用,逐步从数据库中提取信息,并将其用于进一步深入研究以及渲染交互式图表和可视化。
MCP-Neo4j-Memory
MCP 带有一个用于存储记忆的知识图谱示例实现,我们将其升级为使用 Neo4j 作为真实的图数据库。
mcp-neo4j-memory 服务器在 Neo4j 中存储和更新带有观察和实体之间关系的实体,并可以搜索和检索相关的子图。
它也适用于转化为更全面知识图谱的长时间对话或计划。
它提供以下工具和操作
查询
-
read_graph
加载整个图 -
search_nodes
按搜索字符串 -
find_nodes
按名称
更新
-
create_entities
,delete_entities
- 创建记忆实体 -
create_relations
,delete_relations
- 管理关系 -
add_observations
,delete_observations
- 向实体添加观察语句



MCP Neo4j Aura 管理器
对于开发者而言,使用 MCP 服务器的一个有趣领域实际上不是数据方面,而是基础设施。在开发应用程序时,从 IDE 中方便地启动或管理数据库实例,或暂停/恢复它们是很有用的。其他基础设施方面可能包括迁移、成本概览、邀请团队成员等。
mcp-neo4j-aura-manager 提供对 Neo4j Aura API 的访问,用于管理数据库、租户和项目。
配置了客户端 ID 和客户端密钥后,MCP 服务器可以代表您访问 Aura API,并提供以下工具作为操作:
实例管理
-
list_instances
-
get_instance_details
,get_instance_by_name
-
create_instance
,delete_instance
-
update_instance_name
,update_instance_memory
,update_instance_vector_optimization
-
pause_instance
,resume_instance
租户/项目管理
-
list_tenants
-
get_tenant_details


Google MCP 工具箱
单个参数化查询可以定义为工具并提供给代理框架使用。Toolbox 负责数据库连接管理、认证、结果处理和错误处理。

Toolbox 作为 MCP 服务器集成,但也直接与 LangChain 和 LlamaIndex 集成。
您可以将 MCP 工具箱部署到 Cloud Run 或 Kubernetes,或在本地系统上运行它。
Neo4j 集成于 2024 年 12 月初添加,提供:


MCP 与代理框架
大多数代理框架都支持将 MCP 服务器作为工具,Neo4j MCP 服务器也不例外。
将 MCP 工具箱和 Neo4j 与 Google 代理开发工具包 (ADK) 结合使用
Google 新的代理开发工具包 (ADK) 也支持将 MCP 服务器集成作为代理的工具。
它还原生支持 MCP 工具箱,因此其中定义的工具可以直接使用。
此笔记本演示了将代理开发工具包与 Neo4j 结合使用的示例。
将 MCP 服务器与 LangChain / LangGraph 结合使用
MCP 通过MCP 适配器在 LangChain 生态系统中提供。
LangChain 还分享了一篇非常有趣的关于 MCP 的讨论。
将 MCP 服务器与 LlamaIndex 工作流结合使用
MCP 服务器通过 MCP 工具规范集成到 LlamaIndex 中。代理可以通过 通过 LlamaHub 安装的集成连接到工具,如本 LlamaIndex MCP 示例笔记本所示。
将 MCP 服务器与 Pydantic.AI 结合使用
PydanticAI 支持模型上下文协议 (MCP) 以三种方式:
-
代理作为 MCP 客户端,连接到 MCP 服务器以使用其工具
-
代理可以在 MCP 服务器内部使用
-
作为 PydanticAI 的一部分,我们正在构建多个 MCP 服务器
将 MCP 服务器与 Semantik Kernel 结合使用
MCP 工具可以转换为 Semantic Kernel 函数,以便它们可以添加到 Kernel 实例中。