Structured Memory Engine MCP 服务器
使用说明(Markdown格式)
-
项目简介
- 结构化内存引擎(SME)的 MCP 服务器端实现,提供资源管理、工具注册、Prompt 渲染等核心能力,供 LLM 客户端通过 MCP 的 JSON-RPC 风格进行上下文服务交互。
-
主要功能点
- 资源/资源管理:托管和管理 Resources(如内存、文件、片段等数据源),提供对数据的读取与查询能力。
- 工具注册与调用:注册多种 Tools(如 sme_query、sme_context、sme_remember、sme_index 等),LLM 客户端可通过 JSON-RPC 调用外部功能。
- Prompt 模板与上下文渲染:定义并渲染 Prompts,提供可定制的 LLM 交互模式与上下文注入能力。
- JSON-RPC API:以 MCP 规范的请求/响应形式暴露能力,便于与各类 LLM 客户端对接。
- 会话管理与能力声明:支持会话、能力声明和跨会话的上下文服务能力。
- 多传输协议扩展:默认通过 Stdio 进行通信,后续可扩展为 SSE/WebSocket 等传输协议。
-
安装步骤
- 直接在本地环境中获取源码后,安装依赖并运行 MCP 服务器入口文件:
- npm install
- node lib/mcp-server.js
- 启动后,服务器将对外提供 MCP 端点,供 MCP 客户端通过配置连接。
- 直接在本地环境中获取源码后,安装依赖并运行 MCP 服务器入口文件:
-
服务器配置(MCP 客户端配置信息示例)
- 说明:以下 JSON 配置用于 MCP 客户端对接本 MCP 服务器,客户端本身不需要你修改;这是对接服务器所需的配置信息示意,若需在代码中使用,请将其以 JSON 形式提供给客户端。
- 配置示例(说明性文本,不含代码块): { "serverName": "sme", "command": "node", "args": ["path/to/你的/mcp-server入口文件.js"], // 例如 "lib/mcp-server.js" "env": { "SME_WORKSPACE": "/absolute/path/to/你的工作区" // 指定工作区目录,服务器会在该工作区加载配置与数据 }, "transports": ["stdio"] // 可以扩展为 ["stdio", "sse", "websocket"],当前实现以 stdio 为默认传输 } 说明:
- serverName:在客户端注册的 MCP 服务器名称,便于区分与管理。
- command/args:启动 MCP 服务的命令及参数,客户端需要知道如何启动服务器。
- env:启动时需要的环境变量,例如工作区路径。
- transports:支持的传输协议(此实现以 stdio 为核心,未来可扩展为 SSE/WebSocket)。
-
基本使用方法
- 启动:在服务端运行 MCP 服务器入口文件(如 node lib/mcp-server.js),服务器启动后将对外提供 MCP 服务接口。
- 客户端接入:将上述 JSON 配置提供给 MCP 客户端(如 Claude Code 等),使其通过 MCP 协议与服务器进行资源查询、工具调用和 Prompt 获取等操作。
- 调用示例(简述,不包含代码):
- 客户端通过 JSON-RPC 请求调用 sme_query,获取内存中匹配结果。
- 客户端通过 sme_context 获取自定义上下文(自动注入到对话中)。
- 客户端通过 sme_remember 保存新的记忆片段,触发重新索引与嵌入更新(若嵌入功能可用)。
- 兼容性与扩展:
- 支持多工具注册、Prompts 定义、以及对外暴露的 API,方便将记忆、工具及模板在 LLM 运行时复用。
- 通过 bin/sme-hook.js、扩展插件等实现与外部系统(如 OpenClaw)更紧密的集成。
-
关键词 资源管理, 工具注册, JSON-RPC, 本地离线, 上下文服务
-
分类 6