onec-config-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@onec-config-mcpfind procedure ПроверитьПрава"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
onec-config-mcp
MCP-сервер для поиска по исходному коду конфигураций 1С:Предприятие прямо из Claude Code.
Индексирует выгрузки конфигураций (XML + BSL) в локальную SQLite-базу с полнотекстовым поиском (FTS5) и предоставляет 11 инструментов для поиска кода, объектов метаданных, процедур и функций.
Возможности
Полнотекстовый поиск по BSL-коду с поддержкой FTS5-синтаксиса (
AND,OR,NOT,"фраза")Поиск объектов метаданных по имени (общие модули, справочники, документы и т.д.)
Получение полного кода модуля по имени объекта
Поиск определения процедуры или функции с номером строки
Получение тела процедуры/функции и карты модуля (список процедур без исходника) без чтения всего файла
Граф вызовов: кто вызывает процедуру / что вызывает она сама
Автоматическая переиндексация при изменении файлов (watchdog)
Поддержка нескольких конфигураций одновременно
Related MCP server: 1C Templates MCP Server
Требования
Python 3.11+
Выгруженные конфигурации 1С в формате XML+BSL (через Конфигуратор или 1C:EDT)
Установка
git clone https://github.com/ASGDeveloper/onec-config-mcp
cd onec-config-mcp
pip install -e .Настройка
Отредактируйте config.json:
{
"db_path": "C:/Users/user/Documents/GitHub/onec-config-mcp/index.db",
"configs": [
{
"name": "МояКонфигурация",
"path": "C:/path/to/exported/config",
"object_types": "all",
"index_forms": true,
"watch": true
},
{
"name": "БП",
"path": "C:/path/to/exported/acc30",
"object_types": "base",
"index_forms": false
}
]
}Поле | Описание |
| Путь к файлу базы данных SQLite (будет создан автоматически) |
| Имя конфигурации (используется как фильтр в инструментах) |
| Путь к корню выгруженной конфигурации |
| Какие типы объектов индексировать: |
|
|
|
|
Типовые конфигурации (БП, БГУ, УТ, УНФ и т.п.), используемые в основном как справочник данных, обычно достаточно индексировать с "object_types": "base", "index_forms": false — это заметно уменьшает размер базы. Для своей конфигурации и библиотек, по которым нужен полный поиск кода (БСП и т.п.), используйте "object_types": "all", "index_forms": true.
Важно: db_path не должен находиться в AppData\Local — Claude Code работает в UWP-sandbox и перенаправляет этот путь. Используйте папку Documents или другое место.
Индексирование
# Проиндексировать все конфигурации
python indexer.py
# Проиндексировать только одну конфигурацию
python indexer.py --only МояКонфигурация
# Показать статистику индекса
python indexer.py --statsПри повторном запуске данные конфигурации полностью перезаписываются.
После обновления схемы БД (например, при обновлении самого onec-config-mcp) удалите index.db и файлы index.db-wal/index.db-shm перед запуском indexer.py — старая база несовместима с новой схемой и не мигрируется автоматически.
Подключение к Claude Code
Добавьте сервер в глобальный файл ~/.claude/.mcp.json:
{
"mcpServers": {
"onec-config-mcp": {
"command": "python",
"args": ["C:/path/to/onec-config-mcp/server.py"]
}
}
}Перезапустите Claude Code. Сервер запустится автоматически и будет доступен во всех проектах.
Разрешения для проекта (.claude/settings.local.json):
{
"allowedTools": [
"mcp__onec-config-mcp__search_code",
"mcp__onec-config-mcp__find_object",
"mcp__onec-config-mcp__get_module",
"mcp__onec-config-mcp__list_objects",
"mcp__onec-config-mcp__find_procedure",
"mcp__onec-config-mcp__list_configs",
"mcp__onec-config-mcp__get_object_metadata",
"mcp__onec-config-mcp__get_procedure_body",
"mcp__onec-config-mcp__get_module_outline",
"mcp__onec-config-mcp__get_callers",
"mcp__onec-config-mcp__get_callees"
]
}Инструменты
search_code
Полнотекстовый поиск по BSL-коду. Возвращает сниппеты с контекстом.
query — текст или FTS5-выражение ("ПроверитьПрава" OR "CheckRights")
config_name — фильтр по конфигурации (опционально)
obj_type — фильтр по типу объекта: CommonModules, Catalogs, Documents, ...
limit — максимум результатов (по умолчанию 20)find_procedure
Найти определение процедуры или функции по имени. Возвращает файл и номер строки.
proc_name — имя процедуры/функции
config_name — конфигурация (опционально)get_module
Получить полный код BSL-модуля. При размере >200 КБ — усекается с предупреждением.
obj_name — имя объекта (например, Доки_Авторизация)
config_name — конфигурация (опционально)
module_type — Module / ObjectModule / ManagerModule / FormModule
form_name — имя формы (при module_type=FormModule)find_object
Полнотекстовый поиск по именам объектов метаданных. Возвращает xml_summary с синонимом и флагами.
list_objects
Список объектов по типу и/или конфигурации.
get_object_metadata
Метаданные объекта: xml_summary и список модулей с количеством строк.
list_configs
Показать проиндексированные конфигурации с датой и статистикой.
get_procedure_body
Получить исходный текст тела процедуры/функции по точному имени, без чтения всего модуля.
proc_name — имя процедуры/функции
config_name — конфигурация (опционально)get_module_outline
Карта модуля: список процедур/функций (имя, тип, признак Экспорт, номер строки) без вывода исходника.
obj_name — имя объекта
config_name — конфигурация (опционально)
module_type — Module / ObjectModule / ManagerModule / FormModule
form_name — имя формы (при module_type=FormModule)get_callers
Найти все места вызова процедуры/функции — кто её вызывает.
proc_name — имя процедуры/функции
config_name — конфигурация (опционально)get_callees
Найти, какие процедуры/функции вызываются внутри заданной. Эвристика на regex — не различает вызовы методов объекта (Объект.Метод()) от вызовов глобальных функций модуля.
proc_name — имя процедуры/функции
config_name — конфигурация (опционально)Структура проекта
onec-config-mcp/
server.py # MCP-сервер (stdio transport) + watchdog
indexer.py # CLI для индексирования
db.py # Схема SQLite, FTS5-триггеры
parser.py # Парсер XML+BSL
tools.py # Обработчики MCP-инструментов
config.json # Конфигурация путей (не коммитить!)
pyproject.toml # ЗависимостиПоддерживаемые типы объектов
CommonModules, Catalogs, Documents, DataProcessors, Reports,
InformationRegisters, AccumulationRegisters, AccountingRegisters,
BusinessProcesses, Tasks, ExchangePlans, CommonForms, Constants,
Enums, ChartOfCharacteristicTypes, ChartOfAccounts, ScheduledJobs
Логирование
Сервер пишет лог в server.log рядом с server.py. Там же отображаются события watchdog и ошибки переиндексации.
# Следить за логом в реальном времени
Get-Content server.log -Wait -Tail 20Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ASGDeveloper/onec-config-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server