Обзор
@reformer/mcp — MCP-сервер (Model Context Protocol) для библиотеки @reformer/*. Он снабжает
AI-ассистентов (Claude Code, Cursor, другие MCP-клиенты) per-package документацией, JSDoc-индексом
публичных символов и эталонными примерами форм — прямо в контексте диалога.
Идея в том, что ассистенту достаточно самого сервера, чтобы собрать форму на ReFormer: не нужно
читать исходники библиотеки. Сервер отдаёт документацию как ресурсы, справочные и генерирующие
инструменты (подбор API, план и сборка формы, проверка кода) и workflow-промпты по
единому контракту формы: модель → одна схема → одна сборка createForm → правила → поведение →
визард (поток шагов) → отрисовка.
Что такое MCP?
Model Context Protocol — открытый стандарт от Anthropic для интеграции AI-ассистентов с внешними инструментами и данными. MCP-сервер объявляет клиенту:
- Resources — доступ к документации и данным
- Tools — инструменты, которые AI может вызывать
- Prompts — готовые workflow-сценарии
Установка / подключение
# Глобально
npm install -g @reformer/mcp
# Или через npx без установки
npx @reformer/mcp
Бинарь называется reformer-mcp. Регистрация в Claude Code:
# Глобальный install
claude mcp add --transport stdio reformer -- reformer-mcp
# Через npx
claude mcp add --transport stdio reformer -- npx @reformer/mcp
Проверить подключение — claude mcp list. Настройка других IDE (Cursor, Windsurf, Cline) — в
Быстром старте. Debug-режим включается переменной окружения
REFORMER_DEBUG=true (добавляет tool debug, ресурс reformer://debug и одноимённый промпт).
Инструменты (tools)
| Tool | Роль |
|---|---|
get_context | Собранный контекст для одного шага сборки формы: оператор, сигнатура, пример, правила и анти-паттерны в бюджете токенов. |
choose_api | Выбрать оператор под требование своими словами («поле B доступно, только когда заполнено A») — с примером и частыми путаницами. |
get_symbol_docs | Полный JSDoc публичного символа любого @reformer/*: сигнатура, параметры, все @example, исходник. |
find_recipe | Рецепт по ключевому слову сценария (wizard, form-array, json-schema) или @example символа. |
search_docs | Полнотекстовый поиск по документации всех пакетов, когда задачу можно описать, но не назвать. |
list_symbols | Публичные символы по виду, пакету или части имени. |
plan_form | Спека формы (markdown) или описание → FormIntent: поля, массивы, правила, поведение, раскладка. |
generate_form | FormIntent → набор файлов формы (model.ts, form.schema.ts, form.validation.ts, form.behavior.ts, …) с перекрёстной проверкой. |
validate_form | Проверка до запуска: код (kind: "code"), JSON-схема, циклы поведения, весь набор и имена файлов модуля (kind: "layout"). |
report_issue | Сохранить найденную проблему и её решение отдельным JSON-отчётом в <корень проекта>/.reformer/issue_reports. |
debug | Только при REFORMER_DEBUG=true — внутренний tool для разработки самого сервера. |
Промпты (prompts)
start-here— точка входа: канонический workflow единого контракта и карта, каким промптом, инструментом или ресурсом пользоваться на каждом шаге.discover-context— определить целевой стек проекта (core/renderer-react/renderer-json) по описанию формы и каталогу проекта.plan-form— прочитать спеку формы (markdown) и вернуть план разработки.create-form— создать форму по описанию (description,target).add-feature— добавить в готовую форму одну возможность:feature=validation|behavior|array|wizard.to-renderer— сменить способ отрисовки:FormRendererпо той же TS-схеме (renderer-react) или схема документом JSON формата 2 + реестр (renderer-json); модель, правила, поведение и вызовcreateFormостаются.review— кросс-пакетный чек-лист код-ревью.debug— только приREFORMER_DEBUG=true.
Промпты доходят не до каждого клиента: у некоторых агентов prompts/list недоступен. Поэтому то же
содержание есть в инструментах (get_context, plan_form, generate_form) и в ресурсе
reformer://guide.
Ресурсы (resources)
reformer://guide— самодокументация сервера: workflow, раскладка файлов формы, какой инструмент и ресурс брать на каждом шаге.reformer://catalog— JSON-карта пакетов и их разделов (slug + заголовок) — откуда брать URI разделов.reformer://docs/<pkg>— документация одного пакета целиком, напримерreformer://docs/cdk.<pkg>— имя без префикса@reformer/:core,cdk,ui-kit,renderer-react,renderer-json, …reformer://docs/<pkg>/<section>— отдельный раздел по slug'у (список — вreformer://catalog).
Списка символов и сигнатур в ресурсах нет — используй
list_symbols/get_symbol_docs; для рецептов по сценарию —find_recipe, для поиска по словам —search_docs.
Дальше
- Быстрый старт — установка и настройка IDE за 2 минуты.
- Инструменты — подробно о каждом tool.
- Промпты — workflow-сценарии.
- Примеры — сценарии использования.