文档
产品说明、快捷键与对外接入。
Memo MCP 接入指南
在线阅读:/doc(与本文同步,直达锚点:/doc#memo-mcp)。自建部署与排障见 docs/MCP/ops-external-mcp.md(运维向,不随站内页发布)。
---
一、快速开始
- 打开 设置 → 访问凭证,创建密钥并立即复制保存(关闭后无法再看)。
- 创建时勾选权限:
- 只让 AI 查看便签 → 勾选 Memo · 读取
- 还要 新建/修改/删除 → 再加 Memo · 写入
- 在 Cursor / Claude / LobeChat 中粘贴配置,把占位符
<你的凭证>换成刚保存的那串密钥。 - 按权限选连接地址(见下一节),保存后由客户端自动完成
initialize与会话;无需手写 HTTP。
默认 90 天过期(也可选 30 天或永不过期);若怀疑泄露,请在设置里立即撤销。
---
二、权限与连接地址(请先分清)
| 你控制什么 | 在哪里选 | 作用 |
|---|---|---|
| 能不能改便签 | 创建密钥时的「Memo · 读取 / 写入」 | 服务端校验;无写入权限时无法调用写工具 |
| 暴露哪些工具 | 客户端配置里的 URL | 只查便签用只读地址,更安全 |
| 场景 | 配置 URL(将 <your-host> 换成你的站点) |
|---|---|
| 仅查看、防误删 | https://<your-host>/mcp/readonly |
| 需要 AI 写入 | https://<your-host>/mcp |
| 有写入权限但只想查 | 仍可用 /mcp/readonly |
补充:
- 也可用请求头
X-MCP-Readonly: true代替只读地址。 - 密钥只有「Memo · 读取」时,即使连
/mcp,服务端也会按只读处理。
---
三、客户端配置示例
Cursor — 仅查看便签
{
"mcpServers": {
"mesq-memo-readonly": {
"url": "https://<your-host>/mcp/readonly",
"headers": { "Authorization": "Bearer <你的凭证>" }
}
}
}
Cursor — 可修改便签
{
"mcpServers": {
"mesq-memo": {
"url": "https://<your-host>/mcp",
"headers": { "Authorization": "Bearer <你的凭证>" }
}
}
}
Claude Desktop(仅查看)
claude mcp add --transport http mesq-memo-readonly https://<your-host>/mcp/readonly \
--header "Authorization: Bearer <你的凭证>"
LobeChat
路径:设置 → 技能 → 自定义 → Streamable HTTP。下方为可写示例;若密钥只有「Memo · 读取」,请把 url 中的 /mcp 改为 /mcp/readonly。
{
"mcpServers": {
"mesq-memo": {
"url": "https://<your-host>/mcp",
"type": "http",
"headers": { "Authorization": "Bearer <你的凭证>" }
}
}
}
兼容情况
| 客户端 | 需要会话 | 备注 |
|---|---|---|
| Cursor | 是 | ~/.cursor/mcp.json |
| Claude Desktop | 是 | claude mcp add --transport http |
| LobeChat | 是 | Streamable HTTP |
会话由响应头 Mcp-Session-Id 维护;约 30 分钟无活动会失效(后台每 5 分钟扫描清理),需重新连接。多机部署须按该 ID 做负载均衡 sticky(详见运维手册)。
---
四、工具一览(15 个)
| 工具 | 用途 |
|---|---|
list_memos |
列表/筛选/回收站分页 |
search_memos |
按正文关键词搜索 |
get_memo |
读取单条便签(含侧栏统计) |
batch_get_memos |
按 ID 列表批量读取便签(正文+标签+附件) |
list_tags |
标签侧栏统计 |
read_memo_resource |
读取附件(metadata/base64) |
create_memo |
新建便签 |
update_memo |
更新正文/状态/附件 |
delete_memo |
软删进回收站 |
merge_memo_tags |
合并标签 |
rename_memo_tag |
重命名标签 |
delete_memo_tag |
删除标签(tagAndMemos 会连带软删便签) |
pin_memo_tag |
标签置顶 |
upload_memo_resource |
上传待绑定附件 |
discard_memo_resources |
丢弃未绑定附件 |
list_memos 常用参数
| 参数 | 示例 | 说明 |
|---|---|---|
filter |
all / untagged / tag:工作 / #工作 |
列表筛选;默认 all;传 #工作 会自动规范化为 tag:工作 |
includeDeleted |
true |
为 true 时仅返回回收站 |
offset |
0 / 20 |
分页起点 |
limit |
30 |
每页条数(1..100);默认 30 |
deviceTimeZone |
Asia/Shanghai |
时区(IANA) |
search_memos 常用参数
| 参数 | 示例 | 说明 |
|---|---|---|
query |
周报 |
正文关键词(必填) |
offset |
0 / 20 |
分页起点 |
limit |
30 |
每页条数(1..100);默认 30(同 list_memos) |
deviceTimeZone |
Asia/Shanghai |
时区(IANA) |
带附件新建便签
upload_memo_resource→ 得到pathcreate_memo→resources: [{ path, displayName, fileSize, mimeType, type }]
附件怎么读
| 大小 / 场景 | 做法 |
|---|---|
| ≤5MB,给 AI 看图 | read_memo_resource + format=base64 |
| 更大图片/文件 | get_memo / batch_get_memos / list_memos → resources[].mcp_uri → MCP resources/read(图 ≤20MB,文件 ≤50MB) |
| 浏览器预览 | resources[].url |
| 超大文件上传 | REST POST /api/toolkit/memo/resources/upload(multipart) |
MCP 资源 URI 形如 memo://resource/{encodedPath},与 mcp_uri 对应。
---
五、内容与配额限制
| 项 | 限制 |
|---|---|
| 正文 | ≤3000 字 |
| 图片数量 | 每条 ≤9 张 |
| 单图 | ≤20MB(并与账号配额取更严) |
| 单文件 | ≤50MB |
| MCP base64 读取 | ≤5MB |
---
六、常见问题
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 401 | 密钥无效、已撤销或过期 | 重新创建并更新客户端配置 |
| 403 | 权限不足、只读地址调用写工具,或会话与当前 PAT 不一致 | 检查「Memo · 读取/写入」与 URL;会话与 PAT 不一致时重新 initialize |
| 400 | 未携带 Mcp-Session-Id 且请求不是 initialize |
先发 initialize 建立会话,后续请求都带上 Mcp-Session-Id |
| 404 / 会话丢失 | Mcp-Session-Id 失效或多机未 sticky |
重新连接;运维配置 sticky |
| 429 | 调用过于频繁 | 按响应头 Retry-After(秒)等待后重试 |
调用过于频繁时会限速;具体阈值见下文「开发者参考」。
---
七、暂不支持
- OAuth 一键登录(当前仅访问密钥)
resources/subscribe、MCP PromptsstructuredContent/outputSchema
---
开发者参考
协议要点
- 传输:Streamable HTTP;服务名
mesq-memo,版本 1.2.0。 - 鉴权:
Authorization: Bearer <token>;读操作至少需 scopememo:read,写操作需memo:write。 - 手动调试时:
POST /mcp或/mcp/readonly发initialize,后续请求(含GET/DELETE)都要带Mcp-Session-Id。
限流(可按 PAT / IP)
| Profile | 普通读 | 附件读 | 写 | 连接层 |
|---|---|---|---|---|
normal |
500/分/PAT | 150/分/PAT | 100/分/PAT | 50/分/IP |
relaxed |
700 | 250 | 140 | 80 |
off |
关闭 | 关闭 | 关闭 | 关闭 |
环境变量:MCP_RATE_LIMIT_ENABLED、MCP_RATE_LIMIT_PROFILE=normal|relaxed|off。
429 响应:Retry-After(秒);body 含 error.code=RATE_LIMITED、error.retryAfterSeconds。客户端优先读 header。
连接层限流仅作用于 initialize 与 tools/list;read_memo_resource 单独计入附件读桶。
工具子集过滤(请求头)
X-MCP-Tools:白名单(逗号分隔)X-MCP-Exclude-Tools:黑名单X-MCP-Toolsets:memos/tags/resources- 以上过滤在
initialize建立会话与工具注册时生效;后续调用沿用该会话内的工具子集。
版本说明
当前为上线观察档(500/150/100/50),首月复盘后可调整阈值。
Memo
顶部草稿
- 提交发布:⌘ + Enter,或 Shift + Enter
- 普通 Enter 为换行(无标签建议时)。
标签建议(输入 # 后出现列表)
- ↑ / ↓ 选择建议项
- Enter 或 Tab 插入当前建议
- Esc 关闭建议
- 出现建议时仍可用 ⌘ + Enter 或 Shift + Enter 直接提交。
Launcher
点击顶栏 Launcher 按钮打开面板后,可在面板内的设置里绑定「打开/关闭 Launcher」的快捷键(需带修饰键或 F 键等合法组合);保存后会写入账号并在本机缓存。