HackMD

HackMD

A Model Context Protocol server that enables AI assistants to interact with the HackMD API for managing notes, including creating, reading, updating, and deleting notes.

yuna0x0

Developer Tools
Visit Server

Tools

list_team_notes

List all notes in a team

get_user_info

Get information about the authenticated user

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

get_history

Get user's reading history

list_teams

List all teams accessible to the user

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

README

HackMD MCP Server

smithery badge

This is a Model Context Protocol (MCP) server for interacting with the HackMD API. It allows AI assistants to perform operations such as:

  • Get user information
  • List user's notes
  • Create, read, update, and delete notes
  • View read history
  • Work with team notes

Requirements

  • Node.js 18+

Environment Variables

  • HACKMD_API_TOKEN: [Required] Your HackMD API token
  • HACKMD_API_URL: (Optional) HackMD API Endpoint URL. Default: https://api.hackmd.io/v1

You can get an API token from HackMD settings.

Install to Claude Desktop (or other MCP clients)

Installing via Smithery

To install HackMD MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @yuna0x0/hackmd-mcp --client claude

# For other MCP clients, use the following command:
# List available clients
npx -y @smithery/cli list clients
# Install to other clients
npx -y @smithery/cli install @yuna0x0/hackmd-mcp --client <client_name>

Installing via mcp-get

npx @michaellatman/mcp-get@latest install hackmd-mcp

Manual Installation

  1. Add this server to your claude_desktop_config.json:
{
  "mcpServers": {
    "hackmd": {
      "command": "npx",
      "args": ["-y", "hackmd-mcp"],
      "env": {
        "HACKMD_API_TOKEN": "your_api_token"
      }
    }
  }
}
  1. Restart Claude Desktop
  2. Use the tools to interact with your HackMD account

Available Tools

User API

  • get_user_info: Get information about the authenticated user

User Notes API

  • 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
  • get_history: Get user's reading history

Teams API

  • list_teams: List all teams accessible to the user

Team Notes API

  • 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

Example Usage

Can you help me manage my HackMD notes?

Then use commands like:

Please list all my notes.

Local Development

This project uses Bun as its package manager. You should install it if you haven't already.

Clone the repository and install dependencies:

git clone https://github.com/yuna0x0/hackmd-mcp.git
cd hackmd-mcp
bun install

Configuration

  1. Create a .env file by copying the example:
cp .env.example .env
  1. Edit the .env file and add your HackMD API token:
HACKMD_API_TOKEN=your_api_token

Debugging with MCP Inspector

You can use the MCP Inspector to test and debug the HackMD MCP server:

npx @modelcontextprotocol/inspector -e HACKMD_API_TOKEN=your_api_token npx hackmd-mcp

# Use this instead when Local Development
bun run inspector

Then open your browser to the provided URL (usually http://localhost:5173) to access the MCP Inspector interface. From there, you can:

  1. Connect to your running HackMD MCP server
  2. Browse available tools
  3. Run tools with custom parameters
  4. View the responses

This is particularly useful for testing your setup before connecting it to Claude or another AI assistant.

Docker

Pull from Docker Hub:

docker pull yuna0x0/hackmd-mcp

Docker build (Local Development):

docker build -t yuna0x0/hackmd-mcp .

Docker multi-platform build (Local Development):

docker buildx build --platform linux/amd64,linux/arm64 -t yuna0x0/hackmd-mcp .

Security Notice

This MCP server requires your HackMD API token in the .env file or as an environment variable. Keep this information secure and never commit it to version control.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python