NeuralMemory MCP 服务器

使用说明

项目简介

该仓库实现了一个基于 MCP 的服务器端解决方案,用于向 LLM 客户端提供标准化的上下文信息与功能入口。核心能力包括管理资源(Resources)、注册并执行工具(Tools)、定义与渲染 Prompt 模板等,以 JSON-RPC 作为通信协议,支持多种传输通道,确保会话管理、能力声明与安全控制,方便将上下文服务无缝接入 LLM 驱动的应用场景。

主要功能点

  • MCP 协议处理
    • 解析和处理符合 MCP 规范的 JSON-RPC 请求,返回 JSON-RPC 响应或发送通知。
  • 资源与提示管理
    • 托管并提供对各种资源(如提示、模板、Prompts)的读取和渲染能力,便于将上下文注入到对话中。
  • 工具注册与执行
    • 允许注册外部工具,LLM 客户端可通过 MCP 调用外部功能,实现对外部能力的扩展。
  • 会话与能力声明
    • 服务器端负责会话状态、能力声明、权限控制,以便在多客户端场景中维持一致性与安全性。
  • 多传输协议支持
    • 提供 stdin/stdout、SSE、WebSocket 等多种传输方式,确保在不同环境中的可用性与实时性。
  • 安全与可扩展性
    • 通过服务器端的策略、限流、权限等机制,提升安全性与可扩展性,确保在大规模并发场景下的稳定性。

安装步骤

  • 推荐方式
    • 使用官方打包的服务器特性并启用服务器能力:安装并运行 MCP 相关组件(仓库内含 MCP 服务器实现与依赖)。
  • 基本环境
    • Python 3.11 及以上
  • 启动方式
    • 直接通过命令启动 MCP 服务器(示例命令会因部署方式不同而略有差异,通常类似如下形式):
      • 使用打包的 MCP 服务器入口启动
      • 通过专用脚本或命令行工具启动后将监听指定端口
  • 运行依赖
    • 需要安装服务器扩展项(如服务器相关依赖),具体可参考安装文档中的 server 依赖分组。

说明:MCP 客户端在启动后需要提供与 MCP 服务器的连接信息,客户端配置包括服务器名称、启动命令和参数等以便对接;客户端配置不需要在本仓库中实现,仅在客户端侧提供即可。

服务器配置(客户端加载 MCP 服务器的连接信息时需要的 JSON 配置示例说明)

  • server name: neural-memory-mcp
  • command: nmem-mcp
  • args: 多种传输方式的组合参数,例如 ["--host","0.0.0.0","--port","8000","--transport","stdio,sse,websocket"]

注释说明:

  • server name 用于标识 MCP 服务器实例,便于客户端在多服务器环境中区分与切换。
  • command 指定启动服务器的可执行命令名称。
  • args 为启动参数,包含网络地址、端口以及可用的传输协议,客户端基于该信息建立命名化的 MCP 连接,并通过 JSON-RPC 进行请求与响应。
  • 该配置不需要客户端直接执行,而是用于 MCP 客户端在初始化连接时读取并建立对服务器的访问。

基本使用方法

  • 启动服务器后,客户端通过 JSON-RPC 进行请求,常见的交互包括:
    • 读取资源(Resources)
    • 调用工具(Tools)
    • 获取并渲染 Prompt 模板(Prompts)
  • 典型工作流可能包括:
    • 通过 MCP 请求获取可用的工具列表与能力
    • 请求资源以获取对话注入的上下文片段
    • 调用外部工具以执行特定任务(如记忆、推理辅助、模板渲染等)
    • 渲染并返回给 LLM 客户端用于对话上下文增强

提示:MCP 客户端需要的仅是服务器的连接信息(来自配置),以及对 MCP 提供的标准化接口的调用方式。该仓库实现的是服务器端,客户端实现通常在其他组件中完成。

相关示名

  • 支持的传输协议包括 stdin/stdout、SSE、WebSocket,确保在容器化、嵌入式或 Web 环境中的灵活部署。
  • 服务器提供的核心能力包括资源、工具、Prompts、会话管理、能力声明等,便于在 LLM 应用中以统一接口访问上下文服务。
  1. 关键词 模型上下文服务, JSON-RPC, 工具调用, 资源与模板管理, 多传输协议

  2. 分类ID 6

服务器信息