MemAura MCP Server

MemAura MCP Server

Enables DeepSeek Harness to store conversation memories and perform semantic or hybrid memory retrieval through MemAura's cloud API, so agents can recall relevant context across sessions.

Category
访问服务器

README

MemAura MCP Server for DeepSeek Harness

把 MemAura 云端长期记忆服务接入 DeepSeek Harness 的 MCP Server。服务通过 MCP stdio 暴露记忆写入、语义检索和混合检索三个工具,再把请求转换为 MemAura /api/v2 HTTP API。

适用范围

本项目是一个独立的 Python MCP Server,并附带一个无需打包安装的 Harness 配置工具。MCP 工具仍由模型按需调用;安装原生 Harness 适配器后,召回和回合结束保存会自动执行。

工作流程

DeepSeek Harness
  └─ @deepseek-ai/dsh-mcp-client
       └─ stdio → server.py
            └─ HTTPS → https://api.omnimemory.cn/api/v2

启动后,Harness 会发现以下模型可见工具:

MCP 工具 MemAura API 作用
store_memory POST /memory/ingest 异步写入一条或多条对话消息
search_memory POST /memory/retrieval 兼容的语义检索
search_memory_hybrid POST /memory/retrieval/hybrid BM25 + Dense Vector 的混合检索,推荐

前置条件

  • Python 3.11 或更高版本。
  • 已安装并能运行 DeepSeek Harness。
  • MemAura API Key。
  • 本机可以访问 https://api.omnimemory.cn

安装

git clone <your-repository-url> memaura-mcp-server
cd memaura-mcp-server
python3 -m pip install -r requirements.txt

安装完成后,可以自动写入 Harness profile 配置、安装记忆规则和 Skill,并执行 MCP tools/list 健康检查:

export MEMAURA_API_KEY='你的 API Key'
python3 memaura_cli.py setup --agent dsh --profile web
python3 memaura_cli.py doctor --agent dsh --profile web

卸载时运行:

python3 memaura_cli.py uninstall --agent dsh --profile web

setup 不会把 API Key 写入文件,只写入 !!js process.env.MEMAURA_API_KEY。安装的原生适配器会在每个直接用户回合自动召回,并在回合结束后台写入,不需要模型先决定调用 MCP 搜索工具。

API Key 建议放在启动环境中,不要写入 Git 或共享的 YAML 文件:

export MEMAURA_API_KEY="你的 MemAura API Key"
export MEMAURA_DEFAULT_DEVICE_NO="dsh-agent"

也可以设置以下变量:

变量 默认值 说明
MEMAURA_BASE_URL https://api.omnimemory.cn/api/v2 MemAura API 根地址
MEMAURA_API_KEY 必填的 API Key
MEMAURA_DEFAULT_DEVICE_NO dsh-agent 记忆隔离设备号
MEMAURA_DEFAULT_TOP_K 10 默认检索条数
MEMAURA_TIMEOUT 30.0 HTTP 超时秒数

单独验证 MCP Server

MCP stdio 使用标准输入输出承载协议,日志写入 stderr:

MEMAURA_API_KEY="$MEMAURA_API_KEY" \
  python3 server.py --transport stdio

不要直接把 JSON 写到终端验证;建议使用支持 MCP 的客户端执行 initializetools/list。该检查不会写入或检索云端记忆。

接入 DeepSeek Harness

Web Profile 配置

编辑 ~/.dsh/profiles/web/cordis.patch.yml,将路径换成你的实际绝对路径:

- insert:
    - id: memaura-memory
      name: "@deepseek-ai/dsh-mcp-client"
      config:
        serverName: memaura
        transport: stdio
        command: python3
        args:
          - /absolute/path/memaura-mcp-server/server.py
        env:
          MEMAURA_API_KEY: !!js process.env.MEMAURA_API_KEY
          MEMAURA_DEFAULT_DEVICE_NO: !!js process.env.MEMAURA_DEFAULT_DEVICE_NO
          MEMAURA_DEFAULT_TOP_K: "10"

如果使用 !!js process.env...,必须从同一个终端导出变量后启动 Harness:

export MEMAURA_API_KEY="你的 MemAura API Key"
export MEMAURA_DEFAULT_DEVICE_NO="dsh-agent"
pnpm dsh web

查看合成后的配置:

pnpm dsh --profile web --dump-config

启动日志应能看到 Python MCP Server 启动。MCP 工具在 Harness 中会以以下命名空间公开:

mcp__memaura__store_memory
mcp__memaura__search_memory
mcp__memaura__search_memory_hybrid

命令行补丁

仓库中的 memaura.cordis.yml 是不含密钥的配置模板,也可以通过 Harness 的 --patch 加载:

pnpm dsh web --patch /absolute/path/memaura-mcp-server/memaura.cordis.yml

如果模板里使用了明文占位符,启动前必须替换为安全的环境变量表达式;不要把真实 API Key 提交到仓库。

工具参数

store_memory

请求参数与官网 /memory/ingest 保持一致:

{
  "turns": [
    {"role": "user", "content": "用户喜欢用中文回答。"},
    {"role": "assistant", "content": "我会记住这个偏好。"}
  ],
  "language": "zh",
  "commit_id": "optional-idempotency-key",
  "device_no": "dsh-agent"
}

服务始终把 device_no 放入 X-Device-No 请求头,并且不发送 session_id。设备号用于隔离记忆空间;同一设备重试同一写入请求时,应复用 commit_id

写入接口返回 HTTP 202 表示任务已经入队,不表示记忆已经完成索引。响应中会返回 job_idstatusstatus_url。官网说明通常需要 30–60 秒后才可以检索到新记忆。

search_memorysearch_memory_hybrid

{
  "query": "用户喜欢使用哪种语言?",
  "top_k": 5,
  "language": "zh",
  "device_no": "dsh-agent"
}

服务会把设备号放入 X-Device-No,请求体只包含官网支持的 querytop_k 和可选 language。新接入不使用 session_id 或旧版 group_id

检索结果统一返回 evidence_details,每条结果保留 event_idsourcerolesender_nametextatomic_factstimestamp 等官网字段。

记忆调用策略

MCP 只提供工具,模型是否调用取决于工具描述和 Harness 系统提示。推荐在 Agent Preset 中加入类似规则:

用户明确要求记住信息时调用 store_memory。
问题可能依赖历史偏好、事实或项目背景时,先调用 search_memory_hybrid。
不要保存密码、API Key、访问令牌或其他认证凭据。
只有工具返回成功后,才能告诉用户记忆已保存。

安全注意事项

  • API Key 只通过环境变量或本机密钥管理器提供。
  • 不要把 .env、真实的 cordis.patch.yml 或日志提交到 Git。
  • 不要把 API Key、密码和令牌传给 store_memory
  • X-Device-No 是记忆隔离标识,不是认证凭据;不同用户或不同 Harness 实例应使用不同设备号。
  • 当前 Python Server 只实现 stdio。它的可选 SSE 入口使用旧版 /sse + /messages Transport,不应直接配置成 Harness 的 streamable-http,除非另行实现 MCP Streamable HTTP。

故障排查

现象 检查
MEMAURA_API_KEY 未设置 确认启动 Harness 的同一个终端已导出变量
工具没有出现在模型工具列表 运行 pnpm dsh --profile web --dump-config,检查插件行和绝对路径
HTTP 401 API Key 是否有效、是否过期
HTTP 400 检查 turns 非空、query 非空、设备号是否存在
写入后立即检索为空 写入是异步任务,等待约 30–60 秒再检索
检索到其他设备的记忆 检查写入和检索是否使用相同的 X-Device-No
MCP 反复重启 检查 Python 解释器、依赖安装和 stderr 日志

目录结构

memaura-mcp-server/
├── server.py              # MCP Server 和 MemAura API 适配器
├── memaura_cli.py         # setup / doctor / uninstall 命令
├── requirements.txt       # Python 依赖
├── .env.example           # 环境变量模板
├── memaura.cordis.yml     # 不含密钥的 Harness 配置模板
└── README.md              # 本说明

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选