Проблема, которую мы все знаем
Попросите любую нейросеть написать код для вашей конфигурации. Она напишет. Уверенно, красиво и неправильно.
// AI уверенно пишет:
Запрос.Текст = "ВЫБРАТЬ Наименование ИЗ Справочник.Контрагенты
ГДЕ ИНН = &ИНН";
// А в вашей конфигурации реквизит называется КодИНН,
// справочник - КонтрагентыОрганизаций,
// и у него вообще нет реквизита Наименование - есть НаименованиеПолное.
Знакомо? AI не видит вашу конфигурацию. Он не знает, какие у вас справочники, как называются реквизиты, какая структура документов. Он знает «1С вообще» из документации, из чужих статей, из StackOverflow. А вам нужен код для вашей базы.
Можно каждый раз копировать в промпт структуру метаданных. Описывать реквизиты. Прикладывать куски модулей. Это работает, но превращает AI-ассистента в еще один источник рутины. Той самой, от которой хотели избавиться.
Что такое MCP и зачем это разработчику 1С
MCP (Model Context Protocol) - открытый протокол, который позволяет AI-ассистенту самому обращаться к внешним источникам данных. Вместо того чтобы копировать информацию в промпт, вы даете AI прямой доступ к вашей базе. Он сам запрашивает то, что ему нужно: структуру справочника, результат запроса, записи журнала регистрации.
Если проще: MCP - это что-то вроде USB для нейросетей. Стандартный разъем, через который AI подключается к внешним системам.
Важный момент: AI не получает все данные из вашей базы разом. Он вызывает конкретный инструмент с конкретными параметрами и получает только результат этого вызова. Попросили структуру справочника Контрагенты - получил структуру Контрагентов, а не дамп всей базы. Это не RAG, где нужно заранее индексировать данные. Это точечные запросы по требованию.
Протокол поддерживают десятки клиентов: Claude Desktop, Cursor, Windsurf, Continue, Cline и другие. Полный список на modelcontextprotocol.io.
Работает это так:

Вы спрашиваете AI, он через mcp-1c запрашивает нужные метаданные из вашей живой базы и пишет код, который подходит именно вам.
Уже есть несколько MCP-серверов для 1С. Мы не первые на этом поле. Но у каждого существующего решения свой порог входа: где-то нужен Python с прокси-сервером, где-то OneScript, где-то EDT конкретной версии. В комментариях к подобным статьям регулярно всплывают проблемы с Python-библиотеками и настройкой окружения.
Мы подошли к задаче иначе.
mcp-1c: что это и чем отличается
mcp-1c - MCP-сервер для 1С:Предприятие, написанный на Go. Один исполняемый файл, ноль внешних зависимостей. Не нужен Python, Node.js, OneScript, JVM или EDT. Скачал бинарник, и все, можно работать.
Расширение в базу ставится одной командой:
# Windows
mcp-1c.exe --install "C:\Users\Dev\Documents\МояБаза"
# macOS / Linux
mcp-1c --install ~/Documents/InfoBase
Программа сама найдет установленную платформу 1С, загрузит расширение и обновит конфигурацию БД. Работает на Windows, macOS и Linux. Если платформа стоит в нестандартной папке - укажите путь явно через --platform. Никакого ручного копирования .cfe через Конфигуратор (хотя так тоже можно).
9 инструментов из коробки
| Инструмент | Что делает |
|---|---|
get_metadata_tree |
Дерево метаданных: справочники, документы, регистры, модули |
get_object_structure |
Реквизиты, табличные части, измерения и ресурсы объекта |
get_form_structure |
Структура формы: элементы, команды, обработчики событий |
execute_query |
Запрос на языке запросов 1С с параметрами (только SELECT) |
validate_query |
Проверка синтаксиса запроса без выполнения |
search_code |
Поиск по коду модулей конфигурации (требует --dump, см. ниже) |
get_event_log |
Журнал регистрации с фильтрацией |
get_configuration_info |
Имя, версия, поставщик, платформа, режим работы |
bsl_syntax_help |
Справка по 180 функциям и методам BSL (работает оффлайн) |
Отдельно обратите внимание на execute_query. Это принципиальное отличие от большинства существующих решений. В комментариях к статьям про MCP для 1С самый частый вопрос: «как получать реальные данные, а не только метаданные?». Здесь это работает из коробки. AI сам составляет запрос, выполняет его и анализирует результат. Безопасно: разрешены только SELECT/ВЫБРАТЬ, расширение на стороне 1С тоже проверяет.
А bsl_syntax_help работает вообще без запущенной 1С. Справка по 180 встроенным функциям, методам типов (ТаблицаЗначений, Массив, Структура, Соответствие, Запрос) и паттернам платформы зашита прямо в бинарник.
Про search_code и флаг --dump. Поиск по коду работает по выгрузке конфигурации в файлы. Чтобы включить его, выгрузите конфигурацию через Конфигуратор (Конфигурация → Выгрузить конфигурацию в файлы) или из командной строки:
# Основная конфигурация
1cv8 DESIGNER /F "путь/к/базе" /DumpConfigToFiles "C:\dump\config"
# Расширения (если есть) — каждое в свою папку
1cv8 DESIGNER /F "путь/к/базе" /DumpConfigToFiles "C:\dump\МоёРасширение" /Extension "МоёРасширение"
Затем укажите общий корень через --dump:
mcp-1c --base http://localhost:8080/hs/mcp --dump C:\dump
mcp-1c рекурсивно проиндексирует все .bsl-файлы в указанной директории — и из основной конфигурации, и из расширений. После этого AI сможет искать по всему коду: найти, где вызывается функция, где используется переменная, где расширение перехватывает обработку проведения.
Не привязан к IDE
Это принципиальный момент. mcp-1c работает с любым MCP-совместимым клиентом: Claude Desktop, Cursor, Windsurf, Claude Code, Continue, Cline. И с любой средой разработки 1С: Конфигуратор, EDT или вообще без IDE. Нужен только HTTP-сервис 1С.
Если вы на EDT - отлично. Если на Конфигураторе - тоже работает. Если разрабатываете через VS Code + Gitsync - работает. Мы не заставляем менять рабочее окружение.
Кейс 1: Разработчик - «напиши обработку под мою конфигурацию»
Допустим, нужно написать обработку, которая находит все реализации за последний месяц по конкретному контрагенту и выводит итог. Классический сценарий: вы знаете, что нужно сделать, но не помните точные имена реквизитов документа и его табличных частей.
Пишете AI-ассистенту:
Напиши обработку, которая находит все документы РеализацияТоваровУслуг за последний месяц для контрагента «ООО Ромашка» и выводит общую сумму
Что происходит под капотом:
- AI вызывает
get_metadata_tree, видит список объектов конфигурации - Вызывает
get_object_structureдля документа РеализацияТоваровУслуг - Получает реальные реквизиты: Контрагент (тип СправочникСсылка.Контрагенты), СуммаДокумента (Число), табличная часть Товары с реквизитами Номенклатура и Количество
- Пишет код с правильными именами
Без MCP-сервера AI написал бы Документ.Реализация.Контрагент (такого нет), Сумма (реквизит называется СуммаДокумента), и код пришлось бы переписывать вручную. С MCP-сервером он видит реальную структуру и пишет правильно с первого раза.
Вместо «открыть Конфигуратор, найти документ, посмотреть реквизиты, скопировать в промпт, спросить AI, проверить, исправить» - одна фраза.
Пример вывода с использованием get_object_structure на реальной базе:

Кейс 2: Работа с данными - «покажи и объясни»
Этот кейс чаще всего спрашивают в обсуждениях MCP для 1С: «а как получать реальные данные?»
У большинства существующих MCP-серверов для 1С работа с данными либо отсутствует, либо требует написания отдельных инструментов на стороне расширения. Здесь - из коробки.
Покажи всех контрагентов с ИНН, начинающимся на 77
AI сам составляет запрос на языке запросов 1С:
ВЫБРАТЬ Наименование, ИНН
ИЗ Справочник.Контрагенты
ГДЕ ИНН ПОДОБНО "77%"
И возвращает результат прямо в чат, в виде таблицы, с комментариями.

Параметры запроса тоже поддерживаются. AI может передать &Контрагент, &ДатаНачала, &ДатаОкончания точно так же, как вы пишете в конструкторе запросов.
Еще один частый сценарий:
Покажи ошибки из журнала регистрации за сегодня
AI вызывает get_event_log с фильтром по уровню «Ошибка» и текущей дате, получает записи и объясняет что произошло. На понятном языке, без копания в сырых данных технологического журнала.

Кейс 3: Сопровождение - «разберись в чужом коде»
«При отладке проведения открываются 20 и более окошек с модулями, вызывающими друг у друга функции с бессмысленно-похожими названиями» - если вы сопровождаете чужую конфигурацию, вы это знаете.
Нужно найти, где вообще используется конкретная функция?
Найди все места, где вызывается ПолучитьОстаткиТоваров
AI вызывает search_code и возвращает все модули с контекстом: номер строки, окружающий код. Поиск работает по всей конфигурации — все общие модули, модули объектов, менеджеров, форм.

Или шире:
Покажи все модули, где упоминается РегистрНакопления.ОстаткиТоваров
AI находит все точки, где регистр читается и записывается — обработки проведения, отчёты, внешние обработки. Вместо ручного поиска по десяткам модулей в Конфигураторе — одна фраза.
Встроенные промпты - не нужно искать по ТГ-каналам
Отдельная боль при работе с AI и 1С: какой системный промпт использовать? Люди ищут по телеграм-каналам, копируют чужие промпты, результат не впечатляет.
В mcp-1c зашиты 8 готовых промптов для типовых задач разработки:
| Промпт | Что делает |
|---|---|
review_module |
Ревью модуля объекта: антипаттерны, качество кода |
write_posting |
Написать обработку проведения документа |
optimize_query |
Оптимизация запроса 1С |
explain_config |
Объяснить назначение конфигурации |
analyze_error |
Разобрать ошибку из журнала регистрации |
find_duplicates |
Найти дублирующийся код |
write_report |
Написать отчет на СКД |
explain_object |
Объяснить назначение объекта метаданных |
AI-клиент видит эти промпты и может использовать их как шаблоны. Вы не формулируете задачу с нуля, а выбираете готовый сценарий и подставляете свой объект.
«А если у меня регистр называется ШайтанМашина?»
Справедливый вопрос, который задают скептики. Если в самописной конфигурации объекты названы непрозрачно, как AI поймет, где лежат продажи?
Честный ответ: так же, как и новый сотрудник. Он посмотрит код модулей, увидит, какие регистры заполняются при проведении документов продажи, и разберется. AI может сделать то же самое: вызвать search_code, найти обработку проведения, посмотреть, какие регистры там используются, и понять что к чему.
Работает ли это идеально? Нет. На конфигурациях с говорящими именами (а это большинство типовых и грамотно написанных самописок) результат хороший. На конфигурациях, где всё называется абстрактно, AI будет спотыкаться. Как, впрочем, и человек, который видит эту базу впервые.
Чудес не будет. Но для типовых конфигураций и самописок с нормальным неймингом это реально экономит время.
Быстрый старт за 4 шага
1. Скачать бинарник
Со страницы Releases: mcp-1c.exe для Windows, mcp-1c для macOS/Linux. Или собрать из исходников: go build -o mcp-1c ./cmd/mcp-1c/
2. Установить расширение
# Windows
mcp-1c.exe --install "C:\Users\Dev\Documents\МояБаза"
# macOS / Linux
mcp-1c --install ~/Documents/InfoBase
Перед установкой закройте все сеансы 1С для этой базы.
3. Запустить HTTP-сервис
Windows (встроенный HTTP-сервер):
"C:\Program Files\1cv8\8.3.25.1000\bin\1cv8.exe" ENTERPRISE /F "C:\Users\Dev\Documents\МояБаза" /HTTPPort 8080
macOS / Linux - встроенный HTTP-сервер недоступен, нужна публикация через Apache. Подробности в документации проекта.
Проверка: curl http://localhost:8080/hs/mcp/version должен вернуть {"version":"0.4.0"}
4. Настроить AI-клиент
Для Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"1c": {
"command": "C:\\path\\to\\mcp-1c.exe",
"args": ["--base", "http://localhost:8080/hs/mcp"]
}
}
}
Перезапустите клиент. Спросите: «Покажи структуру конфигурации моей базы 1С» и убедитесь, что AI видит вашу базу.

Опционально: включить поиск по коду
Чтобы использовать search_code, выгрузите конфигурацию (и расширения, если есть) в файлы и добавьте --dump:
# Выгрузить (одноразово, обновлять при изменении конфигурации/расширений)
1cv8 DESIGNER /F "путь/к/базе" /DumpConfigToFiles "C:\dump\config"
1cv8 DESIGNER /F "путь/к/базе" /DumpConfigToFiles "C:\dump\МоёРасширение" /Extension "МоёРасширение"
{
"mcpServers": {
"1c": {
"command": "C:\\path\\to\\mcp-1c.exe",
"args": ["--base", "http://localhost:8080/hs/mcp", "--dump", "C:\\dump"]
}
}
}
Справка BSL без запущенной 1С
Отдельно про встроенную справку. Нейросети регулярно галлюцинируют несуществующие функции: СлучайноеЧисло(), СтрокаВМассив(), ТекущаяДатаВремя(). В 1С этих функций нет, но AI уверенно их «использует».
В mcp-1c зашита справка по 180 функциям и методам платформы: строковые, числовые, даты, коллекции, файлы, HTTP, XML/JSON, Base64, транзакции, двоичные данные. Плюс методы типов: ТаблицаЗначений.НайтиСтроки, Массив.Добавить, Структура.Свойство, Запрос.Выполнить. И типовые паттерны работы со справочниками, документами и регистрами.
Какой синтаксис у СтрНайти?
AI вызывает bsl_syntax_help и получает точное описание: параметры, возвращаемое значение, пример. Все на русском и английском. Работает без интернета, без запущенной 1С, без EDT.

Сравнение с существующими решениями
На рынке уже есть несколько MCP-серверов для 1С. Каждый решает свою задачу. Вот честное сравнение:
| mcp-1c | 1c_mcp | 1c-mcp-toolkit | EDT MCP-плагин | |
|---|---|---|---|---|
| Язык | Go | 1С + Python | 1С + Python | Java (Eclipse) |
| Зависимости | Нет | Python, прокси | Python | EDT 2025.2+ |
| Установка | --install (авто) |
Вручную | Вручную | Вручную (плагин) |
| Инструменты | 9 из коробки | 2 + кастомные | 8 | 40+ |
| Запросы к данным | Да (с параметрами) | Через кастомный код | Да (с параметрами) | Нет |
| Поиск по коду | Да (через dump) | Нет | Нет | Да (семантический) |
| Справка BSL | 180 функций оффлайн | Нет | Нет | Через EDT |
| Структура форм | Да | Нет | Нет | Да (скриншоты) |
| Журнал регистрации | Да | Нет | Да | Нет |
| Привязка к IDE | Нет | Нет | Нет | Только EDT |
| Лицензия | MIT | MIT | Не указана | AGPL-3.0 |
EDT MCP-плагин - самое мощное решение для работы с кодом, если вы уже работаете в EDT. 40+ инструментов: навигация по коду, иерархия вызовов, переименование объектов, скриншоты форм, отладочный запуск. Но он требует EDT 2025.2+ (это 5-15% разработчиков 1С) и не умеет работать с данными базы.
1c_mcp - фреймворк: 2 инструмента из коробки, остальные пишете сами через YAML-конфигурацию. Гибкий, но порог входа выше — нужен Python, ручная настройка.
1c-mcp-toolkit - 8 инструментов, включая уникальный execute_code (выполнение произвольного кода 1С). Но требует Python и не умеет читать код модулей.
Наш подход: максимальная простота при достаточной функциональности. Один бинарник, автоустановка, 9 инструментов из коробки включая работу с данными. Порог входа минимальный.
Что mcp-1c НЕ умеет
Будем честны:
- Не изменяет данные. Запросы - только SELECT. Код не выполняется. Это осознанное решение: MCP-сервер не должен быть инструментом для случайного DROP TABLE.
- Не заменяет IDE. Мы не рефакторим код, не переименовываем реквизиты, не обновляем конфигурацию. Для этого есть Конфигуратор и EDT.
- Не работает без HTTP-сервиса. Нужна запущенная 1С с нашим расширением. На Windows для разработки удобен встроенный HTTP-сервер (
/HTTPPort), для прода - публикация через Apache/IIS. На Linux - через Apache или ibsrv. На macOS платформа 1С не поддерживает HTTP-сервисы - нужна Windows (можно в виртуалке). - Не делает семантический анализ кода. Поиск текстовый, по подстроке. Нет AST, нет графа вызовов. Если вам критичен семантический анализ - смотрите EDT MCP-плагин.
- Большие модули - проблема. Типовые конфигурации (ЗУП, ERP) содержат модули на тысячи строк. Контекстное окно модели не резиновое. Если модуль не влезает в контекст, модель начинает галлюцинировать. Это ограничение не mcp-1c, а языковых моделей в целом. Лучше всего работает с модулями до 1000-1500 строк.
Безопасность
Вопрос, который задают первым: «А AI будет менять данные в моей базе?»
Нет. Принципиально:
- Запросы - только SELECT/ВЫБРАТЬ. Расширение на стороне 1С отклоняет все остальное. Клиентская сторона (mcp-1c) тоже проверяет.
- Операции записи отсутствуют в API. Через MCP-сервер невозможно создать, изменить или удалить объект.
- Аутентификация поддерживается через
--user/--passwordили переменные окружения.
Отдельно про персональные данные - в обсуждениях MCP для 1С эта тема всплывает регулярно, и правильно. mcp-1c работает локально и общается с 1С по HTTP на localhost. Но AI-клиент отправляет полученные данные в языковую модель. Если модель облачная (Claude, GPT) - данные уходят на серверы провайдера. Если модель локальная (Ollama, LM Studio) - все остается на вашей машине.
Для боевых баз с персональными данными рекомендуем один из вариантов:
- Локальная модель через Ollama или LM Studio. mcp-1c работает с любым MCP-клиентом, не только с облачными.
- Тестовая база с обезличенными данными. Для задач разработки (генерация кода, анализ структуры) реальные данные часто и не нужны - достаточно метаданных.
При этом помните: MCP не передает в модель все данные разом. Модель получает только результат конкретного вызова - структуру объекта, результат запроса, фрагмент кода. Это не индексация всей базы.
Совместимость
| Платформа 1С | Статус |
|---|---|
| 8.3.x (коммерческая) | Работает |
| 8.5.x (коммерческая) | Работает |
| 8.3.x / 8.5.x (учебная) | Работает |
| ОС | MCP-сервер | Автоустановка | HTTP-сервис 1С |
|---|---|---|---|
| Windows | Да | Да | Да (встроенный /HTTPPort или Apache/IIS) |
| macOS | Да | Да | Нет (ограничение платформы 1С), используйте Windows в VM |
| Linux | Да | Да | Да (через Apache или ibsrv) |
Заключение
mcp-1c не делает магии. Он делает простую вещь: дает AI-ассистенту доступ к вашей конфигурации. Вместо галлюцинаций про несуществующие реквизиты - точная информация о вашей базе. Вместо копирования метаданных в промпт - автоматический запрос того, что нужно.
Попробуйте на тестовой базе. Не нужно менять рабочий процесс, не нужно переходить на другую IDE, не нужно ставить дополнительный софт. Один бинарник, одна команда для установки расширения, и AI начинает видеть вашу 1С.
Проект развивается, и нам важна обратная связь от практикующих разработчиков. Столкнулись с багом - создайте Issue, постараемся исправить оперативно. Есть идея для нового инструмента или улучшения существующего - расскажите, что было бы полезно именно в вашей работе. Лучшие предложения попадают в ближайшие релизы. Проект открытый, pull requests тоже приветствуются.
Исходный код и Issues: GitHub. Лицензия MIT.
Вступайте в нашу телеграмм-группу Инфостарт

