备忘录服务接口

一个为AI代理提供标准化访问Memos实例的模型上下文协议服务器,支持备忘录的读写、搜索和组织功能。

  • by ShaoRou459
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ShaoRou459/memos-mcp

使用说明

MCP备忘录服务器

一个模型上下文协议(MCP)服务器,为AI代理提供对您的 备忘录 例子该服务器允许AI模型通过标准化的界面读取、写入、搜索和组织您的备忘录。

特性

🔧 工具(动作)

  • set_api_key - 🔑 设置您的备忘录API密钥(第一步必需)
  • create_mmo -使用内容、标签和可见性设置创建新备忘录
  • get_mmo -按ID检索特定备忘录
  • update_mmo -修改现有备忘录内容和设置
  • 删除_mmo -从实例中删除备忘录
  • search_memos -通过文本查询搜索备忘录内容
  • 获取_最多_ _日期 -查找在特定日期创建的备忘录
  • get_mos_by_date_range -获取日期范围内的备忘录
  • list_recent_mos -访问您最近的备忘录

📚 资源(数据访问)

  • memo://recent -访问最近的备忘录
  • memo://search/{query} -特定查询的搜索结果
  • memo://date/{YYYY-MM-DD} -特定日期的备忘录
  • memo://memo/{memo_id} -个人备忘录内容

先决条件

  • 正在运行的Memos服务器(自托管或云)
  • 一个Memos API密钥(在设置中生成→ 访问令牌)-由用户在运行时提供
  • Docker(可选,但推荐)
  • Python 3.11+(如果不使用Docker运行)

Docker快速入门

  1. 克隆或创建项目目录:

    git clone <repository> mcp-memos-server
    cd mcp-memos-server
    
  2. 创建环境文件:

    cp .env.example .env
    
  3. 编辑 .env 使用Memos配置:

    # Required settings
    MEMOS_URL=https://your-memos-server.com
    # MEMOS_API_KEY is now optional - users provide it at runtime
    
    # Optional settings
    DEFAULT_VISIBILITY=PRIVATE
    MAX_SEARCH_RESULTS=50
    TIMEOUT=30
    
  4. 使用Docker Compose运行:

    docker-compose up -d
    
  5. 测试连接:

    docker-compose logs mcp-memos-server
    

无Docker安装

  1. 安装Python依赖项:

    pip install -r requirements.txt
    
  2. 设置环境变量:

    export MEMOS_URL="https://your-memos-server.com"
    # MEMOS_API_KEY is optional - users will provide it at runtime
    
  3. 运行服务器:

    python server.py
    

配置

所需的环境变量

变量 描述 示例
MEMOS_URL Memos服务器的基本URL https://memos.example.com

可选环境变量(用于向后兼容性)

变量 描述 示例
MEMOS_API_KEY 内存设置中的API密钥→ 访问令牌(可选-用户可以在运行时提供) memos_xxx...

可选环境变量

变量 默认值 描述
DEFAULT_VISIBILITY PRIVATE 新备忘录的默认可见性(PRIVATE, PROTECTED, PUBLIC)
MAX_SEARCH_RESULTS 50 要返回的最大搜索结果数
TIMEOUT 30 HTTP请求超时(秒)

获取您的备忘录API密钥

  1. 打开Memos web界面
  2. 转到“设置”→ 访问令牌
  3. 创建新的访问令牌
  4. 复制生成的令牌(以开头 memos_)

与Claude Desktop一起使用

将此添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "memos": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "--env-file", "/path/to/your/.env",
        "mcp-memos-server"
      ]
    }
  }
}

或者,如果在本地运行:

{
  "mcpServers": {
    "memos": {
      "command": "python",
      "args": ["/path/to/mcp-memos-server/server.py"],
      "env": {
        "MEMOS_URL": "https://your-memos-server.com"
        // API key no longer needed here - users provide it at runtime
      }
    }
  }
}

使用说明

🔑 设置API密钥(必需的第一步)

在使用任何备忘录操作之前,您必须使用 set_api_key 工具:

AI: I need to set up access to your Memos server first. Please use the set_api_key tool.
User: set_api_key
Tool Parameters: {
  "api_key": "memos_your_actual_api_key_here"
}
Response: ✅ API key set successfully and connection verified

重要安全注意事项:

  • API密钥仅存储在当前会话的内存中
  • 密钥从未被记录或持久化到磁盘
  • 每次重新启动MCP服务器时,都需要重新设置API密钥
  • 这比在配置文件中硬编码密钥安全得多

获取API密钥

  1. 打开Memos web界面
  2. 转到“设置”→ 访问令牌
  3. 创建新的访问令牌
  4. 复制生成的令牌(以开头 memos_)
  5. 使用它与 set_api_key 工具

使用示例

创建备忘录

AI: I'll create a memo about today's meeting notes.
Tool: create_memo
Args: {
  "content": "# Team Meeting - 2024-01-15\n\n- Discussed Q1 goals\n- Assigned tasks for sprint\n- Next meeting: Jan 22",
  "visibility": "PRIVATE",
  "tags": ["meeting", "team", "Q1"]
}

搜索备忘录

AI: Let me search for memos about "project planning"
Tool: search_memos
Args: {
  "query": "project planning",
  "limit": 10
}

按日期查找备忘录

AI: Show me all memos from yesterday
Tool: get_memos_by_date
Args: {
  "date_str": "2024-01-14",
  "limit": 20
}

访问资源

AI: Let me check your recent memos
Resource: memo://recent

AI: I'll search for memos about "vacation"
Resource: memo://search/vacation

API文档

工具

set_api_key 🔑

设置当前会话的Memos API密钥。 这必须先调用 在使用任何其他备忘录操作之前。

参数:

  • api_key (字符串,必需):来自设置的Memos API密钥→ 访问令牌

退货: 带有连接验证的成功/失败消息

安全: API密钥只存储在内存中,从不持久化到磁盘。

create_memo

在Memos实例中创建新备忘录。

参数:

  • content (字符串,必填):备注内容(支持Markdown)
  • visibility (字符串,可选): PRIVATE, PROTECTED,或 PUBLIC
  • tags (数组,可选):要添加的标签列表

退货: 带有备忘录ID的成功消息

search_memos

按内容搜索备忘录。

参数:

  • query (字符串,必填):搜索查询
  • limit (整数,可选):最大结果(默认值:20)

退货: 匹配备忘录列表

get_memos_by_date

获取在特定日期创建的备忘录。

参数:

  • date_str (字符串,必填):日期 YYYY-MM-DD 格式
  • limit (整数,可选):最大结果(默认值:20)

退货: 自该日期起的备忘录列表

资源

资源提供对备忘录数据的只读访问:

  • memo://recent -最近的备忘录
  • memo://search/{query} -搜索结果
  • memo://date/{YYYY-MM-DD} -按日期列出的备忘录
  • memo://memo/{memo_id} -具体备忘录

故障排除

连接问题

  • 验证 MEMOS_URL 正确(无尾随斜线)
  • 请检查您的API密钥是否有效并具有适当的权限
  • 确保您的Memos服务器可以从MCP服务器访问

Docker问题

  • 检查日志: docker-compose logs mcp-memos-server
  • 验证环境变量: docker-compose config
  • 重新启动容器: docker-compose restart

权限错误

  • 确保您的API密钥具有读/写权限
  • 检查您的用户帐户是否可以访问您尝试访问的备忘录

发展

运行测试

python test_server.py

调试

通过设置环境变量启用调试日志记录:

export MCP_LOG_LEVEL=DEBUG

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

安全说明

  • ✅ 增强的安全性:API密钥不再存储在配置文件中
  • 🔑 运行时API密钥:用户通过 set_api_key 工具
  • 📝 仅限内存:API密钥仅存储在内存中,从不持久化到磁盘
  • 🔄 基于会话:每次MCP服务器重新启动时,必须重新设置API密钥
  • 🐳 集装箱安全:Docker容器以非root用户身份运行
  • 🔒 超文本传输安全协议:与Memos的所有通信都使用HTTPS(如果您的服务器支持)
  • ❌ 永远不要泄露秘密:从不将API密钥提交到版本控制

支持

对于问题和功能请求:

  1. 检查故障排除部分
  2. 在存储库中查找现有问题
  3. 创建一个新问题,其中包含有关您的设置和问题的详细信息