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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2c808c87adddd6a69996dc34866b076ecbddd77741560f2cd250331ccd89dad
|
|
| MD5 |
8017bd8d87ef4acd2cb01c0191284c7d
|
|
| BLAKE2b-256 |
816ce29f7191d36ae7d2379cb53d712a107a18f3be3fdbabcdf2ba4055b22447
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3c51a7731c8ffe03891dc1ccef6d3615804578aa15cfc0ca558ef709a9551a
|
|
| MD5 |
442fb3a20f7f126723959ca265be9250
|
|
| BLAKE2b-256 |
f7c975200d9d01ce28167d600982160003135f68b519d8c44acc6aca0ff48531
|