项目简介 MARM(Memory Accurate Response Mode)是一个功能全面的AI记忆生态系统,旨在解决大型语言模型在对话中丢失上下文的问题。其核心组件是MARM通用MCP服务器,它为任何兼容MCP的AI客户端提供了一个强大、有状态的智能记忆后端。该服务器实现了Model Context Protocol (MCP) 的全套功能,允许LLM以标准化的方式访问记忆资源、调用工具进行操作,并维持跨会话的对话一致性。

主要功能点

  • 智能记忆管理:利用AI嵌入(语义搜索)和自动分类,实现对对话内容的精准存储与检索。记忆跨会话持久化,提供上下文感知(context-aware)的智能回溯。
  • 会话与日志系统:支持创建和管理命名会话,记录结构化日志条目(如里程碑、决策),并能生成简洁的会话摘要。
  • 工具与工作流:提供19个完整的MCP工具,包括会话激活、刷新、日志管理、笔记(Notebook)管理、上下文桥接、系统信息查询等,赋能LLM调用外部功能。
  • 协议遵循与Prompt渲染:服务器负责根据请求定义和渲染Prompt模板,并通过JSON-RPC协议与客户端通信,确保响应遵循MCP规范,包括1MB的响应大小限制。
  • 多平台兼容:支持Claude Code、Qwen CLI、Gemini CLI等多种MCP兼容LLM客户端及平台。
  • 架构优化:基于FastAPI和FastAPI-MCP构建,采用SQLite(WAL模式)、自定义连接池、IP限流、事件驱动系统和Docker容器化部署,确保高性能和可扩展性。

安装步骤 MARM MCP服务器支持多种安装方式,其中Docker是最快且推荐的方式。

  1. 使用Docker(推荐,约30秒完成)

    • 拉取Docker镜像:
      docker pull lyellr88/marmcp-beta:latest
    • 运行Docker容器:
      docker run -d --name marm-mcp-server -p 8001:8001 lyellr88/marmcp-beta:latest

    这将启动一个MARM MCP服务器,监听在本地的8001端口。

  2. 本地快速安装

    • 克隆仓库:
      git clone https://github.com/MARM-Systems/MARM.git
      cd MARM/marm-mcp-server/MARMcp-beta
    • 运行安装脚本(Unix/Mac)或Python安装(Windows):
      # Unix/Mac
      ./install.sh
      # Windows
      python setup.py

    然后,你可以手动启动服务器(通常是运行 'python server.py')。

服务器配置 MCP客户端需要以下信息来连接和使用MARM MCP服务器。服务器默认在 'http://localhost:8001/mcp' 暴露其MCP接口。

{
  "name": "marm-memory-server",
  "command": [
    "docker",
    "run",
    "--rm",
    "-p",
    "8001:8001",
    "lyellr88/marmcp-beta:latest"
  ],
  "args": [],
  "description": "MARM AI记忆与上下文协议服务器。提供智能记忆、会话管理和丰富工具,增强LLM对话体验。",
  "endpoint": "http://localhost:8001/mcp",
  "docs_url": "http://localhost:8001/docs",
  "version": "2.1.0",
  "notes": "此配置信息仅用于MCP客户端,'command'部分描述了如何通过Docker启动服务器。您无需手动执行此命令,只需将此JSON配置添加到您的MCP客户端即可建立连接。"
}

基本使用方法 一旦服务器启动并配置到你的MCP客户端,LLM客户端就可以通过调用其提供的工具来与MARM系统交互。

  1. 激活MARM会话 在你的LLM客户端中,你可以通过类似聊天命令的方式激活MARM协议,通常会映射到 '/marm_start' 工具: LLM提示: '/start marm' 这将激活一个会话,并加载MARM协议的基本文档。

  2. 添加记忆(Notebook条目) 你可以将重要的信息或指令存储到MARM的“Notebook”中,作为LLM的长期知识库。这会调用 '/marm_notebook_add' 工具: LLM提示: '/notebook add: project_name My awesome AI project' 你也可以通过MCP客户端的命令行界面直接调用,例如使用Claude CLI:

    claude mcp call marm-memory marm_notebook_add --session_name default_session --name project_name --data "My awesome AI project"
  3. 智能回忆 当LLM需要上下文信息时,它可以通过语义搜索查询已存储的记忆,调用 '/marm_smart_recall' 工具: LLM提示: '/deep dive what is my project about?' (这里'/deep dive' 可能是LLM客户端将自然语言请求转换为对'/marm_smart_recall'的调用) 或者直接查询:

    claude mcp call marm-memory marm_smart_recall --session_name default_session --query "project details" --limit 3
  4. 生成会话摘要 为了在不同的对话或工具之间保持上下文,LLM可以生成当前会话的摘要,调用 '/marm_summary' 工具: LLM提示: '/summary: current_project_session'

    claude mcp call marm-memory marm_summary --session_name current_project_session --limit 10

信息

分类

AI与计算