mcpField
C
collabnotes

collabnotes

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

关于 collabnotes

collabnotes 是用于管理 HackMD 个人笔记和团队笔记的 CLI 与 MCP 服务,面向需要读取、创建、更新或删除笔记,以及查看账户、团队和阅读历史的 HackMD 用户。

主要功能

  1. 01读取用户资料和团队列表
  2. 02查看笔记阅读历史
  3. 03列出个人和团队笔记
  4. 04创建、更新和删除笔记
  5. 05使用 HackMD API v1

适用场景

  1. 01查看账户和团队信息
  2. 02回顾最近阅读的笔记
  3. 03维护个人笔记
  4. 04管理团队共享笔记

MCP 相关

向 MCP 客户端提供 12 个 HackMD 工具,涵盖资料、团队、历史记录和笔记操作。请求使用用户提供的 HackMD API 令牌。

配置

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

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

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

安装包
npm@reneturcios/collabnotes0.1.0
ocighcr.io/cloudcorprecords/collabnotes:0.1.0

工具

12

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

此工具无需参数。

详细介绍

collabnotes

collabnotes 可处理 HackMD 中的协作笔记:读取已通过身份验证的用户的个人资料、团队和阅读历史,列出团队笔记和个人笔记,并在这两处创建、更新和删除笔记。它会使用你提供的个人 API 令牌,代表你调用公开的 HackMD API v1。

此软件包是一次从头构建的实现,涵盖原版 HackMD MCP 服务的全部已记录工具(共 12 个)。

与服务的通信方式

每个工具都需要 HackMD API 令牌:

export HACKMD_API_TOKEN="your token"
# Optional override (default: https://api.hackmd.io/v1)
export HACKMD_API_URL="https://api.hackmd.io/v1"

如果未设置令牌,每次调用都会在发出任何请求之前失败,并报错指出 HACKMD_API_TOKEN。

请求会携带 Authorization: Bearer HACKMD_API_TOKEN。团队路径和笔记 ID 等路径片段会进行 URL 编码。响应会以解析后的 JSON 返回;删除调用和空响应正文会返回包含相关 ID 的 {"status": "ok", ...},上游 HTTP 错误则会报告其状态码和正文。请注意,HackMD API 的创建/更新权限字段不属于此工具规范:创建时只发送 title 和 content,更新时只发送 content。

安装

npx @reneturcios/collabnotes list_user_notes '{}'

也可以运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/collabnotes

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

CLI

CLI 与这些工具一一对应:每个工具都有一个子命令,并将参数作为单个 JSON 对象传入。

collabnotes get_user_info '{}'
collabnotes list_teams '{}'
collabnotes get_history '{}'
collabnotes list_team_notes '{"teamPath":"my-team"}'
collabnotes create_team_note '{"teamPath":"my-team","title":"Spec","content":"# Spec"}'
collabnotes update_team_note '{"teamPath":"my-team","noteId":"abc","content":"# v2"}'
collabnotes delete_team_note '{"teamPath":"my-team","noteId":"abc"}'
collabnotes list_user_notes '{}'
collabnotes get_note '{"noteId":"abc"}'
collabnotes create_note '{"title":"Note","content":"# Note"}'
collabnotes update_note '{"noteId":"abc","content":"# v2"}'
collabnotes delete_note '{"noteId":"abc"}'
collabnotes --version

退出代码:成功时为 0,API 或验证错误时为 1(错误信息会指出问题),用法错误时为 2。

MCP 服务

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

npx -y @reneturcios/collabnotes mcp

MCP 客户端配置:

{
  "mcpServers": {
    "collabnotes": {
      "command": "npx",
      "args": ["-y", "@reneturcios/collabnotes", "mcp"],
      "env": { "HACKMD_API_TOKEN": "your token" }
    }
  }
}
工具
工具输入功能
get_user_info(无)获取已通过身份验证的 HackMD 用户信息。(GET /me)
list_teams(无)列出已通过身份验证的用户所属团队。(GET /teams)
get_history(无)获取已通过身份验证的用户的笔记阅读历史。(GET /history)
list_team_notesteamPath(必填)列出属于某个团队的笔记。
create_team_noteteamPath、title、content(均必填)在团队中创建新笔记。
update_team_noteteamPath、noteId、content(均必填)更新团队笔记的内容。
delete_team_noteteamPath、noteId(必填)删除团队笔记。
list_user_notes(无)列出已通过身份验证的用户自己的笔记。(GET /notes)
get_notenoteId(必填)根据 ID 获取单条笔记。
create_notetitle、content(必填)创建新的个人笔记。
update_notenoteId、content(必填)更新个人笔记的内容。
delete_notenoteId(必填)删除个人笔记。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev     # run the CLI from source via tsx

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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