mcpField
V
vaultnotes

vaultnotes

本地服务
github.com/CloudCorpRecords生产力02 周前更新

关于 vaultnotes

vaultnotes 提供一组工具,用于管理本地目录中以普通文件保存的 Markdown 笔记,适合需要操作笔记库的用户和 Agent。路径均相对于笔记库解析,并拒绝越出笔记库的操作。

主要功能

  1. 01列出笔记库或目录中的文件
  2. 02读取 Markdown 和其他文件内容
  3. 03按不区分大小写的文本搜索 Markdown
  4. 04追加、修补和删除文件
  5. 05将文件操作限制在笔记库内

适用场景

  1. 01在笔记库中按文本查找笔记
  2. 02添加或修改笔记内容
  3. 03安全删除不再需要的笔记

MCP 相关

它通过 stdio 作为 MCP 服务运行,并提供列出、读取、搜索、追加、修补和删除笔记库文件的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-vaultnotes": {
"command": "npx",
"args": [
"-y",
"@reneturcios/vaultnotes"
]
}
}
}
启动命令npx -y @reneturcios/vaultnotes

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/vaultnotes0.1.0
ocighcr.io/cloudcorprecords/vaultnotes:0.1.0

工具

7

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

vaultnotes

vaultnotes 是一组小型工具,用于处理存储在本地磁盘某个文件夹中的纯文本笔记库:列出笔记库中的内容、读取笔记、搜索 Markdown 文件,以及追加、修补或删除笔记。它可以通过命令行运行,也可以作为面向 Agent 的 MCP 服务运行。

本地模式。 vaultnotes 直接操作本地目录。它不需要正在运行的笔记应用或插件 API:只需指定存放笔记的文件夹,所有工具都会操作其中的文件。路径始终相对于笔记库;任何会解析到笔记库之外的路径——.. 路径穿越、指向其他位置的绝对路径、指向外部的符号链接——都会在触及文件前被拒绝。

安装

npx @reneturcios/vaultnotes list --vault ~/notes

也可以运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/vaultnotes

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

选择笔记库

笔记库目录按以下顺序确定:

  1. 命令行中的 --vault <dir> 标志,
  2. VAULTNOTES_DIR 环境变量,
  3. 当前工作目录。

CLI

vaultnotes list --vault ~/notes                 # every file in the vault
vaultnotes list-dir projects --vault ~/notes    # files under one directory
vaultnotes read projects/alpha.md --vault ~/notes
vaultnotes search "launch checklist" --vault ~/notes
vaultnotes append inbox.md "Call Sam on Tuesday." --vault ~/notes
vaultnotes patch inbox.md "Tuesday" "Wednesday" --vault ~/notes
vaultnotes delete drafts/old.md --vault ~/notes

vaultnotes --version

退出码:成功时为 0,操作失败时为 1(错误信息会指出问题),用法错误时为 2。

MCP 服务

一个可执行文件同时支持两种模式。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/vaultnotes mcp

MCP 客户端配置(通过环境变量设置笔记库):

{
  "mcpServers": {
    "vaultnotes": {
      "command": "npx",
      "args": ["-y", "@reneturcios/vaultnotes", "mcp"],
      "env": { "VAULTNOTES_DIR": "/path/to/your/notes" }
    }
  }
}

即使尚未配置笔记库,服务也会启动并列出其工具;笔记库会在每次调用时解析,若缺少笔记库,则会返回工具错误,而不会崩溃。

工具
工具输入返回内容
list_files_in_vault(无参数)笔记库中的所有文件,以相对于笔记库的路径表示。
list_files_in_dirdirpath(字符串,必填)该笔记库目录下的所有文件,以相对于笔记库的路径表示。
get_file_contentsfilepath(字符串,必填)文件内容,以文本形式返回。
searchquery(字符串,必填)在笔记库的 .md 文件中查找不区分大小写的子串匹配项;每项匹配都会返回文件路径、行号和作为片段的匹配行。
append_contentfilepath(字符串,必填)、content(字符串,必填)将内容追加到文件中;若文件尚不存在,则创建该文件(及其父文件夹)。
patch_contentfilepath(字符串,必填)、target(字符串,必填)、content(字符串,必填)将目标文本首次出现的位置替换为新内容;若文件中没有目标文本,则返回错误。
delete_filetarget_filepath(字符串,必填)删除文件。拒绝删除目录。

关于 patch_content 的说明:此处按精确文本定位——目标是要替换的原文片段,而不是标题名称或块引用。这样可以确保修补操作明确无误:要么找到完全匹配的文本并替换,要么操作失败且不做任何更改。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, real fs in temp dirs, no network
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。