MCP:RSV Data - бесплатный MCP-сервер для 1С: ИИ читает базу и метаданные
Если вы хоть раз пытались спросить у Claude или Cursor «что у меня в регистре накопления за прошлый месяц» - и получали галлюцинации, потому что ИИ не видит вашу базу - вот инструмент, который закрывает этот разрыв.
MCP:RSV Data - бесплатный MIT-проект, который превращает вашу 1С-базу в источник данных для любого MCP-совместимого ИИ-инструмента: Claude Desktop, Cursor, и других. ИИ получает право читать объекты базы - и ничего больше. Никаких записей, никаких изменений данных.
Как это работает
Два компонента. Если веб-сервер 1С (IIS или Apache) уже настроен и база опубликована - установка займёт около 20 минут. Если настройка веб-сервера ещё предстоит - прибавьте время на неё отдельно: публикация базы на IIS или Apache - самостоятельный шаг, который в оценку «20 минут» не входит. Для работы HTTP-режима необходимо, чтобы база была опубликована на веб-сервере и расширения конфигурации поддерживались платформой 1С:Предприятие.
- RSVData.cfe - расширение 1С, которое регистрирует HTTP-сервис внутри платформы. Ставится через «Администрирование - Расширения конфигурации» без изменения конфигурации.
- rsvdata-bridge.exe - stdio-исполняемый файл, который MCP-клиент запускает по требованию, мост между ИИ-инструментом и 1С по протоколу MCP (stdio или HTTP). Подробнее о том, почему bridge.exe требует Windows, - в разделе об ограничениях.
Два режима подключения:
- HTTP-режим - нужен веб-сервер 1С (IIS или Apache). Адрес вида
http://<сервер>/<приложение>/hs/rsvdata/mcp, авторизация Basic Auth. - Stdio-режим - только Windows, конфигурируется одним JSON-файлом в
%APPDATA%\MCP-RSV-Data\. Подходит для файловой базы и локального стенда - веб-сервер не нужен.
Несколько баз 1С - несколько JSON-конфигов. Переключение между ними в интерфейсе ИИ-инструмента.
Что ИИ может спросить у базы
Сервер регистрирует восемь MCP-инструментов. Четыре основных, с которыми вы будете работать чаще всего:
- describe - найти объект по имени, типу или подсистеме. «Покажи все регистры, связанные с подсистемой Продажи».
- get_structure - полная схема объекта: реквизиты, типы, размерности, формулы вычисляемых полей, значения по умолчанию.
- query - данные с фильтрами, сортировкой, ограничением периода. По умолчанию 100 строк, максимум 1000.
- execute_query - произвольный запрос на языке запросов 1С. Для сложных агрегаций, которые не укладываются в простой фильтр.
Остальные четыре - help, config, reveal и ping - вспомогательные: справка, конфигурация, раскрытие маскированных данных и проверка соединения.
Работает с типовыми конфигурациями: Бухгалтерия предприятия, УТ 11, ERP, КА и другими. Инструмент читает метаданные через стандартный API платформы.
describe может возвращать неполные результаты - платформа видит только то, что зарегистрировано в метаданных вашей конкретной базы. Нестандартные имена реквизитов (переименованные или добавленные вне типовой схемы) могут нарушать работу маскировки персональных данных: маскировка ориентируется на стандартные имена, и поле «КонтрагентИНН» вместо «ИНН» она не распознает как чувствительное. Перед применением в нетиповой конфигурации - проверьте поведение на тестовой копии базы.Защита персональных данных
Персональные данные автоматически маскируются перед отправкой ответа. Каждый тип получает собственный формат кода: физические лица - [ФЛ-XXXXX], организации - [ОРГ-XXXXX], ИНН - [ИНН-XXXXX], КПП - [КПП-XXXXX], СНИЛС - [СНИЛС-XXXXX], паспорт - [ПАСПОРТ-XXXXX], телефон - [ТЕЛ-XXXXX], почта - [ПОЧТА-XXXXX], адрес - [АДРЕС-XXXXX]. Чтобы раскрыть конкретное значение, нужен явный вызов инструмента reveal.
Важно понимать природу этой маскировки: она реализована в логике расширения RSVData.cfe, а не в самой платформе 1С. Платформа о маскировке ничего не знает. Это означает, что в форке проекта маскировку можно отключить, изменить набор маскируемых полей или задать собственные паттерны - без каких-либо ограничений со стороны платформы. Маскировка работает по стандартным именам реквизитов; в нетиповых конфигурациях с произвольными названиями полей рекомендуется проверить поведение отдельно.
ИИ работает в read-only режиме. Здесь важно разделить два факта: платформа 1С технически поддерживает запись через HTTP-сервисы - это штатный механизм платформы. Однако в MCP:RSV Data запись намеренно не реализована: автор проекта принял архитектурное решение ограничиться только чтением из соображений безопасности. Подробнее - в разделе «Сознательные решения автора».
Таблица совместимости
| Сценарий | HTTP-режим (веб-сервер 1С) | Stdio-режим (bridge.exe) | Примечание |
|---|---|---|---|
| Windows + база опубликована на веб-сервере | Да | Да | Оба режима доступны |
| Windows + файловая/локальная база | Нет (нет публикации) | Да | Stdio-режим через bridge.exe, веб-сервер не нужен |
| Linux/macOS-сервер 1С | Да | Нет (bridge.exe не работает вне Windows) | Только HTTP-режим через веб-сервер 1С |
Где границы применимости
Ограничения делятся на два класса: те, что определяются платформой 1С, и те, что являются решением авторов конкретной реализации MCP:RSV Data.
Ограничения платформы 1С (неизменяемые)
- HTTP-режим работает только если база опубликована на веб-сервере (IIS или Apache) - это требование платформы, не расширения.
- Язык запросов 1С имеет собственный синтаксис и семантику; SQL-запросы напрямую не передаются.
- Чтение исходного кода модулей через HTTP-сервис не предусмотрено платформой - для этого существует отдельный инструмент MCP:RSV Server.
Ограничения реализации MCP:RSV Data (можно изменить в форке)
- bridge.exe - ограничение Windows. Компонент
rsvdata-bridge.exe- stdio-исполняемый файл, который MCP-клиент запускает по требованию. Сам сервер 1С может работать на Linux или macOS - это не ограничивает HTTP-режим, но stdio-режим через bridge.exe на не-Windows системах недоступен. - Только чтение. Запись или изменение данных не предусмотрены - это принципиальное решение автора, а не техническое ограничение платформы.
- Маскировка персональных данных включена по умолчанию. Логика встроена в расширение и изменяема в форке.
- Пагинация. Автоматическая подгрузка следующей страницы отсутствует - но это зависит не только от расширения: MCP-клиент должен сам поддерживать запрос следующей страницы с параметром offset. Если ваш ИИ-клиент умеет итерировать страницы, нужно лишь передавать offset в запросах
query.
Сознательные решения автора проекта
Три архитектурных выбора в MCP:RSV Data сделаны намеренно и задокументированы как принципы, а не как технические ограничения:
- Только чтение. Расширение не регистрирует ни одного HTTP-метода с возможностью записи. Это снижает поверхность атаки: даже если токен авторизации утечёт, злоумышленник сможет только читать данные. Добавление методов записи потребует явного решения при форке.
- Маскировка персональных данных включена по умолчанию. ИИ-инструмент, подключённый к базе, видит обезличенные коды вместо реальных ФИО, ИНН и email. Раскрытие конкретного значения требует явного вызова
reveal. - Отсутствие записи как принцип безопасности. Read-only доступ - это не упрощение реализации, а осознанная позиция: ИИ должен помогать анализировать данные, а не менять их. Автор проекта явно указывает это в документации.
Примеры запросов и ответов
Ниже показано, как выглядят реальные обращения к HTTP-сервису расширения и что возвращается в ответ. Данные обезличены.
Пример 1 - описание объекта (инструмент describe)
POST http://srv1c/erp/hs/rsvdata/mcp
Authorization: Basic dXNlcjpwYXNz
Content-Type: application/json
{
"tool": "describe",
"params": {
"name": "ОстаткиТоваров",
"type": "AccumulationRegister"
}
}
Ответ:
{
"result": {
"name": "ОстаткиТоваров",
"type": "AccumulationRegister",
"kind": "Balance",
"subsystems": ["Склад", "Запасы"],
"dimensions": ["Номенклатура", "Склад", "Характеристика"],
"resources": ["КоличествоОстаток", "СтоимостьОстаток"]
}
}
Пример 2 - запрос данных (инструмент query)
POST http://srv1c/erp/hs/rsvdata/mcp
Authorization: Basic dXNlcjpwYXNz
Content-Type: application/json
{
"tool": "query",
"params": {
"object": "ОстаткиТоваров",
"filters": { "Склад": "Склад-0042" },
"period": { "start": "2026-01-01", "end": "2026-03-31" },
"limit": 50
}
}
Ответ (фрагмент):
{
"result": {
"rows": [
{
"Номенклатура": "Товар-7291",
"Склад": "Склад-0042",
"КоличествоОстаток": 120,
"СтоимостьОстаток": 48000.00
},
{
"Номенклатура": "Товар-1183",
"Склад": "Склад-0042",
"КоличествоОстаток": 5,
"СтоимостьОстаток": 7500.00
}
],
"total": 2,
"offset": 0
}
}
Пример 3 - маскированные персональные данные (инструмент query на справочнике контрагентов)
{
"result": {
"rows": [
{
"Наименование": "[ОРГ-00145]",
"ИНН": "[ИНН-00145]",
"КонтактноеЛицо": "[ФЛ-00821]",
"Email": "[ПОЧТА-00821]"
}
]
}
}
Для раскрытия конкретной записи нужен отдельный вызов инструмента reveal с идентификатором замаскированного значения.
Практический сценарий
Представьте: пришёл запрос от руководства - «дай сводку по остаткам номенклатуры на складе №3 за последний квартал». Обычный путь - открыть отчёт, настроить фильтры, экспортировать. С MCP:RSV Data - вы спрашиваете ИИ в Cursor: «получи остатки по регистру накопления ОстаткиТоваров, склад = Склад №3, период = Q1 2026». MCP-клиент (в данном случае Cursor) сам решает, какие инструменты вызвать: вызывает describe, находит нужный регистр, строит запрос через execute_query, возвращает данные в читаемом виде. Именно клиент принимает это решение - MCP:RSV Data только предоставляет инструменты. Разные клиенты (Claude Desktop, Cursor, другие) могут вести себя по-разному: один сразу строит запрос, другой сначала уточняет структуру через describe.
В сложных случаях потребуется несколько итераций: уточнить имя объекта через describe или скорректировать фильтр. Это нормально - ИИ работает с вашей базой первый раз и не знает её специфики. Но именно для этого и есть describe: найти правильное имя регистра до того, как строить запрос.
Это не замена аналитику. Это инструмент, который убирает трение между вашим вопросом и данными в базе.
Как расширить функциональность
MCP:RSV Data - открытый MIT-проект; исходный код доступен на github.com/prepod2003/mcp-rsv-data. Это значит, что любой разработчик может форкнуть репозиторий и адаптировать расширение под свои нужды. Наиболее востребованные направления расширения: добавить новые MCP-инструменты для специфических объектов конфигурации, изменить логику маскировки или отключить её для доверенных клиентов, реализовать кэширование на стороне bridge.exe для снижения нагрузки на сервер 1С. Если задача требует записи данных - это потребует добавления новых HTTP-методов в расширение и соответствующих обработчиков в bridge.exe; платформа такую возможность предоставляет. При адаптации под нетиповую конфигурацию стоит начать с проверки инструмента describe - он покажет, как платформа видит реквизиты объектов в вашей базе.
Как получить
Проект на GitHub: github.com/prepod2003/mcp-rsv-data. Лицензия MIT, бесплатно без условий. В архиве MCP-RSV-Data.zip - расширение, bridge-исполняемый файл и документация на русском.
Перед подключением к рабочей базе - протестируйте на копии. Не потому что инструмент опасен, а потому что любое расширение в продуктивной базе требует отдельного тестового прогона. Это базовая гигиена, не параноя.
Попробовать НОПик →