1C MCP RAG Agent
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
1C MCP RAG Agent — ИИ-помощник по коду, метаданным и данным 1С:Предприятия
MCP-сервер для 1С: подключает Claude Desktop, Cursor, LM Studio или Open WebUI к вашей конфигурации 1С. ИИ ищет по коду и метаданным, объясняет логику проведения и заполнения полей, строит цепочки вызовов, разбирает внешние обработки, а при подключённом HTTP-сервисе отвечает и по данным базы: отчёты, списки, Excel.
MCP server + RAG for 1C:Enterprise (1С:Предприятие 8.3). Semantic and keyword search over your configuration code and metadata (Qdrant + fastembed), 24 tools for AI clients (Claude Desktop, Cursor, LM Studio, Open WebUI), optional live data via the 1C HTTP service. Works with any configuration: УТ, УПП, ERP, БП, ЗУП, custom.

Любая конфигурация. Привязки к типовой нет: имена объектов агент берёт из вашей выгрузки, а не из встроенного словаря.
Только чтение. Агент не меняет базу и конфигурацию; правки кода выдаёт как рекомендации.
Локально. Индекс, модель поиска и сервер работают на вашем ПК. Код конфигурации наружу не уходит, если вы сами не выберете облачную модель в ИИ-клиенте.
Панель настроек. Установка и первый запуск проходят мастером из 4 шагов, править YAML вручную не нужно.
Код и метаданные 1С, справка платформы и материалы ИТС в репозиторий не входят — это материалы фирмы 1С и владельцев конфигураций. Вы индексируете собственную выгрузку.
Содержание
Related MCP server: 1C MCP Server
Возможности
Что спросить | Что делает агент |
Как работает код | Находит модуль и процедуры, объясняет логику проведения, записи, заполнения на основании, расчёта; по тексту ошибки находит место в коде |
Кто вызывает и что вызывает | Где объявлена процедура, откуда вызывается, дерево вызовов вглубь |
Почему поле не заполнилось | Разбирает обработчики заполнения и проведения, объясняет, откуда берётся значение и почему пусто |
Движения документа | По каким регистрам проводится документ, что пишется в каждый, какие документы пишут в регистр |
Структура объектов | Реквизиты, табличные части, формы, макеты, значения перечислений, измерения и ресурсы регистров |
Кнопки и формы | Что делает кнопка, почему поле недоступно или скрыто (функциональные опции, код Видимость/Доступность) |
Качество кода | Запросы в цикле, обращение через точку, медленные места, управляемые блокировки |
Права доступа | Какие роли дают доступ к объекту, RLS, кто может удалять или изменять |
Прочие разделы конфигурации | Подписки на события, регламентные задания, HTTP-сервисы, планы обмена, общие реквизиты, запрос СКД, печатные формы, опасный код (Выполнить/Вычислить) |
Внешние обработки | Разбор |
Создание обработок | Собирает готовый файл |
Справка платформы | Синтаксис встроенного языка и языка запросов, методы платформы, стандарты разработки (если подключена справка) |
Данные базы* | Суммы, количества, топы, сравнение периодов, маржа, ABC, долги и остатки, графики, выгрузка в Excel |
Документы по условиям* | Списки документов и элементов по реквизитам шапки: не проведены, пустое поле, статус |
Журнал регистрации* | Ошибки за период, кто изменил или удалил документ, кто сейчас в базе |
* Нужен опубликованный HTTP-сервис 1С из папки onec_http/ (см. ниже). Без него агент работает с кодом и метаданными.
Инструменты агента (MCP tools)
Клиент видит 24 инструмента. Модель выбирает их сама; кроме того, встроенный роутер по формулировке вопроса сразу направляет запрос в нужный узкий инструмент. Сокращать фразу не нужно: передавайте вопрос целиком.
Код и логика
Инструмент | Назначение | Пример вопроса |
| Логика в коде по вопросу: где и как рассчитывается, что происходит при записи или проведении, место ошибки по её тексту | «Как рассчитывается скидка в заказе?» |
| Поиск по коду по словам или идентификатору (запасной к | «Где используется ЗапросОстатков?» |
| Прочитать фрагмент модуля по пути и строке из результатов других инструментов | — |
| Где объявлена процедура или функция и откуда она вызывается; похожие имена, если точной нет | «Кто вызывает ОбщегоНазначения.ЗначениеРеквизитаОбъекта?» |
| Дерево вызовов от процедуры вглубь | «Проследи вызовы из ОбработкаПроведения документа X» |
| Почему поле пустое или заполнено не тем; почему документ не проводится | «Почему в реализации пустой склад?» |
| По каким регистрам проводится документ и что меняется в учёте | «В какие регистры пишет ПеремещениеТоваров?» |
| Что делает кнопка формы; почему кнопка или поле недоступны или скрыты | «Почему поле Склад недоступно?» |
| Проверка качества: запросы в цикле, обращение через точку, медленные места | «Найди запросы в цикле в модуле ЗаказКлиента» |
| Управляемые блокировки: где стоят, ожидания и конфликты, какие добавить | «Какие блокировки нужны в проведении X?» |
Объекты и структура конфигурации
Инструмент | Назначение | Пример вопроса |
| Найти объект по описанию своими словами | «Каким документом оформляется возврат от покупателя?» |
| Перечень объектов одного класса | «Какие регистры накопления есть?» |
| Реквизиты, табличные части, формы, макеты, значения перечисления, регистраторы регистра, состав подсистемы | «Какие документы пишут в регистр ТоварыНаСкладах?» |
| Подписки на события, регламентные задания, RLS, HTTP-сервисы, планы обмена, общие реквизиты, события форм, печатные формы, запрос СКД, опасный код | «Кто подписан на ПередЗаписью документа X?» |
| Роли, права, пользователи, RLS | «Какие роли могут удалять документы?» |
Данные базы (нужен HTTP-сервис 1С)
Инструмент | Назначение | Пример вопроса |
| Суммы, количества, списки, топы, сравнение периодов, маржа, ABC и отток, долги и остатки, Excel и графики | «Продажи по клиентам за 2024, выгрузи в Excel» |
| Список объектов по реквизитам шапки: статус, пустое поле, пометка удаления, проведён ли | «Какие реализации не проведены?» |
| Найти документ по номеру в любом формате; вид документа можно не знать | «Покажи заказ ТД-000012» |
| Выполнить готовый запрос 1С (только ВЫБРАТЬ) — для программиста | — |
| Журнал регистрации и сеансы | «Кто удалил документ?», «Кто сейчас в базе?» |
Файлы, справка и прочее
Инструмент | Назначение | Пример вопроса |
| Разбор | «Подойдёт ли Загрузка цен.epf к нашей базе?» |
| Собрать внешнюю обработку | «Сделай обработку для загрузки цен из Excel» |
| Справка платформы и ИТС: синтаксис, методы, язык запросов, стандарты | «Как в запросе сделать левое соединение?» |
| Что умеет помощник, примеры вопросов | «Что ты умеешь?» |
Требования
Windows 10/11 или Windows Server, Python 3.10+ (при установке отметьте «Add python.exe to PATH").
Docker Desktop — желательно: Qdrant в контейнере быстрее на крупных конфигурациях. Без Docker работает встроенный режим.
8 ГБ ОЗУ и около 5 ГБ на диске (модель поиска ~1 ГБ, индекс зависит от конфигурации).
1С:Предприятие 8.3 — только чтобы выгрузить конфигурацию в файлы (Конфигуратор) и, по желанию, опубликовать HTTP-сервис для данных.
ИИ-клиент с поддержкой MCP: Claude Desktop, Cursor, LM Studio, Open WebUI или другой.
Быстрый старт
Скачайте репозиторий (Code → Download ZIP) или клонируйте:
git clone https://github.com/malsem32/1c-mcp-rag-agent.gitЗапустите
deploy.batдвойным щелчком. Он создаст окружение.venv, установит зависимости, создастconfig.yamlи.envиз шаблонов, поднимет Qdrant в Docker (если Docker есть) и откроет панель http://127.0.0.1:8765.В Конфигураторе: Конфигурация → Выгрузить конфигурацию в файлы в пустую папку.
В панели на вкладке «Первый запуск» пройдите 4 шага:
укажите папку выгрузки;
запустите Qdrant в Docker одной кнопкой или включите встроенный режим без Docker;
запустите индексацию: от 20 минут до нескольких часов в зависимости от размера конфигурации, при первом запуске скачивается модель поиска;
скопируйте готовую настройку для своего ИИ-клиента.
Перезапустите ИИ-клиент и спросите, например: «По каким регистрам проводится документ РеализацияТоваровУслуг?» (подставьте имя из своей конфигурации).
Позже панель открывается через panel.bat. После новой выгрузки конфигурации повторите шаг 3 или используйте вкладку «Запуск и проверки → Переиндексация».
Панель управления
Локальный веб-интерфейс на http://127.0.0.1:8765, доступен только с этого ПК.
Раздел | Что там |
Первый запуск | Мастер из 4 шагов со статусами: папка выгрузки → Qdrant → индексация → подключение клиента |
Запуск и проверки → Переиндексация | Заменить индекс новой выгрузкой, обновить только изменённое или удалить индекс; прогресс по этапам с оценкой времени |
→ Проверка и сервисы | «Проверить всё»: 11 проверок от пакетов Python до MCP-сервера, с подсказкой, что делать; установка зависимостей, запуск Qdrant, починка векторов, запуск и остановка MCP-сервера |
→ Индексация вручную | Индексация с параметрами, подбор модели и размера фрагментов под вашу конфигурацию, оценка качества поиска на вопросах из выгрузки |
→ Другие конфигурации | Подключить вторую конфигурацию в отдельную коллекцию, не трогая рабочую |
→ Журнал | Вывод задач и лог MCP-сервера |
Подключение к 1С | Режим |
Хранилище индекса (Qdrant) | Docker или встроенная папка, режим поиска (смысл + слова / только смысл / точный) |
MCP-сервер | Кому доступен сервер (этот ПК или сеть), порт, токен доступа |
Расширенные | Нарезка выгрузки, модель поиска с пресетами, расчёт векторов, LLM для встроенного CLI, лимиты агента |
Настройки сохраняются в config.yaml (с резервной копией config.yaml.bak), а пароли, ключи и токены — в .env.
Подключение ИИ-клиента
Готовые значения с вашими путями показывает панель: «Первый запуск», шаг 4.
Claude Desktop, Cursor, LM Studio (stdio). Клиент сам запускает сервер. Добавьте в его конфиг блок:
{
"mcpServers": {
"rag_agent": {
"command": "C:\\путь\\к\\проекту\\.venv\\Scripts\\python.exe",
"args": ["C:\\путь\\к\\проекту\\main.py"]
}
}
}Claude Desktop: Settings → Developer → Edit Config (
claude_desktop_config.json).Cursor: Settings → MCP → Add new MCP server (
mcp.json).LM Studio: Program → Install → Edit
mcp.json.
Open WebUI и другие HTTP-клиенты. Запустите MCP-сервер кнопкой в панели (или python main.py --transport http). В Open WebUI: Admin Panel → Settings → External Tools → «+» → тип MCP (Streamable HTTP), адрес http://host.docker.internal:8100/mcp. Если сервер открыт в сеть, укажите Bearer-токен из панели.
LLM в панели настраивать не нужно: при работе через MCP модель даёт сам клиент. Раздел «LLM для CLI» нужен только для встроенного консольного агента cli.py.
Подключение к данным 1С (необязательно)
По умолчанию backend: none: агент отвечает по коду и метаданным из индекса. Чтобы он отвечал и по данным:
Создайте в расширении конфигурации HTTP-сервис с корневым URL
aiи модулем изonec_http/Module.bsl. Сама конфигурация при этом не меняется.Опубликуйте его на веб-сервере (Конфигуратор → Администрирование → Публикация на веб-сервере).
В панели, раздел «Подключение к 1С»: режим
http, адрес видаhttp://localhost/ИмяБазы/hs/ai, пользователь с правами на чтение, пароль.«Запуск и проверки → Проверка и сервисы → Проверить всё» — строка «Связь с 1С» должна быть зелёной.
Подробно — в ИНСТРУКЦИЯ_РАЗВЕРТЫВАНИЕ.md, примеры запросов — в onec_http/Примеры_запросов.http. Вместо HTTP можно использовать COM-соединение (backend: com, только Windows, медленнее).
Командная строка и скрипты
.\.venv\Scripts\Activate.ps1
# MCP-сервер
python main.py # stdio (так его запускают Claude Desktop / Cursor / LM Studio)
python main.py --transport http # HTTP для Open WebUI: 127.0.0.1:8100/mcp
# Консольный агент (нужна LLM из раздела «LLM для CLI»)
python cli.py "по каким регистрам проводится документ …"
python cli.py "почему не заполнился склад в …"
python cli.py "проследи цепочку вызовов из …"
# Индексация без панели
docker compose up -d qdrant # Qdrant в Docker
python scripts/full_qdrant_pipeline.py # нарезка + индексация
python scripts/index_qdrant.py --recreate # пересоздать индекс (после смены модели или размера фрагмента)
python scripts/index_qdrant.py --repair-vectors # найти и пересчитать нулевые векторы
# Панель на другом порту, без открытия браузера
python panel/server.py --port 9000 --no-browserПолный прогон Qdrant описан в scripts/ПОЛНЫЙ_ПРОГОН_QDRANT.md.
Параметры HTTP-режима MCP задаются в .env или в панели: RAG_MCP_HOST (по умолчанию 127.0.0.1), RAG_MCP_PORT (8100), RAG_MCP_TOKEN (Bearer-токен).
Как это устроено
выгрузка конфигурации (XML + BSL)
|
v нарезка и чистка: модули по процедурам, карточки объектов, форм и макетов
фрагменты (JSONL)
|
v эмбеддинги fastembed (локально, на CPU) -> Qdrant
коллекции: код, процедуры, файлы выгрузки, справка
|
v гибридный поиск: по смыслу + по словам (RRF)
роутер вопроса -> 24 инструмента -> MCP-сервер -> ИИ-клиент
\-> HTTP-сервис 1С (данные, по желанию)Поиск. Гибридный: векторный (multilingual mpnet / MiniLM / e5, модель выбирается в панели) плюс лексический по идентификаторам 1С.
Роутинг. Вопрос классифицируется по структуре фразы (имена в PascalCase, «почему не заполнился», «сколько / сумма / в Excel»), а не по словарю типовой конфигурации.
Имена объектов. Берутся из каталога вашей выгрузки, поэтому работает на любой конфигурации.
Во время работы агент читает только Qdrant; папку выгрузки он открывает лишь при индексации.
Настройки
Все настройки — в config.yaml (создаётся из config.example.yaml); секреты — в .env (шаблон .env.example). Удобнее менять их в панели.
Секция | Что настраивается |
| Режим работы с базой 1С и параметры подключения |
| Папка выгрузки, файлы нарезки |
| Docker или встроенный режим, коллекции, режим поиска |
| Модель поиска ( |
| Нарезка: размер фрагмента, карточки объектов и форм, чистка, удаление дублей |
| Модель для встроенного CLI (LM Studio, Ollama, OpenAI, OpenRouter, Gemini, xAI) |
| Для кого отвечает агент (программист / пользователь), лимиты строк в отчётах |
Безопасность
Агент только читает (
agent.read_only: true): не пишет в базу и не меняет конфигурацию.Панель слушает только
127.0.0.1и защищена от запросов с чужих страниц.MCP-сервер по умолчанию доступен только с этого ПК. Если открыть его в сеть (
0.0.0.0), он без токена не запустится.config.yaml,.env, выгрузка конфигурации и индекс в репозиторий не попадают (.gitignore). Не публикуйте их.
Частые проблемы
Симптом | Что делать |
«Qdrant не отвечает» | Запустите Docker Desktop и нажмите «Запустить Qdrant в Docker», или включите встроенный режим («Первый запуск», шаг 2) |
Qdrant отвечает 502 при работающем Docker | Системный прокси перехватывает localhost. Начиная с этой версии агент обходит прокси для локального Qdrant сам; в старых версиях добавьте |
«Папка индекса занята» во встроенном режиме | Встроенный Qdrant открывается одним процессом: остановите MCP-сервер или ИИ-клиент на время индексации (мастер делает это сам) |
Смысловой поиск ничего не находит | «Проверка и сервисы → Починить векторы», затем «Проверить всё» |
Сменили модель поиска | Нужна индексация заново: «Переиндексация → Заменить на новую конфигурацию» |
Клиент не видит новых данных после индексации | Перезапустите MCP-сервер и ИИ-клиент |
Остальное — в ИНСТРУКЦИЯ_РАЗВЕРТЫВАНИЕ.md.
Документация
ИНСТРУКЦИЯ_РАЗВЕРТЫВАНИЕ.md — установка, панель, индексация, подбор настроек, HTTP-сервис 1С, проблемы.
ИНСТРУКЦИЯ.md — работа с агентом: вопросы, инструменты, режимы ответов.
knowledge/README.md — словари, правила и заметки, которые можно дополнять без программирования.
onec_http/README.md — HTTP-сервис 1С для доступа к данным.
AGENTS.md — правила для разработчиков и ИИ-ассистентов, которые меняют код проекта.
Лицензия
Код распространяется по лицензии MIT. Лицензия не распространяется на конфигурации 1С, справку платформы и материалы ИТС, которые вы индексируете: они принадлежат их правообладателям.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
AI-powered codebase analysis — call graphs, security, dead code, complexity. 150+ tools.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with 1C:Enterprise databases through natural language, providing metadata retrieval, configuration analysis, and code generation.9-
- FlicenseNot gradedqualityDmaintenanceActs as a bridge between AI agents (Claude, Cursor) and 1C:Enterprise databases, enabling metadata retrieval, configuration analysis, and code generation through natural language using the MCP protocol.-
- AlicenseNot gradedqualityDmaintenanceGive an AI agent eyes into your 1C:Enterprise 8.3 base — read metadata & data, run queries, and diagnose why a document won't post — over one extension HTTP service.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that provides read-only access to 1C:Enterprise configuration metadata extracted into SQLite, enabling LLMs to inspect objects, modules, and validate 1C queries.MIT