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 服务器入口启动
- 通过专用脚本或命令行工具启动后将监听指定端口
- 直接通过命令启动 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 应用中以统一接口访问上下文服务。
-
关键词 模型上下文服务, JSON-RPC, 工具调用, 资源与模板管理, 多传输协议
-
分类ID 6