MCP-сервер spintax

Агенту, который пишет spintax, нужен рефери. MCP-сервер — это он: три инструмента — validate, render, analyze — на эталонном движке, чтобы модель проверила себя до того, как вы увидите результат. К одним и тем же инструментам ведут две двери; выбираете по ограничению, а не по вкусу.

Две двери, один движок

Обе двери отдают одни и те же три инструмента из @spintax/core, эталонного движка, и крутят один tool-модуль — валидное на одной двери валидно и на другой. Различаются они тем, где сервер работает и что разрешает.

HTTPstdioВаш агентХостовая дверь:spintax.net/mcpЛокальная дверь:@spintax/mcpТе же три инструмента:валидация, рендер, разбор@spintax/core: эталонныйдвижок
Две двери, один движок: любая дверь ведёт к одним инструментам над одной эталонной реализацией.
Хостовый — spintax.net/mcpЛокальный — @spintax/mcp
Как обращатьсяHTTP-URLnpx @spintax/mcp у себя на машине
УстановканичегоNode (остальное подтянет npx)
Лимиты размера8 КБ шаблон, 20 вариантовнет (настраивается)
#includeотключёнс диска
Сетьнужнане нужна в рантайме
Подходит длябыстро попробовать, без установкиреальной работы, офлайна или где хостовый недоступен

Три инструмента

  • validate_spintax — диагностики с severity, стабильным кодом и строкой/столбцом от 1. Нет ошибок — шаблон можно рендерить.
  • render_spintax — варианты с seed для воспроизводимого вывода и картой переменных для контекста.
  • analyze_spintax — что шаблон требует и содержит: ссылки на переменные, определения #set и #def, include, счётчики конструкций.

Запустить локально

Локальному серверу нужен Node — и больше ничего. Наведите любой MCP-клиент — Claude Code, Claude Desktop, Cursor — на пакет:

{
  "mcpServers": {
    "spintax": { "command": "npx", "args": ["-y", "@spintax/mcp"] }
  }
}

Это вся установка. У него нет ограничений на размер — реальные шаблоны перерастают хостовые 8 КБ, — он не делает сетевых вызовов в рантайме (инструменты работают у вас на машине, а не против сервера), и читает #include-партиалы с диска, если указать ему корень:

{
  "mcpServers": {
    "spintax": {
      "command": "npx",
      "args": ["-y", "@spintax/mcp", "--include-root", "./partials"]
    }
  }
}

Лимит вариантов задаёте сами через --max-variants (по умолчанию 50, а не хостовые 20). Те же опции доступны как переменные окружения SPINTAX_MCP_* — для клиентов, которые передают env, а не аргументы.

Или хостовый эндпоинт

Когда нужно просто попробовать инструменты, ничего не устанавливая, хостовая дверь — одна строка в Claude Code:

claude mcp add --transport http spintax https://spintax.net/mcp

Ему не нужен аккаунт, он отвечает по HTTP и внесён в официальный реестр MCP как net.spintax/mcp. Плата — те самые лимиты: 8 КБ на шаблон, 20 вариантов на рендер и отключённый #include, потому что он платит за свой CPU на бесплатном тарифе. Полное описание — в его server card.

Куда хостовая дверь не дотянется

Хостовый эндпоинт работает на Cloudflare. Там, где Cloudflare заблокирован — как в России, — до URL не достучаться, и никакая настройка это не меняет; на ru.spintax.net его тоже нет, сайт статический и сервера не держит. Локальный сервер такого вызова не делает вовсе, так что там это единственный рабочий путь к MCP — по той же причине, по которой русская версия переехала на свой хост. Air-gapped и машины за фаерволом — та же история, если пакет уже установлен: если тянет Node, потянет и инструменты.

Дальше

Инструменты — это рефери, а не автор. Сам метод, как вообще вытащить шаблон из модели — промпт, петля проверки, ошибки, за которыми следить, — в статье как писать spintax-шаблоны с ИИ. Чтобы звать движок прямо из кода, а не через MCP, — четыре движка.