1c-naparnik

1C:Naparnik (1С:Напарник) MCP server tools - BSL code analysis, review, rewriting, ITS knowledge base, platform documentation search, configuration documentation. Use when checking BSL code quality, s

SKILL.md

GitHub

1С:Напарник - MCP Tools Reference

MCP-сервер 1c-naparnik - интеграция с API 1С:Напарник (code.1c.ai). 12 инструментов: 6 для анализа/модификации BSL-кода, 6 для поиска по документации и базе знаний ИТС.

When to Use

Используй инструменты 1c-naparnik когда:

  • Нужно проверить качество BSL-кода (стиль, архитектура, стандарты)
  • Нужно проверить код на синтаксические ошибки, логические проблемы, антипаттерны производительности
  • Нужно получить code review по стандартам ИТС
  • Нужно переписать или модифицировать BSL-код с улучшениями
  • Нужно объяснение конкретной конструкции языка BSL
  • Нужно найти методологическую статью или стандарт на ИТС
  • Нужно прочитать конкретный документ ИТС по ID
  • Нужно найти информацию в документации платформы (встроенные функции, типы, события)
  • Нужно сравнить изменения между версиями платформы
  • Нужно найти информацию по конкретной конфигурации (ERP, ЗУП, Бухгалтерия)

Prerequisites Check

Сервер работает через Docker-контейнер на порту 8007. Если инструменты не отвечают - сообщи пользователю:

MCP-сервер 1c-naparnik недоступен. Запустите Docker-контейнер:

cd <путь к 1c-code-checker> && docker compose up -d

Tools by Category

Анализ и модификация кода (6 инструментов)

ask_1c_ai - Свободный вопрос к ИИ

Основной инструмент для любых вопросов по 1С. Поддерживает контекст диалога (сессии).

Параметр Обязательный Описание
question да Вопрос (код, задача, архитектурный вопрос)
create_new_session нет true - новая сессия (сброс контекста), false - продолжение (default)

Когда использовать:

  • ОБЯЗАТЕЛЬНО после каждого написания/изменения BSL-кода - быстрая проверка качества
  • Общие вопросы по архитектуре, паттернам, подходам 1С
  • Вопросы, не подходящие под специализированные инструменты
  • Когда нужен контекст предыдущего диалога (серия связанных вопросов)

check_1c_code - Техническая проверка кода

Проверка синтаксиса, логических ошибок, антипаттернов производительности (запросы в цикле, N+1, обращение через точку).

Параметр Обязательный Описание
code да BSL-код для проверки
check_type нет Тип проверки (по умолчанию - полная)

Когда использовать:

  • Проверка: скомпилируется ли код, есть ли баги
  • Поиск антипаттернов производительности
  • Альтернатива syntaxcheck (1c-syntax-checker-mcp) с расширенным анализом логики

review_1c_code - Code review стиля и стандартов

Ревью по стандартам ИТС: именование, структура, читаемость, соответствие стандартам. НЕ проверяет синтаксис.

Параметр Обязательный Описание
code да BSL-код для ревью

Когда использовать:

  • Проверка соответствия стандартам ИТС (именование переменных, структура модуля)
  • Оценка читаемости и поддерживаемости кода
  • Перед коммитом - финальное ревью стиля

rewrite_1c_code - Улучшение кода (ИИ решает что улучшить)

ИИ анализирует код и предлагает свою улучшенную версию. В отличие от modify_1c_code, здесь ИИ сам решает, что и как улучшить.

Параметр Обязательный Описание
code да BSL-код для улучшения
goal нет Направление улучшения (например: "производительность", "читаемость")

Когда использовать:

  • Рефакторинг: хочешь увидеть, как ИИ переписал бы код
  • Нужна альтернативная реализация для сравнения
  • Оптимизация кода без конкретной инструкции

modify_1c_code - Модификация по инструкции

Изменение кода по точной инструкции пользователя. В отличие от rewrite_1c_code, здесь ИИ следует конкретному указанию.

Параметр Обязательный Описание
instruction да Что именно изменить (например: "добавить обработку пустого результата запроса")
code нет BSL-код для модификации (если не указан - генерирует с нуля)

Когда использовать:

  • Точечное исправление бага ("исправить обработку NULL")
  • Добавление конкретной функциональности
  • Рефакторинг с конкретным направлением ("вынести в отдельную функцию")

explain_1c_syntax - Объяснение синтаксиса

Объяснение конкретного ключевого слова, оператора, конструкции или встроенной функции BSL.

Параметр Обязательный Описание
syntax_element да Элемент синтаксиса (например: ДобавитьОбработчикОповещения, Запрос.УстановитьПараметр)
context нет Контекст для более точного объяснения

Когда использовать:

  • Незнакомая конструкция BSL
  • Нужно точное объяснение конкретного ключевого слова/оператора
  • Для широких вопросов лучше ask_1c_ai

Документация и база знаний (6 инструментов)

its_help - Поиск по ИТС

Поиск методологических рекомендаций, стандартов разработки, статей на ИТС (its.1c.ru). Возвращает список документов с ID.

Параметр Обязательный Описание
query да Поисковый запрос (например: "стандарт именования переменных", "обработка ошибок")

Когда использовать:

  • Поиск стандартов разработки ИТС
  • Методологические рекомендации (как правильно реализовать обмен, печатные формы, отчеты)
  • Статьи по конфигурированию и администрированию
  • Результат - список документов с ID. Для чтения используй fetch_its

fetch_its - Чтение документа ИТС

Получение содержимого документа ИТС по ID. Используется после its_help.

Параметр Обязательный Описание
id нет ID документа (its-...-hdoc, its-...-hdir) или root для оглавления

Когда использовать:

  • Чтение конкретного документа ИТС после поиска через its_help
  • Навигация по структуре ИТС (id="root" - корень)
  • Поддерживает: root, superior, v8std, документы и каталоги

Типичный workflow: its_help("стандарты именования") -> получить ID -> fetch_its(id="its-...-hdoc")

search_1c_documentation - Документация платформы (по версии)

Поиск в документации платформы 1С:Предприятие конкретной версии. Встроенные функции, типы, события, свойства, объекты платформы.

Параметр Обязательный Описание
query да Поисковый запрос (например: "HTTPСоединение", "ЗаписьJSON")
version нет Версия платформы (например: "8.3.25", "8.5.1")

Когда использовать:

  • Нужна документация для конкретной версии платформы
  • Проверка: есть ли метод/тип в определенной версии
  • Если версия не важна - используй onec_help

onec_help - Документация платформы (последняя версия)

Поиск в документации платформы последней версии. Упрощенный вариант search_1c_documentation без указания версии.

Параметр Обязательный Описание
query да Поисковый запрос

Когда использовать:

  • Быстрый поиск по документации платформы без привязки к версии
  • Проверка существования метода/типа/свойства
  • Если нужна конкретная версия - используй search_1c_documentation

diff_1c_documentation_versions - Сравнение версий

Сравнение документации платформы между двумя версиями. Что изменилось, добавлено, удалено.

Параметр Обязательный Описание
version_a да Ранняя версия (например: "8.3.24")
version_b да Поздняя версия (например: "8.3.25")
query нет Фильтр по теме (например: "HTTP", "JSON")

Когда использовать:

  • Миграция между версиями платформы - что изменилось
  • Проверка: когда появился конкретный метод/тип
  • Оценка breaking changes между версиями

config_help - Документация конфигураций

Поиск по документации прикладных конфигураций: ERP, ЗУП, Бухгалтерия, УТ и др. Объекты, модули, регистры, документы, бизнес-логика конфигурации.

Параметр Обязательный Описание
query да Поисковый запрос (например: "расчет себестоимости", "регистр взаиморасчетов")
config_name нет Имя конфигурации: ERP, ЗУП, Бухгалтерия, УТ и др.

Когда использовать:

  • Как работает конкретный механизм в ERP/ЗУП/Бухгалтерии
  • Назначение объекта, регистра, документа конфигурации
  • Бизнес-логика конкретной конфигурации
  • НЕ для API платформы (используй onec_help/search_1c_documentation)

Typical Workflows

Проверка качества BSL-кода (после написания/изменения)

1. ask_1c_ai(question="<код>") - быстрая проверка качества (ОБЯЗАТЕЛЬНО)
2. check_1c_code(code="<код>") - синтаксис + логика + производительность (при необходимости)
3. review_1c_code(code="<код>") - стиль и стандарты ИТС (перед коммитом)

Рефакторинг кода

1. review_1c_code(code="<код>") - получить замечания
2. ПРОВЕРИТЬ каждое замечание по факту: существование метода и сигнатуру - через bsl-platform-help или
   исходники БСП, поведение - через код проекта. Неподтвержденное замечание НЕ исправлять
3. rewrite_1c_code(code="<код>", goal="производительность") - вариант ИИ
   ИЛИ
   modify_1c_code(instruction="вынести запрос в отдельную функцию", code="<код>") - точечное изменение
4. Результат генерации ИИ тоже проверить: вызванные методы должны существовать
5. ask_1c_ai(question="<новый код>") - проверка результата

Напарник дает false positives и ссылается на несуществующие API. Правка кода по непроверенному замечанию или прием сгенерированного варианта без сверки методов - источник багов. Обязательный порядок - rules/mcp-tool-priority.md, раздел "Обязательные проверки".

Поиск стандарта ИТС

1. its_help(query="обработка исключений") - найти документы
2. fetch_its(id="its-...-hdoc") - прочитать нужный документ

Проверка API платформы

Вариант A (с версией):
  search_1c_documentation(query="HTTPСоединение", version="8.3.25")

Вариант B (последняя версия):
  onec_help(query="HTTPСоединение")

Миграция между версиями

1. diff_1c_documentation_versions(version_a="8.3.24", version_b="8.3.25")
2. diff_1c_documentation_versions(version_a="8.3.24", version_b="8.3.25", query="HTTP")

Поиск по документации конфигурации

config_help(query="расчет себестоимости", config_name="ERP")

Разграничение с другими MCP-серверами

Задача 1c-naparnik Альтернатива Когда что
Синтаксис BSL (изолированный код) check_1c_code syntaxcheck (1c-syntax-checker-mcp) Напарник дополнительно проверяет логику и производительность
Синтаксис BSL (в контексте проекта EDT) check_1c_code get_project_errors (ai-edt) EDT проверяет в контексте проекта (типы, ссылки), Напарник - изолированный код
Валидация запросов - validate_query (ai-edt) EDT для запросов (семантика + контекст метаданных), Напарник не валидирует запросы отдельно
API платформы onec_help, search_1c_documentation search (bsl-platform-help) bsl-platform-help - локальный, быстрый, офлайн. Напарник - через API, полнее, поддерживает версии
Стандарты ИТС its_help + fetch_its - Только в Напарнике. Уникальная возможность
Документация конфигураций config_help - Только в Напарнике. Уникальная возможность
Сравнение версий diff_1c_documentation_versions - Только в Напарнике. Уникальная возможность
Code review стиля review_1c_code - Только в Напарнике. По стандартам ИТС
Рефакторинг BSL rewrite_1c_code, modify_1c_code - Только в Напарнике
Функции БСП - ssl_search (1c-mcp_ssl_server) Только в БСП-сервере

Когда что искать

Что ищешь Инструмент Сервер
Стандарт разработки ИТС, методологическая статья its_help + fetch_its 1c-naparnik
Встроенная функция/тип платформы (быстро, офлайн) search bsl-platform-help
Встроенная функция/тип для конкретной версии search_1c_documentation 1c-naparnik
Механизм конфигурации (ERP, ЗУП, Бухгалтерия) config_help 1c-naparnik
Функция/модуль БСП ssl_search 1c-mcp_ssl_server
Код в проекте (полнотекстовый/regex) search_in_code ai-edt
Структура объекта метаданных get_metadata_details ai-edt
Что изменилось между версиями платформы diff_1c_documentation_versions 1c-naparnik