Сервер протокола Model Context Protocol (MCP), позволяющий AI-агентам (Claude, Cursor, Windsurf и др.) выполнять полиграфический аудит вёрстки и проверять вёрстку с книжным выравниванием текста по алгоритму Кнута — Пласса (как в издательской системе
Ядро проекта: Вся логика высокоточной веб-типографики, переносов и микровыравнивания базируется на библиотеке Justif от Lyall Cooper. Данный MCP-сервер переносит её возможности в автономную среду headless-браузера Playwright для работы с AI-агентами.
- Книжная типографика для агента: Реализация алгоритма Кнута — Пласса (Knuth-Plass line breaking) устраняет построчные «реки» пробелов, выравнивает полосу набора, включает микротипографику и висячую пунктуацию.
- Поддержка переносов (Hyphenation): Корректные переносы длинных слов по слогам (включая русский язык
ruи английскийen-us). - Визуальная обратная связь (Vision-in-the-loop): Сервер отдаёт скриншот страницы прямо в формате MCP
image/png. Мультимодальные модели (Claude 3.5/3.7, GPT-4o) могут визуально оценить вёрстку и скорректировать CSS. - Анализ разметки: Автоматический перехват ошибок JavaScript в консоли браузера, проверка наличия обязательного атрибута
langи тест адаптивности под разную ширину контейнера.
git clone https://github.com/kobaltgit/mcp-typography-server.git
cd mcp-typography-server
# Установка NPM-зависимостей
npm install
# Установка браузера Chromium для Playwright (обязательно)
npx playwright install chromiumnpm run buildКоманда компилирует TypeScript в исполняемый JavaScript-файл в папке dist/index.js.
MCP Inspector — официальный веб-интерфейс для отладки MCP-инструментов.
- Запустите инспектор из корня проекта:
npx @modelcontextprotocol/inspector node dist/index.js
- Откройте в браузере ссылку, которую выведет терминал (вида
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=...). - В интерфейсе:
- Убедитесь, что статус соединения — Connected (зелёный индикатор).
- Перейдите во вкладку Tools и нажмите List Tools.
- Выберите инструмент
audit_typography.
- Заполните тестовые поля:
lang:ruwidth:700html:<h2>Проверка типографики Кнута — Пласса</h2> <p> «Качественный набор текста — это баланс между формой и смыслом», — писали классики графического дизайна. В обычном браузере стандартное выравнивание по ширине часто создает неприятные белые пустоты («реки в наборе»), которые сильно утомляют глаз читателя. </p> <p> Библиотека Justif применяет алгоритм из типографской системы TeX. Сложные составные слова, такие как <em>высококвалифицированный</em>, <em>сельскохозяйственный</em> или <em>достопримечательность</em>, делятся строго по правилам русской орфографии. </p>
- Нажмите Run Tool. В окне появится отчёт по разметке и скриншот отрендеренной страницы с идеальным выравниванием.
Запустите тестовый клиент в терминале:
node test.jsСкрипт подключится к серверу через stdio, выполнит тестовый запрос и сохранит результат в файл test-result.png в корне проекта.
Откройте файл конфигурации:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте конфигурацию сервера:
{
"mcpServers": {
"typography-auditor": {
"command": "node",
"args": [
"/абсолютный/путь/к/mcp-typography-server/dist/index.js"
]
}
}
}(Обратите внимание на экранирование обратных слэшей \\):
{
"mcpServers": {
"typography-auditor": {
"command": "node",
"args": [
"C:\\path\\to\\mcp-typography-server\\dist\\index.js"
]
}
}
}В корне вашего разрабатываемого веб-проекта создайте или отредактируйте файл .cursor/mcp.json:
{
"mcpServers": {
"typography-auditor": {
"command": "node",
"args": [
"/абсолютный/путь/к/mcp-typography-server/dist/index.js"
]
}
}
}После подключения инструмента агенту доступен тул audit_typography.
Пример промпта:
«Сверстай мне адаптивный блок статьи о пользе чтения на русском языке. Примени алгоритм Justif для выравнивания по ширине. Проверь вёрстку через инструмент
audit_typographyна ширине 375px (мобилка) и 750px (десктоп). Если на скриншоте увидишь неудачные переносы или разрывы строк — скорректируй стили».
Что произойдёт под капотом:
- Агент генерирует HTML/CSS код.
- Вызывает
audit_typographyс кодом статьи. - Сервер через Playwright рендерит страницу, применяет Justif и делает скриншот.
- Агент получает скриншот, анализирует его с помощью Vision и отдаёт вам проверенный результат.
Этот MCP-сервер был бы невозможен без проекта:
- Justif — автор Lyall Cooper. Великолепная реализация алгоритма Кнута — Пласса, микротипографики и оптического выравнивания полей для современного веба.
| Ошибка | Причина | Решение |
|---|---|---|
Executable doesn't exist at ... playwright |
Не скачан браузер Chromium | Выполните команду npx playwright install chromium. |
Cannot find name 'process' при сборке |
Особенности типизации ES-модулей | Убедитесь, что в src/index.ts добавлен import process from "node:process";, а в tsconfig.json указано "types": ["node"]. |
| Сервер не отвечает или ломается JSON-RPC | Вывод лишнего текста в stdout |
В коде сервера для логов используйте только console.error(), так как console.log() ломает канал обмена протокола stdio. |
MIT