Skip to main content

MCP server for HedgeDoc 1.x — create collaborative markdown notes with Mermaid diagrams

Project description

HedgeDoc MCP Server

MCP server for HedgeDoc 1.x — the open-source collaborative markdown editor. Create notes and Mermaid diagrams from OpenCode and other MCP-compatible AI agents.

Note: This is built for HedgeDoc 1.x (formerly CodiMD). It uses the HedgeDoc 1.x API, which differs from HedgeDoc 2.

Tools

Tool Description
hedgedoc_create_blank Create a blank note with the instance's default template
hedgedoc_create Create a new note with a random ID
hedgedoc_create_with_alias Create a new note with a custom URL alias (requires FreeURL mode)
hedgedoc_create_diagram Create a note with a Mermaid diagram
hedgedoc_read Read the raw markdown content of a note
hedgedoc_info Get note metadata (title, description, timestamps, viewcount)
hedgedoc_list_revisions List all available revisions of a note
hedgedoc_get_revision Get the full content of a specific revision
hedgedoc_publish_url Get the published (read-only) URL of a note
hedgedoc_slide_url Get the slide presentation URL of a note
hedgedoc_status Get the current status of the HedgeDoc instance

Usage

export HEDGEDOC_URL="https://hedgedoc.your-instance.com"
uvx hedgedoc-mcp-server stdio

HedgeDoc 1.x does not use API tokens for note operations. Authentication is handled via session cookies (browser) or instance configuration (see Production Ready guide).

OpenCode config

{
  "mcp": {
    "hedgedoc": {
      "type": "local",
      "enabled": true,
      "command": ["uvx", "hedgedoc-mcp-server", "stdio"],
      "environment": {
        "HEDGEDOC_URL": "https://hedgedoc.your-instance.com"
      }
    }
  }
}

Requirements

Requirement Notes
HedgeDoc 1.x instance Tested on 1.x. Not compatible with HedgeDoc 2.
Python 3.11+
uv (recommended) Or pip install hedgedoc-mcp-server

API Endpoints Used

This server uses the following HedgeDoc 1.x API endpoints:

Method Endpoint Used by
GET /new Create a blank note
POST /new Create a note (random ID)
POST /new/{alias} Create a note (custom alias)
GET /{id}/download Read raw markdown
GET /{id}/info Read metadata
GET /{id}/revision List revisions
GET /{id}/revision/{rev} Get specific revision
GET /{id}/publish Published URL
GET /{id}/slide Slide URL
GET /status Instance status

For more details, see the official API docs.

Instance Configuration

Your HedgeDoc administrator may need to configure these settings:

Setting Impact Docs
CMD_ALLOW_ANONYMOUS=true Allows note creation without login Users and Privileges
CMD_ALLOW_FREEURL=true Enables custom URL aliases Users and Privileges
CMD_RATE_LIMIT_NEW_NOTES=20 Max new notes per 5 minutes (default: 20) Web Security
CMD_DOCUMENT_MAX_LENGTH=100000 Max note length in chars (default: 100k) HedgeDoc basics
CMD_DISABLE_NOTE_CREATION=false If true, no notes can be created Users and Privileges

Development

git clone https://github.com/Jyzus/kaymer-hedgedoc-mcp
cd kaymer-hedgedoc-mcp
uv venv && uv pip install -e .
HEDGEDOC_URL="https://hedgedoc.your-instance.com" uv run hedgedoc-mcp-server

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hedgedoc_mcp_server-0.3.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hedgedoc_mcp_server-0.3.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file hedgedoc_mcp_server-0.3.0.tar.gz.

File metadata

  • Download URL: hedgedoc_mcp_server-0.3.0.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for hedgedoc_mcp_server-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f2c808c87adddd6a69996dc34866b076ecbddd77741560f2cd250331ccd89dad
MD5 8017bd8d87ef4acd2cb01c0191284c7d
BLAKE2b-256 816ce29f7191d36ae7d2379cb53d712a107a18f3be3fdbabcdf2ba4055b22447

See more details on using hashes here.

File details

Details for the file hedgedoc_mcp_server-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: hedgedoc_mcp_server-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for hedgedoc_mcp_server-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e3c51a7731c8ffe03891dc1ccef6d3615804578aa15cfc0ca558ef709a9551a
MD5 442fb3a20f7f126723959ca265be9250
BLAKE2b-256 f7c975200d9d01ce28167d600982160003135f68b519d8c44acc6aca0ff48531

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page