16 октября 2026 г.
Как подключить Grafonbase к Claude Desktop и Cursor: инструкция для 1С-разработчиков
Почему конфигурация 1С «не влезает» в ИИ-агента
ERP 2.5, УТ 11, ЗУП 3.1 или КА 2 — это гигабайты XML-метаданных и сотни тысяч строк BSL: модули объектов, менеджеров, общих модулей, форм, подписки на события. Если открыть агенту весь каталог src/ или выгруженную в XML конфигурацию, происходит предсказуемое:
- контекстное окно переполняется за 2–3 запроса, начинается «обрезка» истории;
- агент читает по 40–60 тысяч токенов на файл модуля объекта и быстро выгорает бюджет;
- Claude/Cursor теряет связи между вызовами, путает одноимённые методы разных общих модулей и уверенно галлюцинирует сигнатуры;
- на вопрос «где вызывается
ОбщегоНазначения.ЗначениеРеквизитаОбъекта» вы получаете правдоподобный, но неверный ответ.
Графон (Grafonbase) решает это иначе. Это локальный инструмент и MCP-сервер, который один раз индексирует вашу конфигурацию 1С и строит граф зависимостей: метаданные → модули → процедуры/функции → вызовы → подписки на события → тексты запросов. ИИ-агент больше не читает проект целиком — он ходит в граф по протоколу MCP и получает ровно тот срез, который нужен для задачи.
Архитектура: что происходит между агентом и 1С
Claude Desktop / Cursor
│ MCP (stdio или SSE)
▼
Grafonbase MCP-сервер
│
├── индекс метаданных (объекты, реквизиты, формы, права)
├── граф вызовов BSL (общие модули, модули объектов/менеджеров)
├── карта подписок на события и регламентных заданий
└── поиск по текстам запросов и ролям
▲
│ grafon index
Выгрузка конфигурации 1С (XML / EDT-проект)
Ключевой принцип: в контекст LLM попадают только сигнатуры и связанные фрагменты, а не файлы целиком.
Предварительные требования
| Компонент | Версия | Примечание |
|---|---|---|
| Графон | 1.3+ | CLI + MCP-сервер |
| Claude Desktop | 0.9+ | macOS / Windows |
| Cursor | 0.45+ | режим Agent, поддержка MCP |
| Node.js (если ставите через npm) | 20 LTS | либо standalone-бинарь |
| Выгрузка 1С | XML из Конфигуратора или EDT-проект | полная, с модулями |
Шаг 1. Индексация конфигурации 1С
Выгрузите конфигурацию в XML («Конфигурация → Выгрузить конфигурацию в файлы») или укажите проект EDT. Затем:
# установка
npm i -g grafonbase
инициализация хранилища индексов
grafon init --data ~/.grafon
индексация выгрузки ERP 2.5 (полный цикл ~3-8 минут на SSD)
grafon index --src /Users/dev/1c/erp-2.5/src \
--name erp-2.5 \
--include-forms \
--include-queries
На выходе — каталог ~/.grafon/indexes/erp-2.5 и отчёт: количество объектов метаданных, модулей, процедур и рёбер графа. Индексация инкрементальная: после правок достаточно grafon index --update.
Шаг 2. Подключение к Claude Desktop
Откройте конфиг:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте сервер:
{
"mcpServers": {
"grafon-erp": {
"command": "grafon",
"args": ["mcp", "--index", "erp-2.5", "--transport", "stdio"],
"env": {
"GRAFON_DATA": "/Users/dev/.grafon",
"GRAFON_LOG_LEVEL": "info"
}
}
}
}
Для Windows путь в command укажите абсолютный: "C:\\Users\\dev\\AppData\\Roaming\\npm\\grafon.cmd".
Полностью перезапустите Claude Desktop (не просто закройте окно). В интерфейсе появится иконка инструментов — в списке должны быть grafon.*.
Вариант с общей инсталляцией на команду (SSE)
Если индексация тяжёлая и вы не хотите держать её на каждой машине:
grafon mcp --index erp-2.5 --transport sse --port 8765 --host 127.0.0.1
{
"mcpServers": {
"grafon-team": {
"url": "http://127.0.0.1:8765/sse"
}
}
}
Шаг 3. Подключение к Cursor
Cursor читает MCP-серверы из ~/.cursor/mcp.json (глобально) либо из .cursor/mcp.json в корне проекта — второй вариант удобен, чтобы у каждой конфигурации 1С был свой индекс:
{
"mcpServers": {
"grafon-ut11": {
"command": "grafon",
"args": ["mcp", "--index", "ut-11.5", "--transport", "stdio"]
}
}
}
Альтернатива через UI: Settings → MCP → Add new MCP server, тип command, команда grafon mcp --index ut-11.5. После сохранения в разделе MCP появится зелёный индикатор и список tools. В режиме Agent не забудьте разрешить авто-вызов инструментов или подтверждать их вручную.
Шаг 4. Проверка соединения и первые MCP-запросы
Сначала «сухой» тест без агента:
grafon mcp --index erp-2.5 --selftest
grafon call grafon.search_metadata --query "РеализацияТоваровУслуг"
Основные инструменты, которые видит агент:
| MCP-инструмент | Что возвращает | Пример запроса |
|---|---|---|
| grafon.search_metadata | объекты, реквизиты, формы по подстроке | «найди регистры по расчёту себестоимости» |
| grafon.get_module | модуль объекта/менеджера целиком или по диапазону | «покажи модуль менеджера РеализацияТоваровУслуг» |
| grafon.get_signature | точная сигнатура процедуры/функции | «сигнатура ПровестиПоРегистрам» |
| grafon.find_callers | обратные вызовы (кто вызывает) | «где вызывается ОбщегоНазначенияКлиентСервер.СообщитьПользователю» |
| grafon.resolve_subscriptions | подписки на события по объекту | «какие подписки срабатывают при записи документа» |
| grafon.find_queries | тексты запросов, где встречается таблица | «запросы к регистру ТоварыНаСкладах» |
Реальный сценарий. Задача: «Добавить в проведение реализации проверку остатков по регистру, не сломав существующую логику». Агент вместо чтения проекта делает цепочку вызовов:
{"tool": "grafon.search_metadata", "arguments": {"query": "РеализацияТоваровУслуг, регистр ТоварыНаСкладах"}}
{"tool": "grafon.get_signature", "arguments": {"module": "Документ.РеализацияТоваровУслуг.МодульОбъекта", "name": "ОбработкаПроведения"}}
{"tool": "grafon.resolve_subscriptions", "arguments": {"object": "Документ.РеализацияТоваровУслуг", "event": "ОбработкаПроведения"}}
{"tool": "grafon.find_callers", "arguments": {"callee": "УправлениеЗапасами.ПроверитьОстатки", "depth": 2}}
Получив связку, агент формирует корректный BSL-код:
&НаСервере
Процедура ОбработкаПроведенияПосле(Отказ)
Если Не ЭтоГруппаДокументов() Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(
| &Дата, Склад = &Склад И Номенклатура В (&Номенклатура)) КАК ТоварыНаСкладахОстатки";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Номенклатура", Товары.ВыгрузитьКолонку("Номенклатура"));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтрокаТоваров = Товары.Найти(Выборка.Номенклатура, "Номенклатура");
Если СтрокаТоваров <> Неопределено
И СтрокаТоваров.Количество > Выборка.КоличествоОстаток Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СтрШаблон(
"Недостаточно остатков по номенклатуре %1: доступно %2",
Выборка.Номенклатура, Выборка.КоличествоОстаток);
Сообщение.Сообщить();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Без графа агент не знает, что ТоварыНаСкладах — регистр накопления с измерением Склад, и с высокой вероятностью придумает несуществующий СкладОстаток.
Графон vs «скормить проект целиком»
Замеры на ERP 2.5 (индексация один раз, задача — «доработать проведение реализации»):
| Метрика | Без Графона | С Графоном | Эффект |
|---|---|---|---|
| Токенов на сессию | ~180 000 | ~18 500 | ×9,7 меньше |
| Время до первого корректного ответа | 6–9 мин | 40–70 сек | ×7 быстрее |
| Точность сигнатур методов | ~55 % | ~99 % | галлюцинации сняты |
| Провалов контекста (обрезка) | 2–3 за сессию | 0 | стабильный Agent |
| Стоимость сессии (Opus-класс) | $4–6 | $0,4–0,6 | ×10 экономии |
Для команд это умножается на число разработчиков: сервер поднимается на общем хосте в SSE-режиме, а индексы обновляются ночным CI-джобом.
Типичные ошибки при подключении
- Сервер не виден в Claude Desktop. Почти всегда — относительный путь в
command. Указывайте абсолютный путь илиwhich grafon. - «Index not found». Индекс лежит в другом
GRAFON_DATA. Проверьте переменную окружения в блокеenvи наличие каталога~/.grafon/indexes/. - Агент игнорирует инструменты. В Cursor включите MCP-инструменты в режиме Agent; в Claude Desktop перезапустите приложение, а не окно.
- Ответы устарели после правок. Забыли
grafon index --update; повесьте хук на сохранение файла или запустите вручную перед сессией. - Слишком широкие запросы. Даже с графом запрос «покажи всё про зарплату» вернёт много. Формулируйте задачу через объект и метод.
Чек-лист внедрения
- [ ] Выгрузка конфигурации 1С актуальна и содержит модули.
- [ ]
grafon indexвыполнен, отчёт без ошибок парсинга BSL. - [ ] Конфиг Claude Desktop / Cursor ссылается на верный
--index. - [ ]
grafon --selftestи один ручнойgrafon callпроходят. - [ ] В команде зафиксированы правила промптов: сначала
search_metadata, потомget_signature, только затем генерация кода. - [ ] Инкрементальная переиндексация добавлена в CI.
Подключение Графона занимает 15–20 минут, а окупается на первой же задаче по доработке типовой конфигурации: агент перестаёт «читать» гигабайты XML и начинает работать как навигатор по графу зависимостей, выдавая точные сигнатуры, вызовы и подписки на события 1С.