UNPKG

@yuzhi-jiang/memos-mcp

Version:

MCP服务器,连接到Memos API并提供搜索、管理和改进功能

126 lines (86 loc) 3.11 kB
# Memos MCP 服务器 一个连接到 [Memos](https://usememos.com/) 的 MCP (Model Context Protocol) 服务器,让你可以通过 AI 助手(如 Claude)与你的 Memos 实例进行交互。 ## 功能特点 - 🔄 **连接到用户的 Memos 实例**:通过 API 密钥安全连接 - 📚 **将 API 暴露为资源**:提供对备忘录的结构化访问 - 🔍 **提供强大的工具**:搜索、创建、更新、删除备忘录等功能 - 🏷️ **标签管理**:自动添加标签到新备忘录 - 🔎 **高级搜索**:支持 CEL 表达式进行复杂过滤 - 📝 **提示模板**:包含用于日常操作改进的提示 ## 安装与配置 ### 前提条件 - Python 3.8 或更高版本 - 一个可访问的 Memos 实例 - Memos API 密钥 ### 安装步骤 1. 克隆此仓库: ```bash git clone https://github.com/yourusername/memos-mcp.git cd memos-mcp ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 配置环境变量: - 复制 `.env.example``.env` - 编辑 `.env` 文件,填写以下信息: ``` MEMOS_URL=https://your-memos-instance-url MEMOS_API_KEY=your-memos-api-key DEFAULT_TAG=mcp # 可选,默认标签 ``` ## 使用方法 ### 启动服务器 ```bash python memos_mcp_server.py ``` ### 连接到 Claude Desktop 1. 安装 [Claude Desktop](https://claude.ai/download) 2. 在 Claude Desktop 中,添加 MCP 服务器 3. 使用 Claude 与你的 Memos 进行交互 ### 使用 MCP 开发工具测试 ```bash mcp dev memos_mcp_server.py ``` ## 可用资源 - `memos://recent` - 获取最近的备忘录 - `memos://all` - 获取所有备忘录 - `memos://memos/{memo_id}` - 获取指定 ID 的备忘录 ## 可用工具 ### 搜索和过滤 - `search_memos(query, filter_expr)` - 搜索备忘录 - `filter_memos(filter_expr)` - 使用 CEL 表达式过滤备忘录 ### 创建和管理 - `create_memo(content, visibility, tags)` - 创建新备忘录 - `update_memo(memo_id, content, visibility)` - 更新备忘录 - `delete_memo(memo_id)` - 删除备忘录 - `delete_memo_tag(memo_id, tag)` - 从备忘录中删除标签 ## 提示模板 - `daily-review` - 每日备忘录回顾 - `weekly-summary` - 每周备忘录总结 - `knowledge-extraction` - 从备忘录中提取知识 - `content-improvement` - 改进备忘录内容 ## CEL 表达式示例 CEL (Common Expression Language) 表达式可用于高级过滤: - 按内容过滤:`content.contains('关键词')` - 按创建时间过滤:`createTime > timestamp('2023-01-01T00:00:00Z')` - 按可见性过滤:`visibility == 'PRIVATE'` - 组合条件:`content.contains('关键词') && visibility == 'PRIVATE'` ## 示例用法 ### 搜索备忘录 ``` search_memos(query="项目") ``` ### 使用 CEL 表达式过滤 ``` filter_memos(filter_expr="createTime > timestamp('2023-01-01T00:00:00Z') && visibility == 'PRIVATE'") ``` ### 创建带标签的备忘录 ``` create_memo(content="完成 MCP 服务器项目", tags=["项目", "编程"]) ``` ## 贡献 欢迎提交问题和拉取请求! ## 许可证 MIT