Notes — 一个市场:MCP 服务器、技能与插件
Notes
9Code Labs
Two tools: notes_add appends a dated line to .rovecode/notes.md, notes_list reads it back — a scratchpad that survives the session.
安装
$ rovecode market install plugin:notes- 它运行什么
- 环境变量
- 无——不需要密钥。
- 由你提供
- runs code: this plugin ships an entry module that rovecode imports in-processcontributes: tools, hooks
- 落到哪里
- 用户范围写入 ~/.rovecode,每个项目都能看到;项目范围写入本仓库,并经过信任门。rovecode 在写入任何内容之前,会在安装计划中给出确切的文件。
- 在本仓库中
- src/market/catalogs/plugins.json
文档
作者: 9Code Labs · AGPL-3.0-only · 来源 ↗
A scratchpad that survives the session. Two in-process tools that write and read
.rovecode/notes.md in the workspace.
What it does
notes_add {text, tag?} appends one dated line:
- 2026-09-05 [decision] the accent went two-tone because the single tone failed AA at normal size
textis required, one sentence, at most 500 characters. Whitespace is collapsed.tagis optional, matches[a-z0-9][a-z0-9-]{0,23}, and is lowercased. It exists sonotes_listcan filter —decision,gotcha,todoare the ones that get used.- The file is created with a
# notesheading on first write.
notes_list {tag?, last?} reads them back, newest last. last defaults to 50 and is clamped to 500.
With no notes it says so rather than returning an empty block.
Where the file lives, and why there
/.rovecode/notes.md — with the repository, not with the plugin. The tools export is a factory
that receives the plugin context and closes over cwd, so two projects keep two separate notebooks and
neither follows you home. It is a plain markdown file: read it, edit it, commit it, or delete it.
Permissions
The two tools declare different kinds, and that is the whole permission story:
notes_addismemory— the same class as the built-intodo_write, allowed by default.notes_listisread.
So a policy that already says something about memory or reads covers this plugin too, without a special case. Nothing here shells out or reaches the network.
Install
rovecode market install plugin:notes
Or from a checkout of this repository:
rovecode plugin add ./plugins/notes
It ships an entry module, so rovecode imports it in-process — the approval preview says so before anything is installed.