Memory MCP

Memory MCP

Personal memory service using semantic vector retrieval and knowledge graphs to persist long-term context, supporting memory evolution and conflict labeling for the same entity.

Category
访问服务器

README

Memory MCP

English

基于 MCP Streamable HTTP 的个人记忆服务:用 语义向量检索 + 知识图谱 持久化你的长期上下文,并支持对同一实体的记忆“演化”与冲突打标追溯。

特性

  • MCP Streamable HTTP:不使用已废弃的 SSE
  • Bearer Token 鉴权/mcp 需要 Authorization: Bearer <token>/health 免鉴权)
  • 记忆演化而非覆盖:同一 entity_key 多版本链路可追溯(trace
  • 冲突判定与打标:命中也会判定并输出 labelsconflict / correction / reversal
  • 语义检索:通过 OpenRouter Embedding API 获取向量,支持相似度检索(recall
  • 图谱关系:实体关系入/出边 + BFS 深度查询(relate / graph_query
  • 资源读取:提供 memory:///... 资源给 MCP Client(current/entities/entity)
  • 可测试/可落盘:默认 LanceDB;可用 MEMORY_MCP_VECTOR_BACKEND=memory 作为无依赖后端

接口

  • MCP Endpoint/mcp(Streamable HTTP)
  • 健康检查/health

快速开始(本地)

  1. 安装依赖:pip install .
  2. 准备环境变量:cp .env.example .env 并填写至少:
    • MEMORY_MCP_AUTH_TOKEN
    • MEMORY_MCP_OPENROUTER_API_KEY
  3. 启动:python -m memory_mcp
  4. 验证:curl http://127.0.0.1:8765/health

Docker 部署(推荐)

  1. 配置:cp .env.example .env 并填写必要变量
  2. 构建并启动:docker compose up -d --build

说明:

  • 当前 docker-compose.yml 默认不暴露 8765(避免直接公网暴露)。
  • 若你需要在宿主机直接访问(本地调试),请在 memory-mcp service 增加端口映射:
    ports:
      - "8765:8765"
    
  • 生产环境建议通过 Cloudflare Tunnel / 反向代理 暴露 HTTPS。

环境变量

.env.example 已包含可用模板:

  • 必填
    • MEMORY_MCP_AUTH_TOKEN:鉴权 token
    • MEMORY_MCP_OPENROUTER_API_KEY:OpenRouter API Key
  • 常用
    • MEMORY_MCP_HOST:默认 0.0.0.0
    • MEMORY_MCP_PORT:默认 8765
    • MEMORY_MCP_DATA_DIR:默认 ./data
    • MEMORY_MCP_DEBUG:默认 false
  • Embedding
    • MEMORY_MCP_OPENROUTER_BASE_URL:默认 https://openrouter.ai/api/v1
    • MEMORY_MCP_EMBEDDING_MODEL:默认 openai/text-embedding-3-small
    • MEMORY_MCP_EMBEDDING_DIM:默认 1536
  • 冲突判定(可选)
    • MEMORY_MCP_LLM_MODEL:默认 anthropic/claude-3-haiku
    • MEMORY_MCP_SIMILARITY_THRESHOLD:默认 0.85
  • 向量后端(可选)
    • MEMORY_MCP_VECTOR_BACKENDlancedb(默认)/ memory / auto
    • 说明:生产建议使用 lancedb;LanceDB 启动失败会中止服务,避免旧记忆被静默隐藏
    • memory 适合测试;auto 会在 LanceDB 初始化失败时切换到 memory
  • Cloudflare Tunnel(可选)
    • CLOUDFLARE_TUNNEL_TOKEN

MCP 客户端配置示例

将域名与 token 替换为你自己的部署:

{
  "mcpServers": {
    "memory-mcp": {
      "url": "https://memory-mcp.your-domain.com/mcp",
      "transport": { "type": "http" },
      "headers": {
        "Authorization": "Bearer your-secure-token-here"
      }
    }
  }
}

Tools(工具)

  • remember:写入/演化记忆(同 entity_key 自动演化与冲突打标)
  • recall:按语义检索当前记忆(可选附带演化信息)
  • recall_all:拉取全部当前记忆(用于初始化上下文)
  • trace:追溯某实体的演化链(timeline/summary)
  • forget:归档某实体当前记忆(不再作为 current)
  • relate:创建实体关系边
  • unrelate:按 relation id 删除实体关系边
  • graph_query:按深度查询实体关系(入边+出边 BFS)

Resources(资源)

  • memory:///current:当前全部记忆(JSON)
  • memory:///entities:实体列表(JSON)
  • memory:///entity/{entity_key}:实体演化历史(JSON)

数据落盘结构

默认目录为 ./data/

data/
├── vectors/                # 向量(LanceDB 或 memories.json)
└── graph/                  # 图谱 JSON
    ├── entities.json
    ├── relations.json
    └── evolution_chains.json

开发与测试

  • 安装开发依赖:pip install .[dev]
  • 运行测试:pytest
  • 静态检查:ruff check .

更多测试说明见:docs/testing.md

许可证

本项目采用 MIT License,详见 LICENSE

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选