HackMD MCP Server

A Model Context Protocol server for integrating HackMD's note-taking platform with AI assistants.

Local serverstdioGo

What is the HackMD MCP server?

Hackmd mcp server connects HackMD to AI assistants that speak the Model Context Protocol. A Model Context Protocol server for integrating HackMD's note-taking platform with AI assistants.

What HackMD does

A Model Context Protocol (MCP) server that interfaces with the HackMD API, allowing LLM clients to access and interact with HackMD notes, teams, user profiles, and history data.

Key capabilities

  • Get user profile information
  • Create, read, update, and delete notes
  • Manage team notes and collaborate with team members
  • Access reading history
  • List and manage teams
  • Dual transport support — Both HTTP and STDIO transports
  • Cloud deployment ready — Support Smithery and other platforms

Tools it exposes

Once connected, the assistant can call these 13 tools directly:

  • get_user_info — Get information about the authenticated user
  • list_teams — List all teams accessible to the user
  • get_history — Get user's reading history
  • list_team_notes — List all notes in a team
  • create_team_note — Create a new note in a team
  • update_team_note — Update an existing note in a team
  • delete_team_note — Delete a note in a team
  • list_user_notes — List all notes owned by the user
  • get_note — Get a note by its ID
  • create_note — Create a new note
  • update_note — Update an existing note
  • delete_note — Delete a note
  • Configuration — 1. Create a .env file by copying the example: bash cp env.example .env

Installing the hackmd mcp server

The server is distributed via npm as @modelcontextprotocol/inspector, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.

Configuration

Before the server will start you need to supply 2 environment variables: HACKMD_API_TOKEN, HACKMD_API_URL. Keep credentials in your client's env block or a secrets manager rather than committing them.

Requirements

  • Node.js 18+

Where it fits

Productivity servers pay off through capture: the tasks and notes that never get filed are the ones where opening the app is more friction than the thought is worth. HackMD sits in that group, and the shape of its toolset — get_user_info, list_teams, get_history among others — tells you what it is really for. Worth comparing against the other productivity servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.

Practical notes

  • This server runs locally, so it operates with whatever access your machine and its credentials already have. Scope that deliberately rather than by default.
  • It will not start until its required credentials are present, so set those before wondering why the tools never appear.
  • With 13 tools exposed, expect a noticeable bump in prompt size — disable it in projects that never use HackMD.
  • Written in Go.
  • MCP clients ask for confirmation before each tool call by default. Keep that on while you learn what the hackmd mcp server actually does with your data.
  • Every entry in this directory is reviewed by hand before it goes live, and details are checked against the project's own documentation.

Available tools

ToolWhat it does
get_user_infoGet information about the authenticated user
list_teamsList all teams accessible to the user
get_historyGet user's reading history
list_team_notesList all notes in a team
create_team_noteCreate a new note in a team
update_team_noteUpdate an existing note in a team
delete_team_noteDelete a note in a team
list_user_notesList all notes owned by the user
get_noteGet a note by its ID
create_noteCreate a new note
update_noteUpdate an existing note
delete_noteDelete a note
Configuration1. Create a .env file by copying the example: bash cp env.example .env

How to install the HackMD MCP server

{
  "mcpServers": {
    "hackmd": {
      "command": "npx",
      "args": ["-y", "hackmd-mcp"],
      "env": {
        "HACKMD_API_TOKEN": "your_api_token"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js 18+
VariableDescriptionRequired
HACKMD_API_TOKENCredential the server authenticates with.Yes
HACKMD_API_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use HackMD to get user info.
  • Use HackMD to list teams.
  • Use HackMD to get history.

Frequently asked questions

It connects HackMD to MCP-compatible AI assistants such as Claude and Cursor, exposing 13 tools (get_user_info, list_teams, get_history, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with HackMD directly.