MCP-сервер Norma от Quality Clouds
Norma от Quality Clouds проверяет код, написанный с помощью ИИ, на соответствие вашим правилам по мере его создания и сохраняет результаты проверки.
Перед началом работы Norma передаёт вашему агенту для программирования правила, подходящие для обнаруженного технологического стека, проверяет каждый файл на соответствие этим правилам и фиксирует результат. Для одного и того же файла и набора правил вердикт всегда будет одинаковым. Поэтому вы получаете отчёт, который можно показать другим, а не меняющееся от запуска к запуску мнение.
-
Удалённый сервер (Streamable HTTP):
https://api.qualityclouds.ai/mcp -
Аутентификация: OAuth. При первом подключении войдите через браузер. Постоянно доступен бесплатный тариф.
-
Требуется связанный репозиторий:
live_checkработает только с репозиторием, связанным с вашей учётной записью Norma (GitHub или Bitbucket). Ваш код там не хранится. -
Работает с Cursor, Claude Code, Lovable, Replit и любым MCP-совместимым клиентом.
-
Поддерживаемые стеки: TypeScript, JavaScript, Python, PHP, Dart и Flutter, Node, React, Vite, Supabase, FastAPI, SQLAlchemy, Adobe Magento и другие.
Возможности
Наборы правил зависят от технологического стека и автоматически активируются для стека, обнаруженного сервером. Одно сканирование репозитория активирует наборы правил по шести функциональным направлениям: безопасность, производительность, масштабируемость, управляемость, сопровождаемость и архитектура. Только набор правил Supabase охватывает 12 правил, в том числе запрет на использование ключей service-role за пределами сервера, на жёстко заданные ключи и URL проектов, обязательную проверку ошибок после каждой операции изменения данных, запрет на декодирование JWT на стороне клиента и ограничение частоты запросов к edge-функциям.
Сервер предоставляет пять инструментов:
| Инструмент | Назначение |
|---|---|
get_rulesets | Без настройки определяет технологический стек репозитория и возвращает подходящие наборы правил — по одному для каждого языка или фреймворка |
get_rules_for_ruleset | Возвращает правила из одного набора: идентификатор и название каждого правила, уровень критичности, область воздействия, описание и рекомендации по исправлению |
live_check | Детерминированно проверяет один файл на соответствие правилам вашей организации. Для одного и того же файла и набора правил вердикт всегда одинаковый. Ничего не сохраняется. Работает только с репозиторием, связанным с вашей учётной записью Norma |
get_open_issues | Возвращает открытые проблемы из последнего полного сканирования связанного репозитория вместе с контекстом, необходимым для их устранения |
register_applied_actions | Фиксирует выполненные действия в журнале аудита соответствия требованиям: проверенные на соответствие правила, устранённые нарушения (файл и строки), нарушения, предотвращённые при генерации кода, а также модель, которая выполнила работу |
После каждого сеанса формируется структурированный отчёт о проверенных, исправленных и предотвращённых проблемах. Production-Ready Score репозитория и полные результаты проверки доступны в рабочей области по адресу norma.qualityclouds.com.
Как это работает
Перед первой проверкой свяжите репозиторий со своей учётной записью Norma (см. инструкцию ниже, настройка займёт 5 минут). После этого подключённый к Norma агент для программирования выполняет следующие шаги:
-
get_rulesets: в начале любой задачи по программированию. -
get_rules_for_ruleset: для каждого подходящего идентификатора набора правил; этот шаг нельзя пропускать. -
Агент пишет или изменяет код, используя эти правила как контекст.
-
live_check: после создания или изменения каждого файла, прежде чем переходить к следующему. -
register_applied_actions: после выполнения задачи, используя точные идентификаторы правил из шага 2.
Чтобы работать с уже существующими проблемами, а не создавать новый код, агент вызывает get_open_issues и исправляет нарушения, найденные при последнем полном сканировании репозитория.
Попробуйте за 5 минут (Claude Code)
-
Свяжите репозиторий с Norma. Войдите на norma.qualityclouds.com (можно начать бесплатно, банковская карта не требуется) и свяжите репозиторий через интеграцию с GitHub или Bitbucket. Проверки в реальном времени работают только для связанного репозитория. Ваш код не хранится в учётной записи Norma: при связывании Norma узнаёт, к какому репозиторию относится проверка, а
live_checkхранит содержимое файла в памяти только на время проверки. -
Добавьте сервер:
claude mcp add --scope user --transport http norma https://api.qualityclouds.ai/mcp
- Убедитесь, что сервер подключён:
claude mcp list
-
При первом подключении браузер откроется для входа.
-
Откройте сеанс в локальной копии связанного репозитория и попросите Claude Code проверить файл на соответствие вашим стандартам программирования. Агент получит правила для вашего технологического стека, проверит файл в реальном времени и зарегистрирует результаты в вашей рабочей области.
Если проверка в реальном времени сообщает, что репозиторий не связан, убедитесь, что он отображается в вашей учётной записи Norma, а команда git remote get-url origin в локальной копии указывает на этот же репозиторий.
Cursor
Добавьте конфигурацию в .cursor/mcp.json:
{
"mcpServers": {
"norma": {
"url": "https://api.qualityclouds.ai/mcp"
}
}
}
При первом подключении Cursor предложит войти через браузер. Как и в случае с Claude Code, сначала свяжите репозиторий с учётной записью Norma (шаг 1 в инструкции по настройке за 5 минут), а затем откройте его локальную копию.
Lovable
Lovable поддерживает пользовательские MCP-серверы в качестве подключаемых к чату инструментов, поэтому Norma работает без плагина. Откройте в проекте панель подключаемых инструментов и добавьте пользовательский MCP-сервер с именем Norma и URL сервера https://api.qualityclouds.ai/mcp (транспорт HTTP, OAuth: при первом подключении браузер откроется для входа). Затем отправьте одно сообщение, чтобы Lovable применял это правило на постоянной основе в проекте:
Начиная с этого момента проверяй каждый созданный или изменённый файл с помощью Norma и исправляй найденные проблемы.
Один обязательный шаг: свяжите GitHub-репозиторий проекта с учётной записью Norma, а затем отправьте его общедоступный URL GitHub в чат, чтобы Lovable мог сообщить Norma, с каким репозиторием он работает. Git remote, используемый самим Lovable, содержит токен, поэтому Lovable не передаёт его сторонним сервисам. Без общедоступного URL проверки в реальном времени не запускаются, а результаты не попадают в журнал аудита. Ваш код не хранится в учётной записи Norma.
Полная инструкция, включая устранение неполадок: документация по Lovable.
Ссылки
-
Регистрация: norma.qualityclouds.com
-
Продукт: qualityclouds.ai/norma
-
Сообщество, документация и поддержка: github.com/qualityclouds/community
Разработано компанией Quality Clouds — платформой управления кодом, созданным с помощью ИИ, которая с 2017 года обеспечивает управление более чем 950 корпоративными экземплярами платформ.