d2-mcp
d2-mcp
MCP-сервер для языка диаграмм D2. Компилируйте, проверяйте и изучайте диаграммы D2 из любого MCP-совместимого ИИ-ассистента.
Использует нативный бинарный файл D2 CLI (автоматически устанавливаемый в Docker-образ) для компиляции диаграмм в форматы SVG и PNG.
Инструменты
Инструмент | Описание |
| Исходный код D2 → SVG/PNG. Поддерживает движки компоновки, темы, режим эскиза, темные темы, многостраничные диаграммы и многое другое. |
| Проверка синтаксиса D2 без рендеринга. Возвращает статус валидности и детали ошибок. |
| Список всех доступных тем D2 с ID (светлые и темные). |
| Список доступных движков компоновки ( |
| Просмотр иконок с icons.terrastruct.com по категориям (AWS, GCP, Azure, K8s, dev, essentials, tech). |
Ресурсы
Ресурс | Описание |
| Полный справочник по синтаксису языка 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 /healthMCP-эндпоинт:
POST /mcp(потоковый HTTP-транспорт)
Переменные окружения
Переменная | По умолчанию | Описание |
|
| Порт HTTP-сервера |
|
| Путь к бинарному файлу D2 CLI (по умолчанию определяется через |
|
| Директория, содержащая загруженные SVG-иконки для локального разрешения |
Развертывание (Render)
Этот проект включает Dockerfile и шаблон render.yaml для развертывания в один клик на Render. Docker-образ автоматически устанавливает бинарный файл D2 CLI и загружает все иконки во время сборки.
Отправьте этот репозиторий на GitHub
В Render создайте новый Blueprint и подключите свой репозиторий
Render автоматически обнаружит
render.yamlи выполнит развертывание
Или вручную создайте Web Service с параметрами:
Environment: Docker
Health Check Path:
/healthPlan: Free
Подключение к MCP-серверу
После развертывания настройте свой MCP-клиент для подключения через потоковый HTTP:
{
"mcpServers": {
"d2": {
"url": "https://your-service.onrender.com/mcp"
}
}
}Замените URL на фактический URL вашего сервиса Render (или http://localhost:3000/mcp для локальной версии).
Параметры инструмента Compile
Параметр | Тип | Описание | |
| string | Исходный код D2 (обязательно) | |
|
|
| Движок компоновки (по умолчанию: dagre) |
| boolean | Режим рисования от руки | |
| integer | ID темы (см. | |
| integer | ID темы для темного режима | |
| integer | Отступы в пикселях (по умолчанию: 100) | |
| boolean | Центрировать SVG в области просмотра | |
| number | Коэффициент масштабирования (по умолчанию: по размеру экрана) | |
| string | Целевая страница для многостраничных диаграмм | |
| integer | Интервал анимации (мс) для многостраничных SVG | |
| boolean | Пропустить XML-декларацию для вставки в HTML |
Лицензия
MIT
This server cannot be installed
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