Collabnotes

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Collaborative notes via HackMD: user, team, and personal notes with full CRUD.

VerifiedSTDIODesktop only

Overview

Collabnotes's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Collabnotes in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

collabnotes

collabnotes works with collaborative notes in HackMD: it reads the authenticated user's profile, teams, and reading history, lists team and personal notes, and creates, updates, and deletes notes in both places. It talks to the public HackMD API v1 on your behalf, using a personal API token you supply.

This package is a clean-room rebuild covering the full documented tool set (12 tools) of the original HackMD MCP server.

How it talks to the service

Every tool needs a HackMD API token:

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

With no token set, every call fails with an error naming HACKMD_API_TOKEN, before any request is made.

Requests carry Authorization: Bearer HACKMD_API_TOKEN. Path segments such as team paths and note IDs are URL-encoded. Responses are returned as parsed JSON; delete calls and empty-body responses resolve to {"status": "ok", ...} carrying the IDs involved, and an upstream HTTP error is reported with its status and body. Note that the HackMD API's create/update permission fields are not part of this tool spec: creates send only title and content, and updates send only content.

Install

bash
npx @reneturcios/collabnotes list_user_notes '{}'

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/collabnotes

The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.

CLI

The CLI mirrors the tools: one subcommand per tool, taking its arguments as a single JSON object.

bash
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

Exit codes: 0 on success, 1 on an API or validation error (the error names the problem), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/collabnotes mcp

MCP client configuration:

json
{  "mcpServers": {    "collabnotes": {      "command": "npx",      "args": ["-y", "@reneturcios/collabnotes", "mcp"],      "env": { "HACKMD_API_TOKEN": "your token" }    }  }}

Tools

ToolInputWhat it does
get_user_info(none)Get the authenticated HackMD user's information. (GET /me)
list_teams(none)List the teams the authenticated user belongs to. (GET /teams)
get_history(none)Get the authenticated user's note reading history. (GET /history)
list_team_notesteamPath (required)List the notes belonging to a team.
create_team_noteteamPath, title, content (all required)Create a new note in a team.
update_team_noteteamPath, noteId, content (all required)Update the content of a team note.
delete_team_noteteamPath, noteId (required)Delete a team note.
list_user_notes(none)List the authenticated user's own notes. (GET /notes)
get_notenoteId (required)Get a single note by its ID.
create_notetitle, content (required)Create a new personal note.
update_notenoteId, content (required)Update the content of a personal note.
delete_notenoteId (required)Delete a personal note.

Development

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

License

MIT — see LICENSE.

Source: README.md at commit 4dda467

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts