Skip to content

CLI 与 MCP

Yank Note 内置了本地 MCP 服务,并提供官方命令行工具 @yank-note/cli。MCP 负责把正在运行的 Yank Note 暴露给外部工具,CLI 则是基于 MCP 的命令行封装,适合终端、脚本和 AI Agent 使用。

WARNING

MCP 和 CLI 连接的是你本机正在运行的 Yank Note,能够读取仓库信息、调用部分 Yank Note 动作、导出文档,甚至触发窗口重载。请只在可信环境中启用 MCP,不要把 MCP 端点暴露到公网。

开启 MCP

打开 Yank Note 设置,在“其他”分组中启用:

Img

设置项旁边会显示 MCP 端点地址。默认情况下通常是:

text
http://127.0.0.1:3044/api/mcp/message

如果你修改过 Yank Note 的服务端口,请以设置面板显示的地址为准。

MCP 服务需要 Yank Note 正在运行。关闭 Yank Note 后,CLI 和外部 MCP 客户端也会无法连接。

MCP 有哪些能力

Yank Note 当前通过 MCP 暴露以下工具:

工具能力
yn_list_actions列出当前可通过 MCP 调用的 Yank Note 动作
yn_execute_action按动作名执行 Yank Note 动作,并传入参数
yn_get_markdown_features_doc获取 Yank Note 内置 Markdown 扩展语法说明
yn_export_document按仓库路径或绝对路径导出文档
yn_reload_main_window重载 Yank Note 主窗口,可选切换 URL 模式

这些能力覆盖了几个典型场景:

  1. 查看 Yank Note 当前有哪些可自动化动作
  2. 调用 Yank Note 内部动作,例如切换面板、查找仓库内容、列出仓库
  3. 让 AI 获取 Yank Note 的扩展 Markdown 语法说明
  4. 把文档导出为 htmlpdfdocxrstadoc
  5. 开发或调试扩展时重载主窗口

MCP 端点使用 Streamable HTTP。如果你的 MCP 客户端支持 HTTP MCP,可以直接连接:

text
http://127.0.0.1:3044/api/mcp/message

CLI

@yank-note/cli 是 Yank Note 官方命令行工具。它不是另一套独立接口,而是对本地 MCP 服务的封装:CLI 读取 Yank Note 的连接配置,连接 MCP 端点,然后调用 Yank Note 暴露的 MCP 工具。

所以使用 CLI 前,需要先开启 MCP,并保持 Yank Note 正在运行。

全局安装:

bash
npm install -g @yank-note/cli
yn-cli doctor

不想全局安装时,可以直接用 npx

bash
npx @yank-note/cli doctor

CLI 要求 Node.js >= 18。常用命令包括:

bash
yn-cli doctor
yn-cli list-repo
yn-cli list-action
yn-cli markdown-features
yn-cli export --absolute-path /path/to/doc.md --to html

给脚本或 AI 使用时,建议加 --json

bash
yn-cli --json list-repo

如果你在 AI 编程工具或 Agent 中使用 Yank Note,推荐把 CLI 对应的 Skill 提供给 AI,而不是让 AI 临时猜命令。Skill 会告诉 AI 先检查 MCP、何时列仓库、何时列动作、如何导出文档,以及什么时候使用 --json

可以参考 CLI 项目中的 Skill 文件

如果你的 AI 工具支持本地 Skill,也可以把该文件内容加入到工具的 Skill/Rules/Instructions 中。这样 AI 就会优先通过:

bash
npx @yank-note/cli doctor
npx @yank-note/cli --json list-repo
npx @yank-note/cli export --absolute-path /path/to/doc.md --to html

来和 Yank Note 交互,而不是直接访问内部文件或使用不稳定的私有接口。