Remember Me

Remember Me

MCP 服务器用于持久化聊天记录和规则。 (MCP fúwùqì yòng yú chíjiǔ huà liáotiān jìlù hé guīzé.)

phlax

研究与数据
访问服务器

README

Remember Me

一个用于在基于 MCP 的语言模型应用中维护对话上下文和规则的持久化框架。

概述

Remember Me 是一个 MCP 服务器,旨在持久化聊天工件和规则。它提供了一个强大的框架,用于存储、检索和管理不同类型的持久化资源:

  • 规则 (Rules):定义交互的行为约束和指导方针
  • 片段 (Snippets):存储可重用的代码或文本片段
  • 摘要 (Summaries):保存来自对话的重要上下文信息

该系统使用 SQLite 进行持久化,并提供了一个全面的 API,用于跨不同上下文管理这些资源。

架构

核心组件

  • MyContext: 所有持久化操作的中心管理器
  • PersistentResource: 所有可存储资源的基础类
    • Rule: 定义可接受的交互参数的命令
    • Snippet: 可以引用的代码或文本片段
    • Summary: 关于对话的上下文信息
  • Backup: 用于创建和恢复上下文状态的系统

数据模型

资源存储时具有以下属性:

  • Context: 资源的命名空间(例如,“me” 表示全局资源)
  • Key: 上下文中的唯一标识符
  • Content: 实际存储的数据
  • Type/MIME Type: 用于适当处理的格式信息

规则系统

规则使用结构化的策略框架:

  • MUST: 绝对要求
  • MUST NOT: 绝对禁止
  • SHOULD: 推荐做法
  • SHOULD NOT: 不鼓励的做法
  • MAY: 可选考虑事项

API

上下文管理

  • my_context(): 加载当前上下文,可选择加载额外的上下文
  • my_context_backup_create(): 创建当前状态的备份
  • my_context_backup_restore(): 从之前的备份恢复
  • my_context_backup_list(): 查看可用的备份
  • my_context_backup_remove(): 删除特定的备份
  • my_context_backup_clear(): 删除所有备份

规则管理

  • my_context_rule_list(): 列出上下文的所有规则
  • my_context_rule_set(): 创建或更新规则
  • my_context_rule_remove(): 删除规则

片段管理

  • my_context_snippet_list(): 列出上下文的片段
  • my_context_snippet_get(): 检索特定的片段
  • my_context_snippet_set(): 创建或更新片段
  • my_context_snippet_remove(): 删除片段

摘要管理

  • my_context_summary_list(): 列出上下文的摘要
  • my_context_summary_get(): 检索特定的摘要
  • my_context_summary_set(): 创建或更新摘要
  • my_context_summary_remove(): 删除摘要

与 LLM 一起使用

"me" 上下文

"me" 上下文是一个特殊的默认上下文,始终可用。它包含全局规则、片段和摘要,应应用于每个对话。加载上下文时,始终包含 "me" 上下文。

加载上下文

LLM 应在对话开始时加载上下文。这将检索 "me" 上下文中的所有规则、片段和摘要。然后,LLM 应遵循返回的任何规则。

额外的上下文

您可以通过在 extra_context 参数中指定它们来加载 "me" 之外的额外上下文。这允许为不同类型的对话或任务组织不同的规则、片段和摘要集。

例如,您可能有:

  • 一个带有编程相关片段的 "coding" 上下文
  • 一个带有写作提示的 "creative" 上下文
  • 一个带有专业知识的 "technical" 上下文

这些可以根据需要与默认的 "me" 上下文一起加载。

示例 LLM 工作流程

  1. 开始对话: 加载上下文
  2. 访问资源: 根据需要检索片段、摘要
  3. 遵循规则: 遵守从上下文中返回的规则
  4. 添加/更新资源: 根据对话存储新的片段或摘要
  5. 创建备份: 在重大更改之前保存重要状态

运行服务器

使用 MCP Inspector

  1. 安装包:

    pip install -e .
    
  2. 运行 MCP 服务器:

    python -m mcp.server.run remember_me_mcp_server.server
    
  3. 使用 MCP Inspector 连接到服务器,以测试和与 API 端点交互

使用 LLM

  1. 确保服务器如上所述运行

  2. 配置您的 LLM 平台以连接到 MCP 服务器并公开必要的工具

  3. 在对话中,LLM 应首先加载上下文,然后遵循返回的任何规则

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python