obsidian-mermaid-mcp
obsidian-mermaid-mcp
Локальный, без токенов, без потерь рендеринг Mermaid и обратимая синхронизация заметок для хранилищ Obsidian во всех AI-агентах.
🌟 Ключевые особенности
✍️ Опыт написания без промптов AI-агенты (Codex, Claude Code, Antigravity, Cursor, Windsurf, Cline и др.) могут естественно писать стандартный Markdown с блоками
```mermaid. Фоновый Watcher автоматически преобразует их во встроенные SVG в течение ~2 секунд без необходимости специальных промптов.🔒 100% локально и приватно Рендерится локально через headless Chrome/Puppeteer. Никаких облачных API рендеринга, никаких затрат токенов и нулевых утечек в сеть.
🔄 Без потерь и полностью обратимо Исходный код Mermaid безопасно сохраняется как в боковых файлах
.mmd, так и в<metadata>SVG. В любой момент можно одним кликом вернуться к исходным блокам кода Mermaid.🧠 Умная адаптация к хранилищу Автоматически определяет
.obsidian/app.json(поддерживает относительные пути к папкамassets/${filename}, вложения в корне хранилищаattachmentsи настройки в той же папке) без какой-либо конфигурации.⚡ Два режима работы
Автоматический режим Watcher (фоновый наблюдатель за файлами для бесшовного написания)
Режим MCP-инструментов (4 стандартных stdio MCP-инструмента для прямого вызова агентом)
💻 Универсальная поддержка платформ macOS, Linux, Windows, WSL и Docker.
🚀 Быстрый старт
Требования
Node.js:
>= 20.0.0Chrome / Chromium / Edge / Brave / Arc: установлен в стандартном месте или укажите через
PUPPETEER_EXECUTABLE_PATH.
Установка и сборка (локальный Node.js)
git clone https://github.com/IPromise-23/obsidian-mermaid-mcp.git
cd obsidian-mermaid-mcp
npm ci
npm run build
npm testУстановка и сборка (альтернатива Docker)
git clone https://github.com/IPromise-23/obsidian-mermaid-mcp.git
cd obsidian-mermaid-mcp
docker build -t obsidian-mermaid-mcp:latest .👉 Подробное руководство по Docker (MCP-сервер и Docker Compose): docs/docker-guide.md
🛠️ Режим использования 1: Автоматический Watcher (рекомендуется)
Запустите watcher в фоновом режиме, чтобы автоматически преобразовывать любые новые или отредактированные блоки Mermaid в ваших заметках Obsidian.
Тест в переднем плане
node packages/watcher/dist/index.js watch \
--vault-root /path/to/your/obsidian/vault \
--apply \
--debounce-ms 3000Примечание:
--applyобязателен для фактической записи файлов. Без--applywatcher работает в режиме предварительного просмотра.
Настройка фонового демона
Мы предоставляем готовые шаблоны фоновых служб для всех основных платформ:
macOS (LaunchAgent): см.
examples/daemons/com.obsidian-mermaid.watch.plistLinux (пользовательская служба systemd): см.
examples/daemons/obsidian-mermaid-watch.serviceWindows (Планировщик задач / PowerShell): см.
examples/daemons/register-task-windows.bat
👉 Подробное руководство по настройке демона: docs/daemon-setup.md
🔌 Режим использования 2: Режим MCP-инструментов
Настройте obsidian-mermaid-mcp как стандартный MCP-сервер в вашем любимом AI-хосте.
Пример конфигурации MCP
{
"mcpServers": {
"obsidian-mermaid": {
"command": "node",
"args": ["/absolute/path/to/obsidian-mermaid-mcp/packages/mcp-server/dist/index.js"],
"env": {
"OBSIDIAN_MERMAID_VAULT_ROOT": "/absolute/path/to/your/vault"
}
}
}
}👉 Полное руководство по настройке для 10+ AI-хостов (Codex, Claude Code, Cursor, Windsurf, Cline, Roo Code, Goose, Zed и др.):
См. docs/host-configs.md.
Доступные MCP-инструменты
Имя инструмента | Режим по умолчанию | Описание |
| preview | Сканирует блоки Mermaid в заметке, рендерит в SVG и вставляет маркеры встраивания (требуется |
| preview | Восстанавливает управляемые маркеры встроенного SVG обратно в исходные блоки кода Mermaid. |
| read-only | Рендерит исходный код Mermaid в очищенный SVG. |
| read-only | Извлекает или восстанавливает исходный код Mermaid из заметки или управляемого SVG-файла. |
📁 Как это работает: преобразование хранилища
До преобразования (стандартный Markdown)
# Architecture Overview
```mermaid
flowchart LR
Client --> Server
Server --> Database
```После преобразования (чистый встроенный SVG + боковой файл)
# Architecture Overview
![[assets/Architecture/mermaid-001-f97437d9e714d8ee.svg|600]]Сгенерированная структура файлов
MyVault/
├── Architecture.md
└── assets/
└── Architecture/
├── mermaid-001-f974.svg # Sanitized, high-resolution SVG
└── mermaid-001-f974.mmd # Exact Mermaid source backup⚙️ Справочник по конфигурации
Вы можете настроить поведение через JSON-файл конфигурации (--config /path/to/config.json) или переменные окружения.
Пример config.json:
{
"configVersion": 1,
"vaultRoot": "/path/to/vault",
"assetRoot": "assets",
"attachmentPattern": "{note_dir}/assets/{note_name}/mermaid-{index}-{hash}.svg",
"sourcePattern": "{note_dir}/assets/{note_name}/mermaid-{index}-{hash}.mmd",
"embedWidth": 600,
"theme": "default",
"background": "transparent",
"sourceStorage": "both",
"failurePolicy": "partial",
"renderer": {
"timeoutMs": 30000,
"browserIdleTimeoutMs": 300000,
"maxConcurrentRenders": 1,
"htmlLabels": false,
"securityLevel": "strict",
"executablePath": ""
},
"watcher": {
"enabled": true,
"debounceMs": 3000,
"apply": true
}
}Плейсхолдеры шаблонов
{note_dir}: подкаталог заметки относительно корня хранилища (например,SEM_AI/chapter1или пусто для корневых заметок).{note_name}: безопасное имя файла заметки без расширения.md.{asset_root}: настроенный корень ресурсов (по умолчанию:assets).{index}: трёхзначный индекс диаграммы в заметке (001,002и т.д.).{hash}: 16-символьный отпечаток SHA-256 исходного кода Mermaid.{ext}: расширение файла (svgилиmmd).
🔍 Устранение неполадок и FAQ
1. Браузер не найден
По умолчанию сервер ищет Google Chrome, Chromium, Microsoft Edge, Brave или Arc в стандартных каталогах macOS, Linux и Windows. Если он установлен в нестандартном месте, укажите:
export PUPPETEER_EXECUTABLE_PATH="/custom/path/to/chrome"Или укажите "renderer.executablePath" в вашем config.json.
2. Поддержка тёмной темы
Установите "theme": "dark" в config.json или передайте "theme": "dark" в вызовах MCP-инструментов. Также можно использовать "theme": "auto" с "themeContext": "dark".
3. Как отредактировать уже преобразованную диаграмму
Вариант A: Запустите
restore_note(через MCP или CLI), чтобы вернуть заметку к блокам```mermaid, отредактируйте её и дайте ей повторно синхронизироваться.Вариант B: Напрямую отредактируйте сгенерированный боковой файл
.mmdв папкеassets/. Watcher / движок синхронизации автоматически обнаружит изменение бокового файла и перегенерирует SVG!
📄 Лицензия
Лицензия MIT. Подробности см. в LICENSE.
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 Connectors
Generate dynamic Mermaid diagrams and charts with AI assistance. Customize styles and export diagr…
Let Claude, Cursor, or ChatGPT author Mermaid diagrams your team can read and share.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
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/IPromise-23/obsidian-mermaid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server