home / mcp / hackmd mcp server

HackMD MCP Server

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

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "yuna0x0-hackmd-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "hackmd-mcp"
      ],
      "env": {
        "HACKMD_API_URL": "https://api.hackmd.io/v1",
        "HACKMD_API_TOKEN": "your_api_token"
      }
    }
  }
}

You can run a Model Context Protocol (MCP) server that connects to HackMD, letting you manage notes, teams, profiles, and history data from your MCP-enabled interface. This setup supports both STDIO (local development) and HTTP (remote) transports, so you can develop and deploy in the way that fits your workflow while keeping HackMD access centralized and secure.

How to use

You interact with the HackMD MCP server through your MCP client to perform common actions like reading user information, listing and managing notes, and accessing reading history. Start by configuring a local STDIO server for development, then switch to the HTTP transport when you deploy to a remote host. Use the available tools to perform tasks such as getting your profile, listing and editing notes, and collaborating with teams.

How to install

Prerequisites you need before installation are Node.js 18+ and an active HackMD API token.

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

Additional steps for local STDIO setup

1. Add the HackMD MCP server configuration to your MCP config file used by your client (for example, claude_desktop_config.json or mcp.json).

2. Restart your MCP client so the new server is loaded.

3. Use the available tools to interact with HackMD, such as retrieving your user profile, managing notes, or listing teams.

Available tools

get_user_info

Retrieve information about the authenticated HackMD user.

list_teams

List all teams accessible to the authenticated user.

get_history

Fetch the user's reading history from HackMD.

list_team_notes

List all notes within a specific team.

create_team_note

Create a new note under a team.

update_team_note

Update an existing team note.

delete_team_note

Delete a note from a team.

list_user_notes

List all notes owned by the authenticated user.

get_note

Retrieve a note by its ID.

create_note

Create a new note for the authenticated user.

update_note

Update an existing user note.

delete_note

Delete a user note.