Skip to main content
Glama
IPromise-23

obsidian-mermaid-mcp

by IPromise-23

obsidian-mermaid-mcp

License: MIT Node: >=20 MCP Ready Platform

Локальный, без токенов, без потерь рендеринг 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 и настройки в той же папке) без какой-либо конфигурации.

  • Два режима работы

    1. Автоматический режим Watcher (фоновый наблюдатель за файлами для бесшовного написания)

    2. Режим MCP-инструментов (4 стандартных stdio MCP-инструмента для прямого вызова агентом)

  • 💻 Универсальная поддержка платформ macOS, Linux, Windows, WSL и Docker.


🚀 Быстрый старт

Требования

  • Node.js: >= 20.0.0

  • Chrome / 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 обязателен для фактической записи файлов. Без --apply watcher работает в режиме предварительного просмотра.

Настройка фонового демона

Мы предоставляем готовые шаблоны фоновых служб для всех основных платформ:

👉 Подробное руководство по настройке демона: 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-инструменты

Имя инструмента

Режим по умолчанию

Описание

sync_note

preview

Сканирует блоки Mermaid в заметке, рендерит в SVG и вставляет маркеры встраивания (требуется apply: true для записи).

restore_note

preview

Восстанавливает управляемые маркеры встроенного SVG обратно в исходные блоки кода Mermaid.

render_mermaid

read-only

Рендерит исходный код Mermaid в очищенный SVG.

extract_mermaid_source

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.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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…

View all MCP Connectors

Latest Blog Posts

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