Memos
What it does
Provides full CRUD operations on a self-hosted Memos instance through 5 MCP
tools. Agents can create quick notes, search existing memos, update content
or visibility, and delete memos they no longer need.
Inputs needed
- - For creating: content (required), visibility (optional, defaults to PRIVATE)
- For listing: filter expression (optional), page size (optional)
- For get/update/delete: memo ID (required)
Prerequisites
openclaw-memos-mcp MCP server
This skill requires the openclaw-memos-mcp MCP server to be running. Before
using any memos_* tool, check if the tools are available. If not, tell the
user they need to add the MCP server to their configuration:
CODEBLOCK0
Tell the user to:
- 1. Replace
MEMOS_API_URL with their Memos instance URL - Get an access token from Memos: Settings > Access Tokens > Create
- Replace
<your-access-token> with the token - Restart their MCP client after saving the configuration
Workflow
Creating a memo
Call memos_create with the content and optional visibility.
- -
content: Markdown text. Supports #hashtags which Memos auto-extracts as tags. - INLINECODE8 :
PRIVATE (default), PROTECTED (logged-in users), or PUBLIC (everyone).
Listing memos
Call memos_list to browse or search memos.
- -
pageSize: Number of results (default 20). - INLINECODE14 : For pagination, use the
nextPageToken from a previous response. - INLINECODE16 : CEL filter expression. Examples:
-
tag == "work" — memos tagged #work
-
visibility == "PUBLIC" — public memos only
-
creator == "users/1" — memos by a specific user
Reading a specific memo
Call memos_get with the memo ID. The ID is the part after memos/ in the
resource name (e.g., if the name is memos/abc123, the ID is abc123).
Updating a memo
Call memos_update with the memo ID and the fields to change. Only specify
fields you want to update — unspecified fields remain unchanged.
- -
content: New Markdown content - INLINECODE26 : New visibility level
- INLINECODE27 :
true to pin, false to unpin
Deleting a memo
Call memos_delete with the memo ID. This is irreversible. Always confirm
with the user before deleting.
Guardrails
- - Default visibility to
PRIVATE — never create public memos unless explicitly asked - Validate content is non-empty before creating
- Confirm with the user before deleting any memo
- On 401/403 errors, tell the user to check their INLINECODE32
- On connection errors, tell the user to check their INLINECODE33
- When listing returns empty results, suggest the user check their filter or confirm the Memos instance has data
Memos
功能说明
通过5个MCP工具对自托管的Memos实例提供完整的CRUD操作。智能体可以创建快速笔记、搜索已有备忘录、更新内容或可见性,以及删除不再需要的备忘录。
所需输入
- - 创建时:内容(必填)、可见性(可选,默认为PRIVATE)
- 列表查询时:筛选表达式(可选)、每页数量(可选)
- 获取/更新/删除时:备忘录ID(必填)
前置条件
openclaw-memos-mcp MCP服务器
本技能需要运行openclaw-memos-mcp MCP服务器。在使用任何memos_*工具前,请检查工具是否可用。如果不可用,告知用户需要在配置中添加MCP服务器:
json
{
mcpServers: {
memos: {
command: npx,
args: [openclaw-memos-mcp],
env: {
MEMOSAPIURL: http://localhost:5230,
MEMOS_TOKEN:
}
}
}
}
告知用户:
- 1. 将MEMOSAPIURL替换为他们的Memos实例URL
- 从Memos获取访问令牌:设置 > 访问令牌 > 创建
- 将替换为令牌
- 保存配置后重启MCP客户端
工作流程
创建备忘录
调用memos_create,传入内容和可选的可见性参数。
- - content:Markdown文本。支持#hashtags标签,Memos会自动提取为标签。
- visibility:PRIVATE(默认)、PROTECTED(仅登录用户可见)或PUBLIC(所有人可见)。
列出备忘录
调用memos_list浏览或搜索备忘录。
- - pageSize:返回结果数量(默认20)。
- pageToken:用于分页,使用上一次响应中的nextPageToken。
- filter:CEL筛选表达式。示例:
- tag == work — 标记为#work的备忘录
- visibility == PUBLIC — 仅公开备忘录
- creator == users/1 — 特定用户的备忘录
读取特定备忘录
调用memos_get并传入备忘录ID。ID是资源名称中memos/之后的部分(例如,如果名称为memos/abc123,则ID为abc123)。
更新备忘录
调用memos_update并传入备忘录ID和要更改的字段。仅指定需要更新的字段——未指定的字段保持不变。
- - content:新的Markdown内容
- visibility:新的可见性级别
- pinned:true置顶,false取消置顶
删除备忘录
调用memos_delete并传入备忘录ID。此操作不可逆。 删除前务必与用户确认。
安全规范
- - 默认可见性设为PRIVATE——除非明确要求,绝不创建公开备忘录
- 创建前验证内容非空
- 删除任何备忘录前需与用户确认
- 遇到401/403错误时,告知用户检查其MEMOSTOKEN
- 遇到连接错误时,告知用户检查其MEMOSAPI_URL
- 列表查询返回空结果时,建议用户检查筛选条件或确认Memos实例中是否有数据