Skip to main content
Glama

d2-mcp

MCP-сервер для языка диаграмм D2. Компилируйте, проверяйте и изучайте диаграммы D2 из любого MCP-совместимого ИИ-ассистента.

Использует нативный бинарный файл D2 CLI (автоматически устанавливаемый в Docker-образ) для компиляции диаграмм в форматы SVG и PNG.

Инструменты

Инструмент

Описание

compile

Исходный код D2 → SVG/PNG. Поддерживает движки компоновки, темы, режим эскиза, темные темы, многостраничные диаграммы и многое другое.

validate

Проверка синтаксиса D2 без рендеринга. Возвращает статус валидности и детали ошибок.

list_themes

Список всех доступных тем D2 с ID (светлые и темные).

list_layouts

Список доступных движков компоновки (dagre, elk).

list_icons

Просмотр иконок с icons.terrastruct.com по категориям (AWS, GCP, Azure, K8s, dev, essentials, tech).

Ресурсы

Ресурс

Описание

d2://syntax-reference

Полный справочник по синтаксису языка D2 в формате markdown.

Локальная разработка

Предварительные требования

  • Node.js 22+

  • D2 CLI — установите с d2lang.com или установите переменную окружения D2_PATH на путь к бинарному файлу.

  • Иконки (опционально) — выполните scripts/download-icons.sh ./icons, затем установите ICONS_DIR=./icons для включения локального разрешения иконок. Без этого URL-адреса иконок передаются в D2 CLI «как есть».

npm install
npm run build
npm start

Для разработки с автоматической перезагрузкой:

npm run dev

Сервер запускается на порту 3000 по умолчанию (можно переопределить переменной окружения PORT).

  • Проверка работоспособности: GET /health

  • MCP-эндпоинт: POST /mcp (потоковый HTTP-транспорт)

Переменные окружения

Переменная

По умолчанию

Описание

PORT

3000

Порт HTTP-сервера

D2_PATH

d2

Путь к бинарному файлу D2 CLI (по умолчанию определяется через PATH)

ICONS_DIR

./icons

Директория, содержащая загруженные SVG-иконки для локального разрешения

Развертывание (Render)

Этот проект включает Dockerfile и шаблон render.yaml для развертывания в один клик на Render. Docker-образ автоматически устанавливает бинарный файл D2 CLI и загружает все иконки во время сборки.

  1. Отправьте этот репозиторий на GitHub

  2. В Render создайте новый Blueprint и подключите свой репозиторий

  3. Render автоматически обнаружит render.yaml и выполнит развертывание

Или вручную создайте Web Service с параметрами:

  • Environment: Docker

  • Health Check Path: /health

  • Plan: Free

Подключение к MCP-серверу

После развертывания настройте свой MCP-клиент для подключения через потоковый HTTP:

{
  "mcpServers": {
    "d2": {
      "url": "https://your-service.onrender.com/mcp"
    }
  }
}

Замените URL на фактический URL вашего сервиса Render (или http://localhost:3000/mcp для локальной версии).

Параметры инструмента Compile

Параметр

Тип

Описание

code

string

Исходный код D2 (обязательно)

layout

"dagre"

"elk"

Движок компоновки (по умолчанию: dagre)

sketch

boolean

Режим рисования от руки

themeID

integer

ID темы (см. list_themes)

darkThemeID

integer

ID темы для темного режима

pad

integer

Отступы в пикселях (по умолчанию: 100)

center

boolean

Центрировать SVG в области просмотра

scale

number

Коэффициент масштабирования (по умолчанию: по размеру экрана)

target

string

Целевая страница для многостраничных диаграмм

animateInterval

integer

Интервал анимации (мс) для многостраничных SVG

noXMLTag

boolean

Пропустить XML-декларацию для вставки в HTML

Лицензия

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/ryanmccauley/d2-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server