MemoLite MCP 服务器

使用说明(Markdown格式)

  • 项目简介

    • MemoLite MCP 服务器是 MemoLite 生态的一部分,基于 MCP 标准实现后端服务,核心职责包括管理资源、注册与执行工具、以及定义和渲染面向 LLM 的上下文模板。它通过 JSON-RPC 风格的请求/响应与客户端进行通信,支持在标准化的上下文中提供长期记忆、推理工具和提示模板等能力。
  • 主要功能点

    • 资源与数据访问:提供对记忆、会话、场景等资源的托管和查询能力,支持多数据库后端(SQLite、Kùzu 图数据等)的集成与管理。
    • 工具注册与执行:允许 LLM 客户端通过 MCP 调用服务器端工具,例如添加记忆、检索记忆、获取上下文等,工具执行支持错误处理、输入校验和结果返回。
    • Prompt/上下文模板:定义和渲染用于 LLM 交互的提示模板及上下文窗格,确保对话流中的上下文可以被一致地管理与扩展。
    • JSON-RPC 通信:服务器通过标准化的 JSON-RPC 方式接收请求并返回 JSON-RPC 响应,具备错误路径友好处理。
    • 多传输协议支持:服务器端对 stdio、HTTP(S) 等传输方式提供支持,以便在不同部署场景中集成。
    • 会话与权限管理:提供会话级上下文、对 API Key 的权限校验等能力,确保运行环境的安全性。
  • 安装与运行步骤

    • 安装依赖并获取代码
      • 该项目是基于 Python 的实现,包含服务器端代码和脚本,需在合适的 Python 环境中运行。
    • 启动 MCP 服务器
      • 通过前端脚本启动标准输入输出(stdio)模式的 MCP 服务器:
        • memolite-mcp-stdio
      • 或通过 HTTP 服务器模式启动:
        • memolite-mcp-http
    • 运行后端服务器后,MCP 客户端即可通过配置的服务器地址与端口对接,发送 JSON-RPC 请求调用工具、读取资源、获取提示模板等。
  • 服务器配置(供 MCP 客户端使用的配置说明)

    • 说明:MCP 客户端需要一个配置来连接 MCP 服务器,该配置描述了服务器的名称、启动命令及参数等信息。以下为示例配置,实际在客户端使用时可按需调整。
    • 示例 JSON(仅示例,非代码块): { "server_name": "MemoLite MCP", "command": "memolite-mcp-stdio", "args": [] }

    备注:

    • server_name:该 MCP 服务器在客户端侧的标识名称,便于在多服务器环境中区分。
    • command:启动该 MCP 服务器的命令名称,若采用其他传输(如 HTTP),应对应相应可执行文件。
    • args:启动命令的参数列表,例如端口、数据目录等,根据实际部署需求填写。
  • 基本使用方法

    • 客户端对接
      • 在客户端配置中指定服务器名称、启动命令及参数后,即可通过 MCP 的请求格式向 MemoLite MCP 服务器发送工具调用(如 set_context、add_memory、search_memory 等),以及读取资源、获取上下文与提示模板。
    • 常用工作流示例(概括性描述,非代码):
      • 设置上下文默认值:通过 set_context 工具设置 session_key、mode、limit、context_window 等全局上下文参数。
      • 写入记忆:使用 add_memory 将用户对话片段及相关元数据写入当前会话。
      • 检索记忆与扩展上下文:调用 search_memory 获取相关记忆并扩展上下文,以提供给 LLM 进行推理。
      • 获取上下文文本:通过 get_context 读取当前会话的上下文文本,便于调试与日志记录。
    • 注意事项
      • MCP 请求应遵循 JSON-RPC 的格式要求,错误路径会返回易读的错误信息,便于客户端进行重试和提示。
      • 服务端具备会话管理和能力声明能力,支持多种传输协议,具体实现请参考源码中的 mcp/server.py。
  • 运行与监控

    • 启动后可在相应端口暴露 MCP 服务,结合现有的日志与指标体系进行监控,确保服务健康与请求吞吐量。
  • 额外信息

    • MemoLite 的 MCP 服务器实现包含多种工具、上下文管理、以及对 OpenClaw 的集成等测试用例,可以在集成测试中进行模拟调用。

服务器信息