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 等环境变量进行日志等级控制,查看运维信息和调试输出。