check_references
Найти все ссылки на объект в базе данных. Показывает где используется данный объект. Необходимо перед удалением.
Reach a 1C:Enterprise database from an AI assistant — metadata, queries, documents and registers, accounting balances, rights audit and SKD reports.
LABSCO SUMMARY
This reaches into a production ERP, and several tools change it: execute_code runs arbitrary BSL in privileged mode, delete_object marks records for deletion, import_data creates and modifies in bulk, run_scheduled_job starts jobs, and posting tools alter register movements. The README ships a read-only allow list for exactly this reason — start from it, add what a given scenario needs, and give the server its own 1C user with minimal rights rather than an administrator's.
An MCP server that runs inside 1C:Enterprise itself. A configuration extension publishes an HTTP service in the database, and a Node.js wrapper bridges stdio clients to it over Basic Auth. The README counts 91 tools in version 6.0.2, but its catalogue tables cover only the base 51, grouped from metadata and querying through CRUD, administration and accounting. The later additions — reports, rights audits, user settings, snapshots and ERP business data — are listed in Module.bsl and the changelog, so check that your server's tool list includes them before you plan around one.
get_metadata_tree, get_object_metadata, get_object_attributes, get_object_tabular_sections, get_enum_values, get_register_dimensions, get_document_movements, search_metadataexecute_query, get_object_by_ref, get_list, find_by_code, find_by_name, get_register_records, get_document_listcreate_object, update_object, copy_object, delete_object, post_document, unpost_document, set_attributeget_balance, get_register_totals, get_accounting_entries, get_related_documentsvalidate_document, find_duplicates, get_form_structure, get_rightsget_active_users, get_event_log, get_locks, get_server_info, check_references, run_scheduled_job, get_configuration_extensionsexchange_execute, get_exchange_log, import_data, execute_batch, get_changes_sincegenerate_report, get_print_form, get_module_text, evaluate_expressionA 1C:Enterprise database you can install a configuration extension into: load INFATON_MCP.cfe in the Configurator and update the database, which publishes the HTTP service. The client then needs ONEC_URL pointing at that service plus ONEC_USER and ONEC_PASSWORD. The stdio wrapper is not on npm, so it runs from a clone of the repository: the client starts index.mjs inside the MCP35 folder, with Node.js 18+. Platform 8.3.20+ , tested on 8.3.27.1989, against ERP 2.5, УПП 1.3, Бухгалтерия 3.0, УТ 11 and КА 2. Basic Auth sends the credentials base64-encoded, so publish the service over HTTPS.
Build from source — git clone https://github.com/infaton/MCP35.git
USE CASES
Ask for account balances and turnover for a period, or accumulation-register totals, without writing the query or opening the client.
Read the document's accounting entries and its register movements, then walk the chain of documents it was entered on the basis of.
Search the metadata by name, open the object's full structure with its attributes and tabular sections, and read the module text behind it.
Find duplicates by attribute, check referential integrity before touching anything, and mark only what is safe for deletion.
List active users and sessions, read current data locks, and filter the event log around the time the complaints started.
Fill it on the basis of an existing one, validate it without posting, and only then post it.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
check_referencesНайти все ссылки на объект в базе данных. Показывает где используется данный объект. Необходимо перед удалением.
copy_objectСоздать копию объекта. Копирует все реквизиты и табличные части. Возвращает UUID нового объекта.
create_objectСоздать новый элемент справочника или документ. Для ссылочных реквизитов передавай UUID со суффиксом _guid.
delete_objectУстановить/снять пометку удаления объекта. Физическое удаление НЕ выполняется.
evaluate_expressionВычислить выражение на языке 1С и вернуть результат. Для простых вычислений и проверок.
exchange_executeВыполнить обмен данными по указанному плану обмена и узлу.
execute_batchВыполнить пакет операций за один HTTP-вызов. Поддерживает любые инструменты MCP. Режимы: последовательный, stop-on-error, транзакционный (атомарный). Макс. 50 операций.
execute_codeВыполнить произвольный код на языке 1С. МОЩНЫЙ ИНСТРУМЕНТ — используй только когда другие инструменты не подходят. Код выполняется в привилегированном режиме на сервере 1С. Результат должен быть в переменной Результат (строка). ВАЖНО: не выполняй операции с файловой системой, внешними соединениями или завершением сеансов без явного подтверждения пользователя.
execute_queryВыполнить произвольный запрос на языке запросов 1С. Самый мощный инструмент чтения данных. Поддерживает ВЫБРАТЬ, соединения, группировки, параметры виртуальных таблиц.
fill_on_basisСоздать новый документ/справочник на основании существующего объекта. Вызывает типовой механизм ЗаполнитьНаОсновании(). Ключевой для цепочек: ЗаказКлиента → Реализация → СчётФактура.
find_by_codeНайти объект по коду. Возвращает данные найденного элемента или сообщение что не найден.
find_by_nameНайти объект по наименованию. Возвращает данные найденного элемента.
find_duplicatesНайти потенциальные дубли в справочнике по указанным реквизитам. Точное и нечёткое сравнение. Возвращает пары с процентом совпадения.
generate_reportСформировать простой отчёт по произвольному запросу. Возвращает табличные данные.
get_accounting_entriesПолучить бухгалтерские проводки (движения) документа. Возвращает: счёт Дт, счёт Кт, сумма, количество, субконто, содержание.
get_active_usersПолучить список активных сеансов пользователей в информационной базе.
get_balanceПолучить остатки и/или обороты регистра бухгалтерии. Работает с любым планом счетов. Поддерживает фильтрацию по счёту, периоду, организации и субконто.
get_changes_sinceПолучить список объектов, изменённых после указанной метки. Change Data Capture для синхронизации двойников. Возвращает GUID, тип изменения, время, watermark.
get_configuration_extensionsПолучить список расширений конфигурации (CFE). Возвращает: имя, синоним, версия, назначение, активность, безопасный режим.
get_document_listПолучить список документов заданного типа с фильтрацией по периоду и статусу проведения.
get_document_movementsПолучить список регистров, по которым документ делает движения (проводки). Ключевой инструмент для анализа учёта.
get_enum_valuesПолучить все значения перечисления с именами и синонимами.
get_event_logПолучить записи журнала регистрации с фильтрацией по периоду, событию и пользователю. Ключевой инструмент диагностики.
get_exchange_logПолучить журнал обменов данными: дата, план обмена, направление, результат.
get_form_structureПолучить структуру управляемой формы: реквизиты, команды, элементы. Полезно для понимания пользовательского интерфейса объекта.
get_listПолучить список объектов заданного типа с пагинацией и фильтром. Возвращает код, наименование и UUID.
get_locksПолучить текущие блокировки данных в информационной базе. Помогает диагностировать зависания и конфликты.
get_metadata_treeПолучить дерево метаданных конфигурации 1С. Возвращает список всех объектов по типам: справочники, документы, регистры, перечисления и т.д. Используй для обзора структуры базы.
get_module_textПолучить исходный текст модуля объекта конфигурации. Работает только если расширение имеет доступ к основной конфигурации.
get_object_attributesПолучить список реквизитов объекта с типами, синонимами и длиной. Используй для понимания полей при чтении/записи данных.
get_object_by_refПолучить полные данные объекта по его типу и UUID: все реквизиты, табличные части, проведён ли, пометка удаления.
get_object_metadataПолучить подробные метаданные объекта 1С: реквизиты, табличные части, формы, макеты, движения. Используй для анализа структуры конкретного объекта.
get_object_tabular_sectionsПолучить табличные части объекта и их реквизиты. Используй для анализа строковых данных документов и справочников.
get_print_formПолучить печатную форму документа через УправлениеПечатью. Без print_form_id — список доступных форм. С ним — генерация формы.
get_register_dimensionsПолучить измерения, ресурсы и реквизиты регистра. Используй для понимания структуры регистров.
get_register_recordsПолучить записи регистра с фильтрацией по измерениям и периоду. Работает с регистрами сведений, накопления и бухгалтерии.
get_register_totalsПолучить итоги регистра накопления (остатки, обороты или и то и другое). Поддерживает отбор по измерениям и выбор ресурсов.
get_related_documentsНайти документы, связанные с указанным через цепочки «Ввод на основании». Показывает: тип, номер, дата, направление, глубину.
get_rightsПолучить права доступа текущего пользователя к объекту метаданных. Возвращает: чтение, добавление, изменение, удаление, проведение и др.
get_server_infoПолучить информацию о сервере: версия платформы, режим, имя базы, текущая дата/время.
import_dataМассовый импорт данных из JSON-массива. Создаёт или обновляет объекты.
post_documentПровести документ. Формирует движения по регистрам.
run_scheduled_jobЗапустить регламентное задание по имени. Выполняется немедленно в текущем сеансе.
search_metadataПоиск объектов метаданных по подстроке в имени или синониме. Используй когда не знаешь точное имя объекта.
set_attributeБыстро изменить один реквизит объекта. Удобно для массовых точечных правок.
subscribe_eventsПолучить события (изменения) из журнала регистрации 1С с момента указанной метки. Polling-based CDC для синхронизации двойников. Возвращает watermark для следующего запроса.
unpost_documentОтменить проведение документа. Удаляет движения по регистрам.
update_objectОбновить реквизиты существующего объекта. Передавай только изменяемые поля.
update_tabular_sectionОбновить табличную часть существующего объекта (документа/справочника). Три режима: replace (полная замена), append (добавление), update_by_index (по номеру строки).
validate_documentПроверить корректность заполнения документа без проведения. Вызывает стандартную процедуру проверки. Возвращает список ошибок или подтверждение.
write_register_recordsЗаписать данные в регистр сведений напрямую. Поддерживает периодические и непериодические регистры. Для контактной информации, курсов валют, цен, штрихкодов.
BEFORE YOU INSTALL
51 tools when we connected.
CONTEXT COST
Rated by the size of the 51 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
git clone https://github.com/infaton/MCP35.git
# In the Configurator of your 1C database: Configuration → Configuration extensions → Add,
# choose INFATON_MCP.cfe from the clone, then update the database configuration (F7).
# That adds the MCP HTTP service at https://<YOUR_SERVER>/base/hs/mcp/ — check it answers,
# with your 1C login and password:
curl -u 'Login:Password' -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"initialize","id":1}' https://<YOUR_SERVER>/base/hs/mcp/{
"mcpServers": {
"1c-erp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP35>/index.mjs"
],
"env": {
"ONEC_URL": "https://<YOUR_SERVER>/base/hs/mcp/",
"ONEC_USER": "Username",
"ONEC_PASSWORD": "Password"
}
}
}
}