Neo4j Agent Memory MCP 服务器

使用说明(简要、易操作)

  • 项目简介

    • 本仓库实现了一个 MCP 服务器,旨在为 LLM 客户端提供统一的上下文服务。服务器核心职责包括托管和管理资源(Resources)、注册与执行工具(Tools),以及定义并渲染 Prompt 模板(Prompts)。通过 JSON-RPC 协议处理客户端请求,具备会话管理、能力声明,并支持多种传输协议(如 Stdio、SSE、WebSocket),以实现一个安全、可扩展的上下文服务后端。
  • 主要功能点

    • MCP 服务器端功能
      • 资源管理:提供对资源与数据的统一访问入口,便于 LLM 读取或写入上下文相关数据。
      • 工具注册与执行:托管可被 LLM 调用的外部工具,支持参数传递和调用结果返回。
      • 提示模板定义与渲染:支持按需渲染用于与 LLM 交互的提示模板。
      • 会话与能力声明:对话会话管理、能力暴露,以及对客户端的能力声明。
      • 多传输协议支持:可通过不同传输机制与 MCP 客户端通信,例如标准输入输出、Server-Sent Events、WebSocket 等。
    • 与客户端的协作方式
      • 客户端通过 JSON-RPC 发送请求(如读取资源、执行工具、获取 Prompt 等)。
      • 服务器返回标准的 JSON-RPC 响应,或通过通知进行推送。
  • 安装步骤

    • 基本安装
      • 使用带 MCP 支持的发行包进行安装(仓库也提供了对应的 mcp 的依赖入口)。请先确保 Python 环境就绪。
    • 可选依赖
      • 如需集成 MCP 相关额外能力,可安装不同的扩展依赖包(如嵌入向量、语言模型、集成工具等)。
    • 启动 MCP 服务器
      • 按项目文档给出的启动方式运行服务器示例:
        • 直接启动(需要连接本地 Neo4j 实例)
          • 运行菜单命令:python -m neo4j_agent_memory.mcp.server --neo4j-uri bolt://localhost:7687 --neo4j-user neo4j --neo4j-password password
        • 使用 SSE 传输(适用于云环境如 Cloud Run)
          • 运行命令:python -m neo4j_agent_memory.mcp.server --transport sse --port 8080
    • 运行前置条件
      • Neo4j 数据库实例正常运行/可访问。
      • 如使用嵌入或工具,需要相应的依赖与配置(仓库中有示例配置)。
  • 服务器配置(客户端无需变更,提供给 MCP 客户端的配置示例,便于理解如何对接)

    • server_name: "Neo4j Agent Memory MCP Server"
    • command: "python -m neo4j_agent_memory.mcp.server"
    • args: [ "--neo4j-uri", "bolt://localhost:7687", "--neo4j-user", "neo4j", "--neo4j-password", "your-password", "--port", "8000" ]
    • transport: "stdio"(若改用 SSE/WebSocket,请相应调整为 "sse" / "websocket") 注解说明:
    • server_name 用于标识该 MCP 服务器的名称,便于在多服务器环境中区分。
    • command 与 args 给出启动服务器的具体命令和参数,用于 MCP 客户端在需要时记录或展示对接信息。
    • 传输模式可由 MCP 客户端协商选择,服务器实现通常支持多种传输方式,便于在不同环境中部署。
  • 基本使用方法

    • 启动后,MCP 客户端可通过 JSON-RPC 方式向服务器发起请求,例如读取资源、调用工具、获取 Prompts 等,服务器返回标准的 JSON-RPC 响应。
    • 客户端通常需要根据 MCP 服务器提供的能力进行初始化、注册工具以及请求数据上下文等操作。
    • 如需 UI 展示,可通过 SSE/WebSocket 等传输方式实现流式通信与实时提示。
  • 重要注意

    • MCP Server 的实现应确保对外暴露的 API 清晰、可扩展,且具备基本的安全与会话管理能力。
    • 根据仓库的实现细节,需要确保运行环境具备 Python 版本、Neo4j 数据库以及可用的网络访问权限。

服务器信息