返回 MCP 目录
public公开dns本地运行

HackMD MCP服务

一个模型上下文协议服务器,使人工智能助手能够与HackMD API交互以管理笔记,包括创建、读取、更新和删除笔记。

article

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 pnpm as its package manager.

Clone the repository and install dependencies:

git clone https://github.com/yuna0x0/hackmd-mcp.git
cd hackmd-mcp
pnpm 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
pnpm run inspector

Then open your browser to the provided URL (usually http://127.0.0.1:6274) 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.

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端