内容
HedgeDoc MCP 服务器
[HedgeDoc](https://modelcontextprotocol.io/) 服务器,适用于 **HedgeDoc 1.x** — 开源的协作 Markdown 编辑器。
从 OpenCode 和其他支持 MCP 的 AI 代理创建笔记和 Mermaid 图表。
> **注意:** 本项目是为 HedgeDoc **1.x**(前身为 CodiMD)构建的。
> 它使用 [HedgeDoc 1.x API](https://docs.hedgedoc.org/dev/api/),与 HedgeDoc 2 不同。
## 工具列表
| 工具 | 描述 |
|---|---|
| `hedgedoc_create_blank` | 使用实例的默认模板创建空白笔记 |
| `hedgedoc_create` | 创建具有随机 ID 的| `hedgedoc_create_with_alias` | 创建具有自定义 URL 别名的笔记(需要 [FreeURL 模式](https://docs.oc.org/references/url-scheme/#freeurl-mode)) |
| `hedgedoc_create_diagram` | 创建带有 [Mermaid](https://mermaid.js.org/) 图表的笔记 |
| `hedgedoc_read` | 读取笔记的原始 Markdown 内容 |
| `hedgedoc_info` | 获取笔记元数据(标题、描述、时间戳、浏览次数) |
| `hedgedoc_list_revisions` | 列出笔记的所有可用修订版本 |
| `hedgedoc_get_revision` | 获取特定修订版本的完整内容 |
| `hedgedoc_publish_url` | 获取笔记的发布(只读)URL |
| `hedgedoc_slide_url` | 获取笔记的幻灯片演示 URL |
| `hedgedoc_status` | 获取 HedgeDoc 实例的当前状态 |
## 使用方法
```bash
export HEDGEDOC_URL="https://hedgedoc.your-instance.com"
uvx hedgedoc-mcp-server stdio
```
HedgeDoc 1.x **不** 使用 API 令牌进行笔记操作。身份验证通过会话 cookie(浏览器)或实例配置([参见生产就绪指南](https://docs.hedgedoc.org/guides/production-ready/))处理。
### OpenCode 配置
```jsonc
{
"mcp": {
"hedgedoc": {
"type": "local",
"enabled": true,
"command": ["uvx", "hedgedoc-mcp-server", "stdio"],
"environment": {
"HEDGEDOC_URL": "https://hedgedoc.your-instance.com"
}
}
}
}
```
### 要求
| 需求 | 说明 |
|---|---|
| HedgeDoc 1.x 实例 | 在 1.x 上测试。不兼容 HedgeDoc 2。 |
| Python 3.11+ | |
| `uv`(推荐) | 或 `pip install hedgedoc-mcp-server` |
## 使用的 API 端点
此服务器使用以下 [HedgeDoc 1.x API](https://docs.hedgedoc.org/dev/api/) 端点:
| 方法 | 端点 | 使用者 |
|---|---|---|
| `GET` | `/new` | 创建空白笔记 |
| `POST` | `/new` | 创建笔记(随机 ID) |
| `POST` | `/new/{alias}` | 创建笔记(自定义别名) |
| `GET` | `/{id}/download` | 读取原始 Markdown |
| `GET` | `/{id}/info` | 读取元数据 |
| `GET` | `/{id}/revision` | 列出修订版本 |
| `GET` | `/{id}/revision/{rev}` | 获取特定修订版本 |
| `GET` | `/{id}/publish` | 发布 URL |
| `GET` | `/{id}/slide` | 幻灯片 URL |
| `GET` | `/status` | 实例状态 |
有关更多详细信息,请参阅 [官方 API 文档](https://docs.hedgedoc.org/dev/api/)。
## 实例配置
您的 HedgeDoc 管理员可能需要配置这些设置:
| 设置 | 影响 | 文档 |
|---|---|---|
| `CMD_ALLOW_ANONYMOUS=true` | 允许在无需登录的情况下创建笔记 | [用户和权限](https://docs.hedgedoc.org/configuration/#users-and-privileges) |
| `CMD_ALLOW_FREEURL=true` | 启用自定义 URL 别名 | [用户和权限](https://docs.hedgedoc.org/configuration/#users-and-privileges) |
| `CMD_RATE_LIMIT_NEW_NOTES=20` | 每 5 分钟新建笔记的最大数量(默认:20) | [网络安全](https://docs.hedgedoc.org/configuration/#web-security-aspects) |
| `CMD_DOCUMENT_MAX_LENGTH=100000` | 笔记的最大长度(字符)(默认:100k) | [HedgeDoc 基础知识](https://docs.hedgedoc.org/configuration/#hedgedoc-basics) |
| `CMD_DISABLE_NOTE_CREATION | 如果为 true,则无法创建笔记 | [用户和权限](https://docs.hedgedoc.org/configuration/#users-and-privileges) |
## 开发
```bash
git clone https://github.com/Jyzus/kaymer-hedgedoc-mcp
cd kaymer