# PowerMem MCP Server {#powermem-mcp-server}

PowerMem MCP Server - 用于 PowerMem 记忆管理的模型上下文协议服务。

## 前置条件 {#prerequisites}

在使用 PowerMem MCP Server 之前，请确保：

1. **已安装 PowerMem**：服务器需要安装 PowerMem。您可以通过以下方式安装：
   ```shell
   pip install powermem
   ```
2. **配置文件存在**：在您的工作目录或项目根目录中创建一个包含 PowerMem 配置的 `.env` 文件。服务器会自动搜索以下位置的 `.env` 文件：
   - 当前工作目录的 `.env`
   - 项目根目录的 `.env`
   - `examples/configs/.env`

   您可以复制 `.env.example` 文件作为模板：
   ```shell
   cp powermem_mcp/.env.example .env
   ```
然后编辑 `.env` 文件并配置以下关键设置：

- **Database Provider**: 从 `sqlite`、`oceanbase` 或 `postgres` 中选择
- **LLM Provider**: 从 `qwen`、`openai` 或 `mock` 中选择
- **Embedding Provider**: 从 `qwen`、`openai` 或 `mock` 中选择
- **API Keys**: 设置你的 LLM 和 Embedding API 密钥
- **Agent Configuration**: 配置记忆管理设置
- **智能记忆**: 启用/配置艾宾浩斯遗忘曲线设置
- **性能**: 调整批处理大小、缓存设置和搜索参数
- **安全**: 配置加密和访问控制
- **日志**: 设置日志级别和文件路径

`.env.example` 文件包含针对不同使用场景的详细注释和示例配置。

有关 PowerMem 的安装和配置，请参考：

[PowerMem Documentation](https://www.powermem.ai/docs)

## 启动 {#startup}

### 支持多种类型的 MCP {#support-for-multiple-types-of-mcp}

你可以使用以下命令通过不同协议启动 PowerMem MCP：
```shell
powermem-mcp sse # sse 模式，默认端口 8848（推荐）
powermem-mcp stdio # stdio 模式
powermem-mcp sse 8001 # sse 模式，指定端口 8001
powermem-mcp streamable-http # streamable-http 模式，默认端口 8848
powermem-mcp streamable-http 8001 # streamable-http 模式，指定端口 8001
```
## 使用方法 {#usage}

与 MCP Client 一起使用时，必须使用支持 Prompts 的客户端，例如：Claude Desktop。在输入请求之前，需要手动选择所需的 Prompt，然后再输入请求。

Claude Desktop 配置示例：
```json
{
  "mcpServers": {
    "powermem": {
      "url": "http://{host}:8848/mcp"
    }
  }
}
```
## 可用工具 {#available-tools}

PowerMem MCP Server 提供以下记忆管理工具：

- **add_memory**: 将新的记忆添加到存储中。支持字符串、消息字典或消息列表格式。可以使用智能模式进行自动推断。
- **search_memories**: 通过查询文本搜索记忆，可选支持过滤器、限制和相似度阈值。
- **get_memory_by_id**: 根据 ID 获取特定的记忆。
- **update_memory**: 更新现有记忆的内容和元数据。
- **delete_memory**: 根据 ID 删除特定的记忆。
- **delete_all_memories**: 根据 user_id、agent_id 或 run_id 批量删除记忆。
- **list_memories**: 列出所有记忆，支持分页（限制和偏移）以及可选过滤器。

## 社区 {#community}

当您需要帮助时，可以在 [https://github.com/oceanbase/powermem](https://github.com/oceanbase/powermem) 找到开发者和其他社区合作伙伴。

当您发现项目缺陷时，请在 [issues](https://github.com/oceanbase/powermem/issues) 页面创建一个新的问题。
