Hackmd MCP logo

Hackmd MCP

by yuna0x0

Manage HackMD users, teams, reading history, and notes through MCP tools over STDIO or HTTP.

Install Hackmd MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "yuna0x0-hackmd-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "hackmd-mcp"
      ],
      "env": {
        "HACKMD_API_TOKEN": "YOUR_VALUE_HERE",
        "HACKMD_API_URL": "YOUR_VALUE_HERE",
        "ALLOWED_HACKMD_API_URLS": "YOUR_VALUE_HERE",
        "PORT": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y hackmd-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 24d ago.

Overview

The yuna0x0/hackmd-mcp MCP server connects MCP clients to the HackMD API for user, team, history, and note operations. It exposes tools for listing, reading, creating, updating, and deleting user and team notes, along with profile and team queries. Run it locally over STDIO or deploy it as an HTTP service. Reach for it when an AI client needs to organize or modify HackMD content using an API token.

Use cases

  • List personal HackMD notes
  • Create meeting notes in HackMD
  • Update shared team documentation
  • Review accessible HackMD teams
  • Inspect reading history

Key features

  • Manage user-owned notes
  • Manage team notes
  • Query teams and user profiles
  • Read HackMD history
  • Support STDIO and HTTP transports
  • Restrict HTTP API URLs

Tools12

What Hackmd MCP lets your agent do. Expand a tool for its parameters.

Self-reported~118 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

9/10 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 1Low 0

Scanned 7d ago via OSV.dev · hackmd-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars67Stargazers on the source repository.
npm downloads438Package downloads in the last 30 days.
Last commit3mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed12Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Hackmd MCP works

What yuna0x0/hackmd-mcp does

The yuna0x0/hackmd-mcp MCP server gives AI clients access to HackMD account and content operations through the HackMD API. It covers authenticated user information, teams available to that user, reading history, and notes owned by the user or associated with a team.

Note operations include retrieving a note by ID and creating, updating, or deleting notes. Separate team-note tools support listing and modifying notes in a team. This makes the server suitable for workflows such as finding existing documentation, drafting a new HackMD note, revising shared team content, or removing obsolete notes.

The project is listed in the Workplace & Productivity category and requires a HackMD API token for all operations.

How it works

MCP clients call the exposed tools, and the server makes corresponding requests to the HackMD API. The available tools are grouped around profiles, teams, history, team notes, and user notes. The server supports both STDIO and HTTP transports.

For local use, an MCP client starts the package with Node.js and communicates over STDIO. For service deployment, the HTTP entry point can be started with pnpm and listens on port 8081 by default. The port can be changed with the PORT environment variable.

HTTP deployments can receive configuration from environment variables or request headers. A token supplied through the Hackmd-Api-Token header takes precedence over the server-level HACKMD_API_TOKEN value. If an HTTP server has a token preconfigured, its endpoint should be protected with authentication before being exposed to users.

Setup and configuration

The yuna0x0/hackmd-mcp MCP server requires Node.js 18 or later and a HackMD API token. Create the token from HackMD settings, then provide it through the client configuration or environment. A typical STDIO setup starts the package with npx -y hackmd-mcp and sets HACKMD_API_TOKEN.

HACKMD_API_URL is optional and defaults to https://api.hackmd.io/v1. For HTTP hosting, ALLOWED_HACKMD_API_URLS can restrict which API URLs the server accepts; when unset, only the default URL is allowed. HTTP clients may instead provide Hackmd-Api-Token and Hackmd-Api-Url headers.

For development, clone the repository, install dependencies with pnpm, and copy env.example to .env. The MCP Inspector can be used to connect to the running server, browse tools, submit test parameters, and inspect responses. A Docker image is also published through GitHub Container Registry.

Tools and capabilities

The server exposes these operations:

  • Get authenticated user information with get_user_info.
  • List accessible teams with list_teams.
  • Read account history with get_history.
  • List, create, update, and delete team notes with the team-note tools.
  • List notes owned by the user with list_user_notes.
  • Retrieve a specific note with get_note.
  • Create, update, and delete user notes with the corresponding note tools.

The tools can support requests such as listing personal notes, showing available teams, creating meeting notes, or updating shared team documentation.

Limitations and notes

The material does not document permission behavior for individual notes or teams beyond access through the authenticated HackMD account.

HTTP hosting introduces an additional security concern: anyone who can reach an endpoint with a preconfigured token may be able to use that token unless the deployment adds authentication. Keep tokens out of source control and protect .env files, environment variables, and HTTP headers.

The documented default HTTP port is 8081, while the API URL and port can be changed through configuration. No additional note search, sharing, export, or revision-history tools are documented.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Hackmd MCP

yuna0x0/hackmd-mcp is an MCP server that connects AI clients to the HackMD API. Its main tools retrieve user and team information, reading history, and notes, including creating, reading, updating, listing, and deleting user or team notes. It supports STDIO and HTTP transports and requires a HackMD API token.

Install it by configuring an MCP client to run `npx -y hackmd-mcp` and supplying `HACKMD_API_TOKEN`. Node.js 18 or later is required. For local development, clone the repository, run `pnpm install`, and configure a `.env` file.

Add the server command and `HACKMD_API_TOKEN`, then restart Claude Desktop to use the HackMD tools.

Run `pnpm run start:http` after setting up the project. The HTTP server uses port 8081 by default, and `PORT` can change it. Provide configuration through environment variables or HTTP headers, and add authentication before exposing a preconfigured deployment.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewHackmd MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/yuna0x0-hackmd-mcp?style=directory)](https://allmcps.com/mcp/yuna0x0-hackmd-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/yuna0x0-hackmd-mcp"><img src="https://allmcps.com/api/badge/yuna0x0-hackmd-mcp?style=directory" alt="Hackmd MCP on AllMCPs" /></a>