New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@maxisoft/instantcms-mcp

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@maxisoft/instantcms-mcp

MCP server and reusable AI workflows for InstantCMS 2 development

Source
npmnpm
Version
1.2.5
Version published
Weekly downloads
21
-22.22%
Maintainers
1
Weekly downloads
 
Created
Source

InstantCMS MCP Server

CI Release Node.js License

MCP-сервер и набор переносимых AI-workflows для разработки дополнений, виджетов, шаблонов и layout-схем InstantCMS 2.

Сервер предоставляет структурированную базу API InstantCMS, безопасные генераторы, валидатор пакетов, диагностические инструменты и MCP resources. Runtime-данные синхронизированы с официальным репозиторием instantsoft/icms2, последняя проверенная стабильная версия — InstantCMS 2.18.2.

Текущий релиз: v1.2.5. MCP работает автономно: доступ к GitHub нужен только сопровождающим проекта для обновления базы знаний.

Установка

npm install @maxisoft/instantcms-mcp

npm-пакет: @maxisoft/instantcms-mcp. Автоматическая публикация использует Trusted Publishing (GitHub Actions OIDC). Готовая сборка также доступна в GitHub Release ZIP:

curl -L -O https://github.com/instantcms-dev/instantcms-mcp/releases/download/v1.2.5/instantcms-mcp-v1.2.5.zip
unzip instantcms-mcp-v1.2.5.zip && cd instantcms-mcp-*/release
npm install --production
node dist/index.js

Подробности секции Установка.

Возможности

  • справочник хуков с параметрами, типами и примерами;
  • справочник основных классов InstantCMS;
  • генерация пяти вариантов дополнений;
  • генерация темы и YAML layout-схем;
  • проверка полных installation package paths и плоских controller paths;
  • диагностические коды для автоматического исправления;
  • экранирование пользовательских данных для XML, INI, PHP и YAML;
  • AI-инструкции и skills без дублирования базы знаний.
  • 100 MCP-инструментов и четыре встроенных MCP resource;
  • воспроизводимая генерация runtime-справочников из зафиксированного commit InstantCMS;
  • автоматическая еженедельная проверка обновлений и Pull Request с изменившимися данными;
  • CI на Node.js 18, 20, 22 и 24 с отдельной проверкой официальных исходников InstantCMS.

Требования и установка

  • Node.js 18 или новее;
  • npm.
git clone https://github.com/instantcms-dev/instantcms-mcp.git
cd instantcms-mcp
npm ci
npm run build

Либо скачайте готовый ZIP из последнего GitHub Release.

Подключение к MCP-клиенту:

{
  "mcpServers": {
    "instantcms": {
      "command": "node",
      "args": ["/absolute/path/to/instantcms-mcp/dist/index.js"]
    }
  }
}

Для разработки:

npm run dev
npm run inspector
npm run check

npm run check выполняет проверку provenance/generated metadata, TypeScript, unit-тестов и конфигураций AI-клиентов. Интеграционный MCP smoke-test запускается отдельно командой npm run test:integration.

Основные MCP-инструменты

Сервер регистрирует 100 инструментов. Ниже перечислены базовые точки входа; расширенные инструменты охватывают CRUD, БД, миграции, формы, гриды, API, email, cron, permissions, SEO, импорт/экспорт, cache, webhooks, OAuth, widgets, углублённую разработку и визуальное тестирование шаблонов, загрузку и аудит существующих проектов, patch generation и планирование обновлений.

ИнструментНазначение
get_addon_structureСтруктура выбранного типа дополнения
scaffold_addonГенерация полного installation package tree
list_hooksСписок хуков с фильтрами
get_hook_detailsДетали и пример конкретного хука
search_hooksПоиск по имени, описанию и параметрам
get_component_apiAPI класса или компонента
list_componentsСписок документированных компонентов
validate_addonВалидация структуры и кода дополнения
get_field_typesСправочник полей форм
get_code_exampleПримеры типовых операций
scaffold_templateГенерация базовой темы
get_template_structureСтруктура и правила шаблонов
scaffold_layout_schemeГенерация импортируемой YAML-схемы
list_layout_presetsДоступные layout-пресеты
get_server_capabilitiesВерсии и объём базы знаний
find_tool / get_workflowПодбор инструмента и последовательности вызовов
diagnose_requestОпределение типа задачи
compare_instantcms_versionsСравнение version profiles
validate_generated_artifactsРазбор XML, INI, YAML и проверка PHP-формы
build_addon_archive / inspect_addon_archiveСоздание и проверка ZIP в памяти
audit_instantcms_projectКомплексный аудит существующего file map
plan_project_changesПлан исправлений без изменения файлов
repair_instantcms_projectТолько безопасные структурные исправления
explain_instantcms_projectКраткая карта существующего проекта
plan_instantcms_upgradeПлан обновления между версиями InstantCMS
load_instantcms_projectЗагрузка проекта из директории или GitHub
create_project_patchUnified Git patch между двумя file map
scaffold_complete_templateПолный каркас темы и layout-схема
analyze_instantcms_templateАнализ структуры, позиций и overrides
scaffold_template_overrideOverride из upstream template-файла
validate_layout_schemeПроверка YAML layout-схемы
check_template_override_compatibilityПроверка overrides при обновлении InstantCMS
merge_template_overridesБезопасный трёхсторонний merge overrides
audit_template_frontendHTML, accessibility, escaping и CSS-аудит
extract_template_design_tokensИзвлечение цветов, spacing и CSS tokens
audit_template_widget_positionsСверка PHP-позиций с layout YAML
scaffold_template_e2e_environmentDocker и Playwright visual regression
index_upstream_template_sourcesSHA-256 provenance upstream-шаблонов
scaffold_template_php_qualityPHPStan, PHPCS и PHPCompatibility

Сервер также публикует MCP resources со всеми хуками, компонентами, типами дополнений и quickstart.

Группы инструментов

RegistryКоличествоЧто входит
meta-tools10capabilities, подбор workflow, диагностика, версии и артефакты
generator-tools13addon, CRUD, формы, grid, REST API, тесты, email, cron и overrides
knowledge-tools20хуки, компоненты, поля, шаблоны, layout, БД и контроллеры
database-tools6безопасный доступ к MariaDB и исследование таблиц
source-tools12widgets, traits, fields, routes, миграции и анализ требований
language-tools3языковые ключи, language files и migration scaffold
extension-tools17WYSIWYG, permissions, filters, SEO, import/export, cache, webhooks, OAuth и темы
project-tools7загрузка, аудит, объяснение, план, безопасный repair, patch и upgrade planner
template-development-tools12scaffold, merge, frontend/PHP quality, provenance, tokens, layouts и visual E2E

Полные имена, входные Zod-схемы и описания доступны клиенту через стандартный MCP tools/list. Для начала неизвестной задачи используйте diagnose_request, find_tool или get_workflow.

Структура проекта

src/
├── data/                    # runtime-справочники
├── registry/                # тематические регистрации tools/resources и Zod-схемы
├── tools/                   # domain-функции MCP
├── utils/serialization.ts   # безопасная сериализация форматов
├── server.ts                # composition root MCP-сервера
└── index.ts                 # stdio entrypoint
knowledge/                   # provenance и будущий источник данных
├── catalog.yaml             # проверяемый каталог runtime-источников
└── upstream.json            # зафиксированные ref, commit и дата InstantCMS
skills/                      # переносимые AI-workflows
evals/                       # кросс-клиентские сценарии
.github/workflows/           # CI, release и еженедельная синхронизация
AGENTS.md                    # общие инструкции coding agents
CLAUDE.md                    # тонкий адаптер Claude

Подробности устройства находятся в ARCHITECTURE.md, правила участия — в CONTRIBUTING.md, история изменений — в CHANGELOG.md.

Поддержание актуальности

GitHub main является единственным источником истины. Работайте только из Git clone и начинайте изменения с git pull --ff-only. Команда npm run check проверяет TypeScript, тесты и наличие AI-адаптеров. GitHub Actions повторяет typecheck, тесты, coverage и build для каждого push и pull request.

npm run knowledge:update -- --ref latest загружает последний стабильный тег из официального репозитория instantsoft/icms2, обновляет runtime-карты и фиксирует точный commit SHA. Для проверки ветки разработки используйте npm run knowledge:update -- --ref master, а для просмотра доступного обновления без генерации — npm run knowledge:source:status -- --ref latest.

Исходники кэшируются в .cache/icms2. Сетевой доступ нужен только во время обновления; MCP и npm-пакет используют проверенный snapshot автономно. npm run knowledge:check проверяет provenance-манифест и generated metadata.

Как работает синхронизация

instantsoft/icms2 (tag или branch)
        ↓ shallow fetch
.cache/icms2
        ↓ deterministic parsers
src/data/*.ts + knowledge/upstream.json
        ↓ typecheck + tests + review
Git commit / release snapshot

latest выбирает максимальный стабильный semver-тег из git ls-remote. Сейчас он разрешается в тег 2.18.2 и commit 4a13609c480cccfcbd27dbab424d6bf00ad67375. Парсеры извлекают хуки из вызовов hook, hookAll и runHook, а компоненты и публичные сигнатуры — из system/core/*.php. Проверенные описания и примеры накладываются поверх source evidence. Время генерации берётся из upstream commit, поэтому повторный запуск для одного SHA не создаёт шумовой diff.

Основные команды:

# Проверить, появился ли новый stable commit (код 2 означает доступное обновление)
npm run knowledge:source:status -- --ref latest

# Обновить snapshot с последнего стабильного тега
npm run knowledge:update -- --ref latest

# Проверить совместимость с веткой разработки InstantCMS
npm run knowledge:update -- --ref master

# Проверить каталог без доступа к сети
npm run knowledge:check

Workflow Sync InstantCMS knowledge запускается каждый понедельник и создаёт PR только при фактическом изменении snapshot. Workflow CI дополнительно заново генерирует данные из последнего stable-тега на каждом PR и push.

Не синхронизируйте проект копированием поверх clone с удалением отсутствующих файлов. База GitHub содержит расширенные инструменты, которых может не быть в старых локальных копиях.

AI-интеграция

AGENTS.md является каноническим набором проектных инструкций для coding agents. CLAUDE.md ссылается на него, не копируя правила. OpenCode и другие клиенты должны использовать ту же каноническую инструкцию.

Skills разделены по workflow:

  • skills/instantcms-addon — проектирование и генерация дополнений;
  • skills/instantcms-audit — аудит структуры, синтаксиса и безопасности.
  • skills/instantcms-migration — миграции и изменения схемы БД;
  • skills/instantcms-widget — виджеты, options и caching;
  • skills/instantcms-theme — темы, overrides и layout schemes;
  • skills/instantcms-api — REST, external API, OAuth и webhooks;
  • skills/instantcms-upgrade — обновление между версиями InstantCMS;
  • skills/instantcms-debug — диагностика runtime и installation failures;
  • skills/instantcms-security — целевой security review.

Для существующего проекта рекомендуемый агентный цикл: load_instantcms_project → explain_instantcms_project → audit_instantcms_project → plan_project_changes → review → repair_instantcms_project → create_project_patch → audit_instantcms_project. Инструмент repair сразу возвращает новый file map и unified Git patch, но не записывает файлы самостоятельно.

Локальный loader рекурсивно читает только текстовые файлы, не следует по symbolic links и пропускает .git, node_modules, vendor, сборочные каталоги и бинарные данные. GitHub loader принимает owner/repository или URL публичного репозитория, точный ref и необязательный subpath. Для обоих источников действуют ограничения количества файлов, размера одного файла и общего объёма.

Для разработки темы используйте цикл load_instantcms_project → analyze_instantcms_template → scaffold_complete_template/scaffold_template_override → audit_template_widget_positions → validate_layout_scheme → audit_template_frontend → create_project_patch → audit_instantcms_project. Design tokens можно получить через extract_template_design_tokens, PHP quality-конфигурацию — через scaffold_template_php_quality, а Docker/Playwright окружение — через scaffold_template_e2e_environment.

Перед обновлением InstantCMS зафиксируйте карту исходников через index_upstream_template_sources, передайте старую и новую upstream-карты в check_template_override_compatibility, затем вызовите merge_template_overrides. Неизменённые overrides обновляются автоматически; одно однозначное upstream-изменение переносится в кастомный файл; неоднозначные изменения остаются конфликтами и не модифицируются. Результат всегда содержит reviewable Git patch.

Большие справочники не копируются в skills. Агент получает факты через MCP tools/resources и knowledge/, а skill определяет порядок работы и критерии готовности.

Подключение AI-клиентов

  • Codex и совместимые coding agents: читают корневой AGENTS.md и skills из skills/.
  • Claude Code: начинает с CLAUDE.md, который направляет к каноническому AGENTS.md.
  • OpenCode и другие MCP-клиенты: используют конфигурацию mcpServers выше и те же MCP tools/resources; проектные правила остаются в AGENTS.md.

Так правила разработки не расходятся между клиентами, а предметные данные обновляются один раз через knowledge pipeline.

Структура генерируемого пакета

addon.zip
├── manifest.ru.ini
├── install.sql
└── package/
    └── system/
        ├── controllers/{name}/
        │   ├── frontend.php
        │   ├── model.php
        │   ├── manifest.xml
        │   ├── install.php
        │   ├── uninstall.php
        │   ├── actions/
        │   ├── backend/
        │   ├── hooks/
        │   └── widgets/
        └── languages/ru/controllers/{name}/{name}.php

Ключевые инварианты InstantCMS:

  • actions располагаются в отдельных файлах;
  • backend grids являются функциями grid_*, а не классами cmsGrid;
  • языковые файлы находятся вне каталога контроллера;
  • backend content templates размещаются в подпапке backend/ контроллера активной frontend-темы;
  • admincoreui предоставляет backend layout shell.

Диагностика

validate_addon сохраняет совместимые массивы errors, warnings и tips, а также возвращает структурированный массив:

{
  "code": "MISSING_REQUIRED_FILE",
  "severity": "error",
  "path": "frontend.php",
  "message": "Отсутствует обязательный файл: frontend.php"
}

Проверки

npm run typecheck
npm test
npm run test:integration
npm run knowledge:check
npm run check
npm run build

Тесты покрывают безопасную сериализацию, строгую проверку имён и версий, YAML scalars, неоднозначный поиск и round-trip scaffoldAddon → validateAddon.

Релизы и защита main

Изменения в main принимаются через Pull Request. GitHub требует успешные Build, Node.js 18/20/22/24 и InstantCMS upstream compatibility, один approving review, разрешение обсуждений и линейную историю. Force-push и удаление main запрещены классической branch protection и repository ruleset Protect main.

Push тега v* или публикация GitHub Release запускает .github/workflows/release.yml: проверки, сборку, lint, создание ZIP и публикацию @maxisoft/instantcms-mcp в npm. Тег должен совпадать с версией в package.json и package-lock.json. Уже опубликованная версия пропускается; предварительные релизы публикуются с dist-tag next, стабильные — latest.

Публикация использует Node.js 24, npm 11 и Trusted Publishing без NPM_TOKEN. В настройках npm-пакета необходимо привязать GitHub repository instantcms-dev/instantcms-mcp и workflow filename release.yml, без пути .github/workflows/. Подробности и восстановление после ошибки: NPM_TRUSTED_PUBLISHING_SETUP.md.

Лицензия

MIT — см. LICENSE.

Keywords

mcp

FAQs

Package last updated on 30 Aug 2026

Related posts