Skip to main content

Назначение

Сервис 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 (по умолчанию falsestreamable-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)

Метаданные: структура каталогов

  • Входные 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: выбор конфигурации. Можно указать базовое имя файла без расширения, имя файла с расширением, или значения полей Имя/Синоним из индекса

Особенности:

  • Типы автоматически нормализуются к единственному числу: Документы.*Документ.*, суффикс Ссылка обрезается
  • Если конфигураций несколько и 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b019a121bfb9518ccc77a8441ec2319fb8c5efd2d14f1232efc5d288373248c2
MD5 ce4cda617f41af6397220d19f204e3fb
BLAKE2b-256 4a0a0e840c3c81e1396a76c20b90635cdadd0e6d2d3b6d1d92f8bb58e7f6e9c0

See more details on using hashes here.

File details

Details for the file iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_smirnov0ser_mcp1c_metadata-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30e6884268ab5b2a61b09aaa56b1b74206f593b04ef1814a81a9abfc9d075e19
MD5 ffd0ae00baba1ad08647d65e42fc5622
BLAKE2b-256 68e85a285a9ba8cae04985c456e2f2a986e9fcff91b06f268a080145dc55c0c9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page