Сервер MCP Mermaid
Сервер Model Context Protocol (MCP), который преобразует диаграммы Mermaid в изображения PNG. Этот сервер позволяет помощникам ИИ и другим приложениям генерировать визуальные диаграммы из текстовых описаний с использованием синтаксиса разметки Mermaid.
Функции
- Преобразует код диаграммы Mermaid в изображения PNG
- Поддерживает несколько тем диаграмм (по умолчанию, лесная, темная, нейтральная)
- Настраиваемые цвета фона
- Использует Puppeteer для высококачественного рендеринга headless-браузера
- Реализует протокол MCP для бесшовной интеграции с помощниками на основе искусственного интеллекта.
- Гибкие возможности вывода: возврат изображений напрямую или сохранение на диск
- Обработка ошибок с подробными сообщениями об ошибках
Как это работает
Сервер использует Puppeteer для запуска headless-браузера, рендеринга диаграммы Mermaid в SVG и захвата скриншота рендеринговой диаграммы. Процесс включает в себя:
- Запуск экземпляра headless-браузера
- Создание HTML-шаблона с кодом Mermaid
- Загрузка библиотеки Mermaid.js
- Рендеринг диаграммы в SVG
- Сделать снимок экрана с отрендеренным SVG в формате PNG
- Либо вернуть изображение напрямую, либо сохранить его на диске
Строить
Использование
Использовать с настольным компьютером Claude
Использовать с курсором и Cline
Список диаграмм русалок можно найти в ./diagrams
, они создаются с помощью агента Cursor с подсказкой: «создать диаграммы русалок и сохранить их в отдельной папке диаграмм, объясняющей, как работает renderMermaidPng».
Бегите с инспектором
Запустите сервер с инспектором для тестирования и отладки:
Сервер запустится и будет прослушивать stdio на предмет сообщений протокола MCP.
Подробнее об инспекторе можно узнать здесь .
Установка через Smithery
Чтобы автоматически установить Mermaid Diagram Generator для Claude Desktop через Smithery :
Среды Docker и Smithery
При запуске в контейнерах Docker (в том числе через Smithery) вам может потребоваться обработка зависимостей Chrome:
- Теперь сервер пытается использовать встроенный браузер Puppeteer по умолчанию.
- Если вы столкнулись с ошибками, связанными с браузером, у вас есть два варианта:Вариант 1: Во время сборки образа Docker:
- Установите
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
при установке Puppeteer - Установите Chrome/Chromium в свой Docker-контейнер
- Установите
PUPPETEER_EXECUTABLE_PATH
во время выполнения, чтобы указать на установку Chrome
Вариант 2: использование встроенного Chrome от Puppeteer:
- Убедитесь, что ваш Docker-контейнер имеет необходимые зависимости для Chrome
- Не нужно устанавливать
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
- Код будет автоматически использовать встроенный браузер.
- Установите
Для пользователей Smithery последняя версия должна работать без дополнительной настройки.
API
Сервер предоставляет единственный инструмент:
generate
: Преобразует код диаграммы Mermaid в изображение PNG- Параметры:
code
: Код диаграммы русалки для визуализацииtheme
: (необязательно) Тема для диаграммы. Варианты: "default", "forest", "dark", "neutral"backgroundColor
: (необязательно) Цвет фона для диаграммы, например, «белый», «прозрачный», «#F0F0F0»name
: Имя сгенерированного файла (обязательно, если CONTENT_IMAGE_SUPPORTED=false)folder
: абсолютный путь для сохранения изображения (обязательно, если CONTENT_IMAGE_SUPPORTED=false)
- Параметры:
Поведение инструмента generate
зависит от переменной среды CONTENT_IMAGE_SUPPORTED
:
- Если
CONTENT_IMAGE_SUPPORTED=true
(по умолчанию): инструмент возвращает изображение непосредственно в ответе. - Когда
CONTENT_IMAGE_SUPPORTED=false
: инструмент сохраняет изображение в указанной папке и возвращает путь к файлу.
Переменные среды
CONTENT_IMAGE_SUPPORTED
: управляет тем, будут ли изображения возвращаться непосредственно в ответе или сохраняться на диске.true
(по умолчанию): изображения возвращаются непосредственно в ответе.false
: Изображения сохраняются на диск, требуя параметрыname
иfolder
Примеры
Базовое использование
С темой и цветом фона
Сохранение на диск (когда CONTENT_IMAGE_SUPPORTED=false)
Часто задаваемые вопросы
Разве Claude Desktop уже не поддерживает русалку через холст?
Да, но он не поддерживает параметры theme
и backgroundColor
. Плюс, наличие выделенного сервера упрощает создание диаграмм русалок с помощью разных клиентов MCP.
Почему мне нужно указывать CONTENT_IMAGE_SUPPORTED=false при использовании с курсором?
Курсор пока не поддерживает встроенные изображения в ответах.
Издательский
В этом проекте используются действия GitHub для автоматизации процесса публикации в npm.
Метод 1: Использование сценария выпуска (рекомендуется)
- Убедитесь, что все ваши изменения зафиксированы и отправлены.
- Запустите скрипт релиза либо с определенным номером версии, либо с семантическим приращением версии:
- Сценарий будет:
- Проверить формат версии или семантическое приращение
- Проверьте, находитесь ли вы на основной ветке
- Обнаружение и предупреждение о несоответствии версий между файлами
- Последовательно обновите все ссылки на версии (package.json, package-lock.json и index.ts)
- Создайте единый коммит со всеми изменениями версии
- Создайте и отправьте тег git
- Затем рабочий процесс GitHub автоматически выполнит сборку и опубликует в npm.
Метод 2: Ручной процесс
- Обновите свой код и зафиксируйте изменения.
- Создайте и отправьте новый тег с номером версии:
- Рабочий процесс GitHub автоматически:
- Построить проект
- Опубликовать в npm с версией из тега
Примечание: Вам необходимо настроить секрет NPM_TOKEN
в настройках вашего репозитория GitHub. Для этого:
- Сгенерируйте токен доступа npm с разрешениями на публикацию
- Перейдите в свой репозиторий GitHub → Настройки → Секреты и переменные → Действия.
- Создайте новый секрет репозитория с именем
NPM_TOKEN
, используя ваш токен npm в качестве значения.
Значки
Лицензия
Массачусетский технологический институт
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Сервер Model Context Protocol (MCP), который преобразует диаграммы Mermaid в изображения PNG.
- Функции
- Как это работает
- Строить
- Использование
- API
- Переменные среды
- Примеры
- Часто задаваемые вопросы
- Издательский
- Значки
- Лицензия
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityModel Context Protocol server for fetching web content and processing images. This allows Claude Desktop (or any MCP client) to fetch web content and handle images appropriately.Last updated -127815JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that converts PDF documents into PNG images through a simple MCP tool call.Last updated -12Python
- AsecurityAlicenseAqualityA Model Context Protocol server that validates and renders Mermaid diagrams.Last updated -14011JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables Claude or other LLMs to fetch content from URLs, supporting HTML, JSON, text, and images with configurable request parameters.Last updated -PythonMIT License