通过MCP接入记忆管理

更新时间:
复制 MD 格式

AI 编程助手(下文统称 Agent)要跨会话延续项目背景,需要可持久化的长时记忆。PolarDB 记忆管理支持接入主流 Agent,接入后 Agent 无需编写任何代码即可自动获得添加、检索与管理长时记忆的能力。本文介绍在 Qoder、QoderWork、Claude Code、Codex、OpenCode、Hermes Agent、OpenClaw 以及 Python MCP SDK 中配置 PolarDB 记忆管理的方式。

前置准备

开始接入前,先获取连接参数,并确认环境满足接入要求。

连接参数

参数

说明

连接地址

形式为<host>:<port>,可PolarDB 记忆管理基本信息页签的连接管理区域中查看相应的连接地址。

说明

客户端所在环境需与PolarDB 记忆管理网络连通。若客户端运行在本地或非同 VPC 的环境,请先申请公网地址,并将本地公网 IP 加入应用白名单

MCP 端点

获取的连接地址后拼接/mcp路径,即http://<host>:<port>/mcp。仅 MCP 方式需要。

传输协议

Streamable HTTP,基于 JSON-RPC 2.0 规范。

认证方式

通过请求头Authorization: Token <API_KEY>携带 API Key(即PolarDB 记忆管理secret.access.apikey参数值)。

说明

为兼容无法自定义请求头的托管平台,也接受 Authorization: Bearer <API_KEY>,两者等效。

占位符与环境变量约定

本文示例中的<API_KEY><host><port>均需替换为实际的 API Key 与连接地址。API Key 统一通过环境变量MEM0_API_KEY存放,请提前在操作系统中设置:

export MEM0_API_KEY="<API_KEY>"

部分配置示例使用${MEM0_API_KEY:-apikey}语法,表示优先读取环境变量MEM0_API_KEY,未设置时回退到默认值apikey

选择接入方式

Qoder、QoderWork、QwenWork、Claude Code、Codex、OpenCode、Hermes Agent 和 OpenClaw 均支持快速接入,可按下表选择接入方式。

接入方式

适用场景

是否自动召回与沉淀

方式一(推荐):通过自然语言安装与连接

由 Agent 读取安装说明并自行完成接入,无需手动执行命令。

方式二(推荐):通过命令行安装与连接

在终端自行执行一键安装命令。

方式三:手动配置 MCP 服务

需自行管理 MCP 配置文件,或所用 Agent 版本不支持一键脚本。

否,需在对话中显式要求 Agent 读写记忆

方式一方式二基于同一个polarmemoryCLI,入口不同、结果相同:两者都会自动完成 CLI 安装、Hooks 或插件注册、SKILL 安装与连通性校验,接入后每次提问自动召回相关记忆、每轮对话结束自动沉淀记忆,因此推荐优先选用。若这两种方式不适用,再按方式三为单个 Agent 手动写入 MCP 配置。

方式一(推荐):通过自然语言安装与连接

复制以下文本并发送给 Agent,由 Agent 自动完成polarmemoryCLI 的安装与接入配置。

请阅读 https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.md,按照说明安装 polarmemory CLI,并使用 API Key <API_KEY> 与连接地址 http://<host>:<port> 为你自己完成接入配置。

发送后按使配置生效与验证接入确认接入结果

方式二:通过命令行安装与连接

在终端执行一键安装命令,按所用操作系统选择 Linux/macOS/WSL 或 Windows PowerShell 版本。

安装命令

Qoder

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent qoder --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent qoder -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

QoderWork

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent qoderwork --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent qoderwork -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

QwenWork

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent qwenwork --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent qwenwork --api-key <API_KEY> --base-url http://<host>:<port>

Claude Code

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent claude --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent claude -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

Codex

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent codex --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent codex -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

OpenCode

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent opencode --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent opencode -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

Hermes Agent

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent hermes --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent hermes -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

OpenClaw

  • Linux/macOS/WSL:

    curl -fsSL 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh' | sh -s -- --agent openclaw --api-key <API_KEY> --base-url http://<host>:<port>
  • Windows PowerShell:

    & ([ScriptBlock]::Create((irm 'https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.ps1'))) -Agent openclaw -ApiKey <API_KEY> -BaseUrl http://<host>:<port>

安装完成后按使配置生效与验证接入重启 Agent 并验证。多人共用同一PolarDB 记忆管理实例时,可为安装命令追加记忆隔离参数,详见记忆隔离

手动安装 CLI(脚本不可用时)

若无法访问脚本地址,可手动安装 CLI 并完成接入配置,<agent>取值同上方各平台命令。

npm install -g @aliyunpolar/polarmemory
polarmemory setup --agent <agent> --api-key <API_KEY> --base-url http://<host>:<port>

安装完成后同样需要重启对应 Agent 使配置生效。

方式三:手动配置 MCP 服务

如需自行管理 MCP 配置文件,或所用 Agent 版本不支持一键脚本,可按下方所用 Agent 的标签页手动写入配置。此方式只注册 MCP 服务,不包含 Hooks 与 SKILL,因此记忆不会自动召回与沉淀,需要在对话中显式要求 Agent 读写记忆。

以下示例统一使用mem0作为 MCP 服务名,hermes mcp test mem0codex mcp remove mem0等命令中的mem0即指该服务名。各 Agent 声明远程服务的type取值不同(Qoder 为http、QoderWork 为streamable-http、OpenCode 为remote),请以所用 Agent 标签页的示例为准,不要跨 Agent 复用取值。

Qoder

说明

MCP 工具仅在 Qoder 的Agent 模式下可用。

快速接入单机环境时使用控制台方式。需要团队共享或随项目版本化管理时,使用配置文件方式。

通过控制台快速接入

  1. 打开 Qoder Settings。macOS 按Shift+Command+,,Windows 按Ctrl+Shift+,

  2. 导航至MCP 服务 > 我的服务 > + 添加

  3. 选择通过配置添加,粘贴以下 JSON。控制台粘贴的是单个服务片段,不含mcpServers外层。

    {
      "mem0": {
        "type": "http",
        "url": "http://<host>:<port>/mcp",
        "headers": {
          "Authorization": "Token ${MEM0_API_KEY:-apikey}"
        }
      }
    }
  4. 在项目根目录的.env文件中设置 API Key。

    MEM0_API_KEY=<API_KEY>

通过配置文件接入

Qoder 支持三种作用域的配置文件,其路径与推荐用途如下:

作用域

路径

是否建议提交 Git

用户级(全局)

~/.qoder/settings.json

项目级(共享)

<project>/.mcp.json

项目级(本地)

<project>/.qoder/settings.local.json

否(适合存放密钥)

  • 团队共享时使用项目级(共享)作用域,在项目根目录创建.mcp.json

    {
      "mcpServers": {
        "mem0": {
          "type": "http",
          "url": "http://<host>:<port>/mcp",
          "headers": {
            "Authorization": "Token ${MEM0_API_KEY:-apikey}"
          }
        }
      }
    }
  • 个人使用且需要直接写入密钥时,使用项目级(本地)作用域,在.qoder/settings.local.json中填入实际 API Key 并且不提交 Git:

    {
      "mcpServers": {
        "mem0": {
          "type": "http",
          "url": "http://<host>:<port>/mcp",
          "headers": {
            "Authorization": "Token <API_KEY>"
          }
        }
      }
    }
说明

配置文件中 Qoder 使用的顶层键名是mcpServers,与 VS Code 的servers格式不同,请勿混用。

QoderWork

  1. QoderWork中进入连接器,单击+ 添加 > 粘贴JSON配置。

  2. 在对话框中粘贴以下内容:

{
  "mcpServers": {
    "mem0": {
      "type": "streamable-http",
      "url": "http://<host>:<port>/mcp",
      "headers": {
        "Authorization": "Token ${MEM0_API_KEY:-apikey}"
      }
    }
  }
}

设置环境变量MEM0_API_KEY,或将${MEM0_API_KEY:-apikey}替换为实际 API Key。

QwenWork

  1. QwenWork中进入连接器,单击+ 添加 > 粘贴JSON配置。

  2. 在对话框中粘贴以下内容:

{
  "mcpServers": {
    "mem0": {
      "type": "streamable-http",
      "url": "http://<host>:<port>/mcp",
      "headers": {
        "Authorization": "Token ${MEM0_API_KEY:-apikey}"
      }
    }
  }
}

设置环境变量MEM0_API_KEY,或将${MEM0_API_KEY:-apikey}替换为实际 API Key。

Claude Code

说明

适用版本:Claude Code 0.2.34 及以上。

单机快速接入使用命令行方式。团队共享使用项目级配置文件。需要让所有项目都能访问时使用用户级作用域。

命令行快速添加

  1. 在终端执行以下命令,一行完成 MCP 服务注册:

    claude mcp add --transport http mem0 http://<host>:<port>/mcp \
      --header "Authorization: Token <API_KEY>"
  2. 验证服务是否添加成功:

    claude mcp list

    进入 Claude Code 交互界面后,输入/mcp可查看连接状态。

项目级配置文件(推荐团队使用)

  1. 在项目根目录创建.mcp.json文件并提交到 Git,即可实现团队共享:

    {
      "mcpServers": {
        "mem0": {
          "type": "http",
          "url": "http://<host>:<port>/mcp",
          "headers": {
            "Authorization": "Token ${MEM0_API_KEY:-apikey}"
          }
        }
      }
    }
  2. 在终端设置环境变量:

    export MEM0_API_KEY="<API_KEY>"

用户级配置(跨项目生效)

如需让所有项目都能访问PolarDB 记忆管理,使用用户级作用域:

claude mcp add --transport http mem0 --scope user \
  http://<host>:<port>/mcp \
  --header "Authorization: Token <API_KEY>"

Codex

命令行方式无法指定认证头,完整接入仍需编辑配置文件,因此建议直接采用配置文件方式。

命令行快速添加

  1. 将完整的认证头值存入环境变量。

    export MEM0_AUTH_HEADER="Token <API_KEY>"
  2. 添加 MCP 服务并验证。

    codex mcp add mem0 --url http://<host>:<port>/mcp
    codex mcp list
说明

命令行方式不能直接指定认证头,需在添加后按下方的通过配置文件接入方法,在~/.codex/config.toml中为该服务补充env_http_headers

通过配置文件接入

Codex 使用 TOML 格式配置 MCP 服务,支持两种作用域:

作用域

路径

说明

用户级

~/.codex/config.toml

对所有项目生效。

项目级

<project>/.codex/config.toml

仅在可信任的项目目录下加载。

  1. 将完整的认证头值存入环境变量。

    export MEM0_AUTH_HEADER="Token <API_KEY>"
  2. 编辑~/.codex/config.toml,添加以下配置。

    [mcp_servers.mem0]
    url = "http://<host>:<port>/mcp"
    env_http_headers = { Authorization = "MEM0_AUTH_HEADER" }
  3. 验证服务是否添加成功。

    codex mcp list
重要
  • MEM0_AUTH_HEADER存放的是完整的认证头值,必须包含Token前缀,仅填入 API Key 会导致 401。

  • 请使用env_http_headers而非http_headers,避免将密钥硬编码到配置文件中。

  • 移除已配置的服务:codex mcp remove mem0

OpenCode

OpenCode 支持两种作用域的配置文件,项目级配置优先于用户级配置。团队共享时使用项目级配置,跨项目复用时使用用户级配置。

作用域

路径

是否建议提交 Git

用户级(全局)

~/.config/opencode/opencode.json

项目级

<project>/opencode.json

  1. 在配置文件的mcp字段下添加以下内容:

    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "mem0": {
          "type": "remote",
          "url": "http://<host>:<port>/mcp",
          "enabled": true,
          "headers": {
            "Authorization": "Token {env:MEM0_API_KEY}"
          }
        }
      }
    }
  2. 验证服务是否添加成功:

    opencode mcp list
重要
  • 远程服务必须设置"type": "remote",否则 OpenCode 会按本地进程方式启动。

  • OpenCode 使用的顶层键名是mcp,与 Qoder、Claude Code 的mcpServers格式不同,请勿混用。

  • OpenCode 的环境变量语法是{env:VAR},与 Qoder、Claude Code 的${VAR}写法不同。

  • enabled设为false可临时禁用该服务而无需删除配置。

Hermes Agent

说明

适用版本:Hermes Agent 0.17 及以上(内置 MCP Client,依赖mcp==1.26.0)。

交互式添加会自动保存 API Key、验证连接并写入配置,建议优先使用。需要自行管理配置内容时,可改用 YAML 配置文件方式。

交互式添加

  1. 执行以下命令,通过交互式引导完成添加:

    hermes mcp add mem0 --url "http://<host>:<port>/mcp"
  2. 命令会自动完成以下操作:

    • 提示输入 API Key,并保存到~/.hermes/.env

    • 连接PolarDB 记忆管理服务端验证连接,并发现可用的 MCP 工具。

    • 将配置写入~/.hermes/config.yaml

  3. 启动 Hermes 即可使用:

    hermes

YAML 配置文件

  1. 存放 API Key。

    echo 'MEM0_API_KEY=<API_KEY>' >> ~/.hermes/.env
  2. 编辑~/.hermes/config.yaml

    mcp_servers:
      mem0:
        url: "http://<host>:<port>/mcp"
        headers:
          Authorization: "Token ${MEM0_API_KEY}"
        timeout: 180
        connect_timeout: 60
  3. 验证连接。

    hermes mcp test mem0
说明

Hermes 环境变量仅支持${VAR_NAME}语法,不支持${VAR:-default}默认值写法。

管理命令

命令

说明

hermes mcp list

查看已配置的 MCP 服务。

hermes mcp test mem0

测试PolarDB 记忆管理的连接状态。

hermes mcp remove mem0

移除已配置的PolarDB 记忆管理 MCP 服务。

(可选)高级配置

如需自定义超时时间、心跳保活、工具过滤或采样能力,可参考以下配置。其中tools.include填写的是 MCP 工具名,取值见常用 MCP 工具参考

mcp_servers:
  mem0:
    url: "http://<host>:<port>/mcp"
    headers:
      Authorization: "Token ${MEM0_API_KEY}"
    timeout: 180
    connect_timeout: 60
    keepalive_interval: 60    # 心跳保活间隔,单位为秒
    tools:
      include: ["add_memory_v1_memories_post", "search_memories_v2_memories_search_post", "get_all_memories_v2_memories_post"]
    sampling:
      enabled: true
      model: "gpt-4"
      max_tokens_cap: 4096

OpenClaw

  1. 编辑~/.openclaw/openclaw.json,在mcp.servers下添加以下内容:

    {
      "mcp": {
        "servers": {
          "mem0": {
            "url": "http://<host>:<port>/mcp",
            "headers": {
              "Authorization": "Token <API_KEY>"
            }
          }
        }
      }
    }
  2. 验证服务是否添加成功:

    openclaw mcp status

    也可使用openclaw mcp probe mem0发起一次实时连接并列出可用工具。

重要
  • 请勿设置auth: "oauth",启用后静态Authorization头会被忽略。

  • OpenClaw 使用的键名是mcp.servers,与 Qoder、Claude Code 的mcpServers与 OpenCode 的mcp格式均不同,请勿混用。

Qoder Cloud Agents

Qoder Cloud Agents的 mcp_servers[] 仅支持 nametypeurl 三个字段,不支持自定义请求头,鉴权由平台从Vault注入,因此需通过API完成配置。以下命令中的 $QODER_PAT 为Qoder个人访问令牌。

通过API接入

前三步为一次性配置,VaultAgent均可被多个Session复用。之后每次开会话只需执行第4步。

  1. 创建Vault。

    curl -X POST https://api.qoder.com/api/v1/cloud/vaults \
    -H "Authorization: Bearer $QODER_PAT" \
    -H "Content-Type: application/json" \
    -d '{"display_name": "PolarDB Memory"}'
    
  2. Vault追加凭证。mcp_server_url 必须与下一步的 mcp_servers[].url 完全一致(含末尾斜杠),平台按该URL精确匹配凭证。

    curl -X POST https://api.qoder.com/api/v1/cloud/vaults/<vault_id>/credentials \
    -H "Authorization: Bearer $QODER_PAT" \
    -H "Content-Type: application/json" \
    -d '{
      "auth": {
        "type": "static_bearer",
        "mcp_server_url": "http://<host>:<port>/mcp",
        "token": "<API_KEY>"
      }
    }'
    
  3. 创建Agent,在 mcp_servers 中声明MCP端点。

    curl -X POST https://api.qoder.com/api/v1/cloud/agents \
    -H "Authorization: Bearer $QODER_PAT" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "mem0-agent",
      "model": "ultimate",
      "system": "你可以使用mem0工具读写长期记忆。回答前先检索相关记忆。",
      "tools": [{"type": "agent_toolset_20260401", "enabled_tools": ["Bash", "Read", "Write"]}],
      "mcp_servers": [{"name": "mem0", "type": "url", "url": "http://<host>:<port>/mcp"}]
    }'
    
  4. 创建Session时通过 vault_ids 关联Vault,平台会自动注入凭证。

    curl -X POST https://api.qoder.com/api/v1/cloud/sessions \
    -H "Authorization: Bearer $QODER_PAT" \
    -H "Content-Type: application/json" \
    -d '{
      "agent": "<agent_id>",
      "vault_ids": ["<vault_id>"]
    }'
    

使配置生效与验证接入

三种方式写入的配置均在 Agent 会话启动时加载,因此接入完成后需先让配置生效,再验证接入结果。

  1. 重启对应的 Agent 或新开会话。OpenClaw 需执行openclaw gateway restart;已在运行的图形界面 Agent 需完全退出后重新启动。

  2. 通过方式一、方式二或手动安装 CLI 接入时,执行以下命令查看接入状态,输出中connectedhooks_installedskill_installed均为true即接入成功。

    polarmemory status --agent <agent> --json
  3. 通过方式三接入时,执行所用 Agent 标签页给出的验证命令,确认 MCP 服务已注册且连接正常。

重要

Codex 还需确认~/.codex/config.toml中已设置[features]段的hooks = true,否则记忆不会自动召回与沉淀。

记忆隔离

记忆按user_id归属,多人共用同一PolarDB 记忆管理实例时时,可指定不同的user_id隔离记忆。各接入路径的指定方式如下:

  • 一键安装脚本与polarmemory setup命令:追加--user-id <id>(Windows PowerShell 为-UserId <id>),默认值为default

  • Python MCP SDK 示例脚本:命令行传入--user-id my_agent_001,或通过代码中的user_id入参指定。

  • 直接调用 v2 接口:user_id必须放在filters字典内。

使用示例

无论采用上述哪种方式,接入完成后直接对话即可。通过方式一或方式二接入的 Agent 会根据对话内容自动召回与沉淀记忆,也可以显式要求它读写记忆:

> 记住我的生产数据库是PolarDB PostgreSQL 16,部署在北京地域。
> 搜索关于数据库部署的记忆。
> 列出我所有的记忆。

若对话中未出现记忆的召回或沉淀,先按使配置生效与验证接入确认三项状态均为true,再按常见问题排查。

常用 MCP 工具参考

接入成功后,Agent 会根据对话内容自动选择合适的工具,通常无需记忆工具名称。以下工具列表主要供开发者在自定义 Agent 时参考。

工具名

功能说明

add_memory_v1_memories_post

添加记忆。

search_memories_v2_memories_search_post

搜索记忆。

get_all_memories_v2_memories_post

获取所有记忆。

delete_memory_v1_memories__memory_id__delete

删除记忆。

merge_memories_v1_memories_merge_post

合并记忆。

extract_user_profile_v1_profile_extract_post

抽取用户画像。

调用 v2 接口的工具时,filters为必填字段,且user_id必须放在filters字典内,参数说明您可以通过访问http://<host>:<port>/docs查看实时更新的API文档。

通过 Python MCP SDK 接入(高级用法)

如需在自定义 Agent 中精细控制 MCP 连接与工具调用,可使用 Python MCP SDK。下文的运行示例与代码集成示例均基于示例脚本mcp_client_example.py,脚本中的add_memorysearch_memoryget_all_memories是该脚本封装的 Python 函数名,与常用 MCP 工具参考中的 MCP 工具名不是同一套名称,二者不可互换使用。

安装依赖

pip install "mcp>=1.0" httpx

运行示例

设置 API Key 并运行示例脚本:

export MEM0_API_KEY="<API_KEY>"
python mcp_client_example.py
python mcp_client_example.py --url http://<host>:<port>/mcp
python mcp_client_example.py --user-id my_agent_001

代码集成示例

以下示例展示如何在自定义 Agent 中调用示例脚本封装的add_memorysearch_memory等函数:

import asyncio
from mcp_client_example import add_memory, search_memory, get_all_memories

async def main():
    user_id = "my_agent_001"

    await add_memory(
        user_id=user_id,
        messages=[
            {"role": "user", "content": "我的项目使用PolarDB。"},
            {"role": "assistant", "content": "好的,已记录。"}
        ]
    )

    results = await search_memory(user_id=user_id, query="数据库")
    print(results)

asyncio.run(main())

常见问题

如何确认接入是否成功?

判定方式见使配置生效与验证接入connectedhooks_installedskill_installed三项状态均为true即接入成功。

如何卸载?

先执行polarmemory uninstall --agent <agent>,再执行npm uninstall -g @aliyunpolar/polarmemory。顺序颠倒会使 Agent 配置残留失效的 Hooks 条目。

一键安装脚本执行失败怎么办?

请按以下顺序排查:

  1. 确认能访问脚本地址:curl -I https://cdn.jsdelivr.net/npm/@aliyunpolar/polarmemory/bootstrap/install.sh。若网络受限,请改用手动安装 CLI(脚本不可用时)

  2. 确认 Node.js 版本为 20 及以上:node -v。脚本不会自动安装 Node.js。

  3. 确认已传入--base-url,该参数为必填项。

配置后看不到 MCP 工具怎么办?

请按以下顺序排查:

  1. 确认环境变量MEM0_API_KEY已正确设置。

  2. 测试客户端到PolarDB 记忆管理连接地址的网络连通性,并确认客户端所在 IP 已加入应用白名单。

  3. 按客户端类型查看连接状态:

    • Claude Code:在交互界面输入/mcp

    • Qoder、QoderWorkQwenWork:查看MCP服务列表中该条目的连接状态。

    • Codex:执行codex mcp list

    • OpenCode:执行opencode mcp list

    • Hermes Agent:执行hermes mcp test mem0

    • OpenClaw:执行openclaw mcp status

接入后记忆未自动召回或沉淀怎么办?

请按以下顺序排查:

  1. 使配置生效与验证接入重启 Agent 或新开会话,并确认三项状态均为true

  2. 重新执行一次polarmemory setup --agent <agent>即可修复配置,无需重新传入 API Key 与连接地址。

  3. Codex 还需确认~/.codex/config.toml中已设置[features]段的hooks = true,否则记忆不会自动召回与沉淀。

请求返回 401 Unauthorized 怎么办?

认证头格式为 Token <API_KEY> 或 Bearer <API_KEY>,两者等效。请确认 API Key 正确且未过期,以及Token/Bearer与密钥之间仅有一个空格。

调用工具时报filters is a required property怎么办?

v2 接口要求携带filters字段(约束见常用 MCP 工具参考),user_id必须放在filters字典内。示例:

{
  "query": "搜索内容",
  "filters": {"user_id": "your_user_id"}
}

Python SDK 偶尔收到 400 错误怎么办?

服务端多 Worker 部署下,Session 清理请求可能命中不同 Worker。工具调用本身已成功,示例脚本通过 Python 的except*语法安全忽略此类错误,不影响记忆存储与检索的实际结果。