Lore MCP 服务器实现

使用说明(Markdown 格式):

  • 项目简介
    • Lore 提供一个 MCP 原生的服务端实现,用于向 LLM 客户端提供信息上下文(资源)、可执行工具(Tools)以及可渲染的 Prompt 模板(Prompts),内部通过 JSON-RPC/MCP 风格的请求-响应机制进行通信,支持多传输协议(如 Stdio)。
  • 主要功能点
    • MCP 核心能力:托管与管理 资源(Memory/Notes)、注册与执行 Tools、定义并渲染 Prompts。
    • 资源与工具管理:内置 remember/recall/forget/list/stats 等工具,支持多租户(按项目/Org 隔离)。
    • TTL 与过期处理:支持记忆的 TTL(expires_at),以及过期记忆的排除与清理逻辑。
    • Embedding 与检索:本地嵌入向量计算、向量相似度检索,支持本地存储(SQLite)和远程存储模式。
    • 安全与扩展:API Key 的鉴权、RBAC 权限控制、健康/就绪探针、 Prometheus 指标等。
    • 与 MCP 客户端的配合:通过 MCP 的 stdio transport 提供请求/响应,客户端可在配置中指定 server name、command、args 等信息来启动 MCP 服务。
  • 安装步骤
    • 将代码仓库克隆到本地或服务器环境中。
    • 安装依赖并确保 Python 运行环境可用。
    • 运行 MCP 服务器:通过命令行启动,例如 python -m lore.mcp(详见仓内示例与配置)。
  • 服务器配置(供 MCP 客户端使用的 JSON 配置示例,实际客户端无需改动服务端实现,仅用于描述连接信息)
    • 配置示例(JSON,MCP 客户端将读取该配置以启动对应服务): { "mcpServers": { "lore": { "name": "lore", "command": "python", "args": ["-m", "lore.mcp"], "env": { "LORE_PROJECT": "my-project", "LORE_STORE": "local", "LORE_DB_PATH": "/path/to/.lore/my-project.db" } // 其他环境变量可按需要添加,例如 LORE_MODEL_DIR, LORE_ENTITY 等 } } }
    • 说明:以上配置用于描述 MCP 客户端如何启动并连接到 Lore 的 MCP 服务端。MCP 客户端实际并不需要在此处修改服务端实现;该配置仅用于对接示例与文档展示。
  • 基本使用方法
    • 启动:在支持的环境中执行相关启动命令,即可启动 Lore 的 MCP 服务端。
    • 调用方式:通过 MCP 客户端对记忆(Memory/Resources)、工具(Tools)和提示模板(Prompts)发起请求,服务器按标准的 MCP 请求-响应格式返回结果。
    • 常见操作包括:记忆的添加与检索、按项目/类型的过滤、TTL 设置、批量删除、统计信息获取等。

服务器信息