HedgeDoc MCP Multitenant Proxy Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HedgeDoc MCP Multitenant Proxy ServerCreate a new note titled 'Project Update' with markdown content."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HedgeDoc MCP Multitenant Proxy Server
This repository contains a Model Context Protocol (MCP) server that acts as a secure, multi-tenant proxy between an AI Assistant and the HedgeDoc backend API. It exposes 27 MCP tools covering 5 resource domains with full CRUD and permission management.
β¨ Features
π Identity Passthrough β Extracts the
Authorization: Bearer <token>header from incoming HTTP requests and forwards it to the HedgeDoc API without server-side authentication.π₯ Multi-Tenancy β Uses Python
contextvarsto maintain thread-safe user identity isolation, ensuring all AI-driven actions are scoped to the authenticated user's permissions.π Full HedgeDoc Coverage β 27 tools mapped to HedgeDoc API endpoints across 5 resource domains.
β‘ TOON Optimization β Bulk list responses are automatically compressed using TOON (Token-Optimized Object Notation) to reduce token consumption and maximize context window efficiency.
π Efficient Gets β GET responses return only commonly used fields by default. Full objects are available via an
include_all_fieldsflag.π§ͺ Comprehensive Testing β 38 automated tests covering all tool domains, run via the test runner pipeline.
Related MCP server: autoMate
π§ Environment Variables
Variable | Required | Description |
| Yes | Docker-internal URL of the HedgeDoc API (e.g. |
| Yes | Port number the MCP server listens on. |
| No | When |
| No | When |
| No | Public-facing URL for |
π¦ Installation & Local Development
Ensure you have Python 3.12+ installed.
Install dependencies:
pip install fastmcp httpx pydantic uvicorn toon-mcp-serverRun the server:
export HEDGEDOC_BASE_URL=http://localhost:7462 export HEDGEDOC_PUBLIC_URL=https://hedgedoc.example.com export MCP_SERVER_PORT=80 python -m src.main
π³ Docker Deployment
Build and run the server using Docker:
docker build -t hedgedoc-mcp:latest .
docker run -d --name hedgedoc-mcp \
-e HEDGEDOC_BASE_URL="http://hedgedoc-backend:3000" \
-e HEDGEDOC_PUBLIC_URL="https://hedgedoc.example.com" \
-e MCP_SERVER_PORT=80 \
-e IS_STATEFUL=false \
hedgedoc-mcp:latest
The MCP server serves at `http://hedgedoc-mcp:80/mcp` (Streamable HTTP).β οΈ Important Notes
π
include_all_fieldsβ Theinclude_all_fieldsparameter (available on allget_*andlist_*tools) controls whether all available fields are included in responses. Defaults toFalsefor performance; set toTrueonly when additional fields are needed.β‘ TOON Compression β All bulk list responses are automatically compressed using TOON to reduce token consumption by 30β60%.
π Required Fields & Defaults β Each
create_*tool requires specific key fields. All other fields default to empty strings or reasonable values. The owner field is automatically set to the authenticated user for most resources.
π οΈ API Tool Mapping
The server implements 27 MCP tools organized into the following categories:
π Notes Core (6 tools)
create_noteβ Create a new note from markdown contentget_note_by_idβ Get a single note by ID or aliasupdate_noteβ Update an existing note's contentdelete_note_by_idβ Delete a note by ID or aliasget_note_contentβ Get raw markdown content of a noteget_note_metadataβ Get a note's metadata (title, tags, etc.)
π Notes Advanced (7 tools)
list_note_mediaβ List all media files attached to a notelist_note_revisionsβ List all revisions of a noteget_note_revision_by_idβ Get a specific revision by UUIDrevert_to_revisionβ Revert a note to a previous revisionadd_aliasβ Add an alias to a notemake_alias_primaryβ Set an alias as primary or non-primaryremove_aliasβ Remove an alias from a note
π Notes Permissions (6 tools)
get_note_permissionsβ Get a note's permission settingsset_note_user_permissionβ Set a user's permission on a noteremove_note_user_permissionβ Remove a user's permission from a noteset_note_group_permissionβ Set a group's permission on a noteremove_note_group_permissionβ Remove a group's permission from a notechange_note_ownerβ Change the owner of a note
π Notes Listing (4 tools)
list_all_my_notesβ List notes owned by the current userlist_all_shared_notesβ List notes shared with the current userlist_all_public_notesβ List public notes visible to the current userlist_all_pinned_notesβ List notes pinned by the current user
π€ Profile & Media (4 tools)
get_my_profileβ Get the current user's profile informationlist_all_my_mediaβ List all media files owned by the current userget_media_by_idβ Get a single media file by UUIDdelete_media_by_idβ Delete a media file by UUID
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.Last updated52MIT
- Alicense-qualityAmaintenanceA personal AI assistant server that provides MCP tools for notes, files, reminders, memory, shell, browser, and 30+ SaaS integrations, enabling AI clients to access and manage your data across sessions.Last updated3,930MIT
- Alicense-qualityCmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.Last updated1MIT
- Alicense-qualityBmaintenanceA passive MCP server that exposes a toolbox of executable tools (shell, network, HTTP, AI search, SSH, S3 file operations) to autonomous agents via Streamable HTTP, with strong security features including Docker sandboxing and WAF.Last updated2Apache 2.0
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/homeserverhq/hedgedoc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server