smirnov0ser/mcp1c_metadata
If you are the rightful owner of mcp1c_metadata and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Model Context Protocol (MCP) server is designed to provide configuration metadata to AI agents, facilitating their interaction with various environments.
Назначение
Сервис MCP для поиска по метаданным конфигураций 1С (JSON). Подходит, когда ИИ/агенту нужно быстро найти объекты по имени/синониму, например: состав реквизитов, полные имена объектов, связи и т.п.
Где используется
- ИИ-агенты в браузере (расширение MCP SuperAssistant)
- ИИ-агенты в IDE (Cursor, Void и др.)
Сервис разворачивается в Docker или локально (pip/venv).
Быстрый старт (Docker)
PowerShell (Windows):
docker run --rm -it `
-p 8007:8000 `
-v "C:\ERP\Report":/app/metadata_src `
-v "C:\ERP\Report\dist":/app/metadata_dist `
-v "C:\ERP\Report\logs":/app/logs `
-e MCP_PORT=8000 -e MCP_PATH=/mcp `
smirnov0ser/mcp1c_metadata:latest
Минимально достаточно пробросить только metadata_src. Папки metadata_dist и logs можно не монтировать — они будут созданы в контейнере.
Пояснения:
- Внешний порт: 8007 — ваш порт на хосте; контейнер слушает 8000
- metadata_src: каталог с JSON-метаданными конфигураций 1С, полученные обработкой ВыгрузитьМетаданныевJson.epf
- metadata_dist: артефакты компиляции (индекс конфигураций)
- logs: файлы логов сервиса
Пример без дополнительных томов:
docker run --rm -it -p 8007:8000 -v "C:\ERP\Report":/app/metadata_src smirnov0ser/mcp1c_metadata:latest
Локальный запуск (без Docker)
Требуется Python 3.12+.
python -m venv venv
.\venv\\Scripts\\Activate.ps1
python -m pip install -r .\requirements.txt
$env:INPUT_METADATA_DIR = "C:\ERP\Report"
$env:MCP_HOST = "0.0.0.0"
$env:MCP_PORT = "8000"
$env:MCP_PATH = "/mcp"
python .\app\src\main.py
Переменные окружения
- INPUT_METADATA_DIR: путь к исходным JSON с метаданными (по умолчанию
/app/metadata_src) - DIST_METADATA_DIR: путь для артефактов/индексов (по умолчанию
/app/metadata_dist) - MCP_HOST: хост MCP-сервера (по умолчанию
0.0.0.0) - MCP_PORT: порт MCP-сервера (по умолчанию
8000) - MCP_PATH: URL-путь MCP (по умолчанию
/mcp) - USE_SSE:
true|false— транспортsseилиstreamable-http(по умолчаниюfalse→streamable-http) - Логи:
- LOG_LEVEL:
DEBUG|INFO|WARNING|ERROR(по умолчаниюINFO) - LOG_TO_FILE:
true|false(по умолчаниюtrue) - LOG_DIR: каталог логов (по умолчанию
/app/logs) - LOG_ROTATION:
size|daily(по умолчаниюsize) - LOG_MAX_BYTES: размер файла для size-ротации (по умолчанию 10 МБ)
- LOG_BACKUP_COUNT: число резервных файлов (по умолчанию 5)
- LOG_LEVEL:
Метаданные: структура каталогов
- Входные JSON:
INPUT_METADATA_DIR(по умолчанию/app/metadata_src) - Индекс конфигураций: сохраняется в
DIST_METADATA_DIR/metadata_configs_index.json
Поддерживается несколько конфигураций одновременно (несколько JSON-файлов). Сервис строит краткий индекс для быстрых подсказок и поиска.
Инструменты MCP
- metadatasearch(query, find_usages=False, limit=5, config=None)
- query: строка запроса. Рекомендуется полное имя, например
Справочники.Номенклатура - find_usages: зарезервировано под поиск использований (пока не используется)
- limit: ограничение результатов (по умолчанию 5)
- config: выбор конфигурации. Можно указать базовое имя файла без расширения, имя файла с расширением, или значения полей
Имя/Синонимиз индекса
- query: строка запроса. Рекомендуется полное имя, например
Особенности:
- Типы автоматически нормализуются к единственному числу:
Документы.*→Документ.*, суффиксСсылкаобрезается - Если конфигураций несколько и
configне указан, вернётся подсказка со списком доступных
Примеры запросов:
query = "Документы.Счет"
query = "Справочники.Номенклатура"
query = "РегистрСведений.НастройкиПользователя"
Инструкции для ИИ-агентов
Рекомендуемый промпт-инструктаж:
If you use configuration metadata, check its existence and structure using 'metadatasearch'.
Use the full name in service, for example 'Справочники.Номенклатура'. Set limit 1 for the first call.
Use find_usages = true only if you need to find where an object is used.
Пример mcp.json (Cursor/SuperAssistant):
{
"mcpServers": {
"mcp1c_metadata": {
"url": "http://localhost:8007/mcp",
"connection_id": "mcp1c_metadata_001"
}
}
}
Сборка и запуск своего образа
Сборка:
cd C:\mcp1c_metadata
docker build -t mcp1c_metadata:latest .
Запуск собственного образа:
docker run --rm -it -p 8007:8000 -v "C:\ERP\Report":/app/metadata_src mcp1c_metadata:latest
При необходимости используйте тот же синтаксис монтирования
metadata_distиlogs.
Примечания
- На Windows пути с пробелами заключайте в кавычки:
"C:\\Path With Spaces" - Изображение по умолчанию использует Python 3.12-slim; сервер MCP запускается командой
python src/main.py