Memoria MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Memoria MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端服务,旨在以标准化的方式向 LLM 客户端提供上下文信息和功能。它通过 JSON-RPC 与客户端通信,核心职责包括托管资源、注册和执行工具、以及定义与渲染提示模板,支持本地嵌入、向量存储及可选的知识图谱和工作跟踪等能力。
  • 主要功能点

    • 资源管理:提供当前系统状态、 memories 等资源,便于客户端查询。
    • 工具注册与执行:暴露 memoria_store、memoria_recall、memoria_search、memoria_update、memoria_delete、memoria_consolidate 等工具,支持对内存进行增删改查、跨集合操作、导出/导入等。
    • 提示模板与对话渲染:提供提示模板集合,用于引导 LLM 的记忆操作和关系推断。
    • 本地嵌入与向量存储整合:使用 Ollama 本地嵌入模型与 Qdrant 向量数据库实现本地化、隐私优先的记忆检索与组织。
    • 知识图谱与工作跟踪(可选 PostgreSQL 支持):在有 PostgreSQL 的环境下,支持关系图、路径查询、关系建议,以及工作时长跟踪等。
    • 支持多种传输:stdio、HTTP/SSE 等传输模式,方便嵌入式应用和云端集成。
    • 导出/导入、数据备份、按需清理、分块存储等功能完善,支持针对大文本的分块与去重。
  • 安装步骤

    • 安装依赖与获取代码:获取仓库代码并安装所需依赖(通常通过 Python 环境和 pip 安装)。
    • 启动后端服务:确保 Qdrant 向量存储及 PostgreSQL(若要使用知识图谱/工作跟踪)后端服务已启动。Memoria 服务器在本地通过 Ollama 进行 Embedding,并连接 Qdrant/PostgreSQL 实现完整能力。
    • 运行 MCP 服务器:以本地模式启动 Memoria MCP 服务器,使其对接客户端。
    • 客户端连接配置:使用 MCP 客户端(如 Claude/Claude Code 等)连接到 Memoria MCP 服务器。
  • 服务器配置(用于 MCP 客户端连接 Memoria MCP 服务器的示例配置,JSON 格式,包含 server 名称、command、args 等) { "server": "memoria", "command": "python", "args": ["-m", "mcp_memoria"], "env": { "MEMORIA_QDRANT_HOST": "localhost", "MEMORIA_QDRANT_PORT": "6333", "MEMORIA_DATABASE_URL": "postgresql://memoria:memoria_dev@localhost:5432/memoria", "MEMORIA_OLLAMA_HOST": "http://localhost:11434", "MEMORIA_LOG_LEVEL": "INFO" } }

  • 基本使用方法

    • 启动流程:先确保后端服务(Qdrant、PostgreSQL,如需知识图谱/工作跟踪)已启动,然后在命令行运行 Memoria MCP 服务器(例如 python -m mcp_memoria)。服务器启动后,客户端可通过 MCP 标准协议与其进行交互。
    • 常用操作示例(通过客户端发起 JSON-RPC 请求或通过 HTTP 接口调用工具/资源等):
      • 存储记忆:将文本、类型、标签等信息持久化到本地记忆库。
      • 调用工具:如 memoria_store、memoria_recall、memoria_search 等,进行记忆的增删改查与检索。
      • 查询知识图谱:在启用 PostgreSQL 的环境下,进行关系查询、路径查找和关系推荐。
      • 导出/导入:备份和恢复记忆数据与关系图。
    • 调试与监控:通过设置 MEMORIA_LOG_LEVEL 等环境变量进行日志等级控制,查看运维信息和调试输出。

服务器信息