Releases: AzeevAN/mcp-1c
Release list
v1.1.1 — объяснения поиска и обратная связь
Что изменилось
- найденные по части слов результаты на странице «Запросы» теперь получают
понятную причину вместо пустого знака; оценка и порядок выдачи не менялись; - стенд поиска процедур дополнен парными русскими и английскими
формулировками для уже измеряемых намерений; - README получил нейтральную форму сообщения о неверном, неполном или
бесполезном MCP-ответе с обязательным обезличиванием; - счётчики pytest в README и CONTRIBUTING синхронизированы и защищены общей
контрактной проверкой.
Совместимость
Новых MCP-инструментов, API, параметров запуска и источников данных нет.
Полный прогон 61 519 ручных и автоматических поисковых сценариев не показал
ни одной смены места относительно baseline.
Проверено перед выпуском
- 1 808 Python-тестов;
- 42 frontend-теста, typecheck и production build;
- воспроизводимая сборка пяти BSL-вариантов, включая XML для платформы 8.3.5;
- wheel и sdist
1.1.1,twine check; - dependency audit и CycloneDX SBOM: 30 компонентов, известных уязвимостей нет;
- шесть Compose-комбинаций и изолированные Docker-smoke для core и SPA.
v1.1.0 — активность и происхождение расширений
Обратно совместимый минорный выпуск усиливает работу агента с расширениями и
делает ожидаемые runtime-конфликты безопасными для HTTP и MCP.
Главное
- Добавлен независимый снимок фактической активности расширений для платформы
8.3.8+: отдельная обработка сохраняет зарегистрированные, действующие и не
применённые расширения конкретного сеанса. - Новый MCP-инструмент
list_extensionsразличаетsnapshot,staleи
unknown. Статус активности не блокирует доступ к успешно загруженному коду:
агент может изучать расширение при любом из этих состояний. - Selection v5 доказывает происхождение собственных объектов и прямых
нессылочных реквизитов расширения относительно конкретной основной файловой
выгрузки. Неоднозначность и смена поколения обрабатываются fail-closed. - Ожидаемые ошибки Registry больше не превращаются в HTTP 500 или исключения
MCP SDK: временный конфликт/api/v1/sourcesполучает 409 с ограниченным
повтором SPA, а инструменты возвращают структурированныйisError=true. - Сводка источников больше не содержит декоративных связей; состояние снимка
активности показано отдельным смысловым индикатором.
Обновление источников
- Формат schema v1 не менялся, существующий каталог
data/сохраняется. - Чтобы получить доказанное происхождение структуры, после обновления сначала
повторно разберите основную файловую выгрузку, затем относящиеся к ней
файловые выгрузки расширений. - Чтобы агент знал фактическую активность, периодически выгружайте и загружайте
отдельныйСнимокРасширений_*.json, особенно после изменения расширений или
запуска нового сеанса. Без снимка код расширений остаётся доступен, а
активность честно обозначается какunknown.
Документация
- Основная инструкция
- Обработка выгрузки и снимок расширений
- Граница источников данных
- Инструменты MCP
Проверки выпуска
- 1 806 Python-тестов и 151 целевая публичная/релизная проверка;
- 42 frontend-теста, TypeScript typecheck и production build;
- воспроизводимая сборка пяти BSL-вариантов, XML совместим с платформой 8.3.5;
- wheel/sdist
1.1.0, корректные метаданные иtwine check; - dependency audit: 0 известных уязвимостей, CycloneDX SBOM;
- локальный Docker-smoke:
healthy, runtime/MCP1.1.0, 0 рестартов, OOM и
ошибок 500/traceback, существующий/dataсохранён.
Полный список изменений: v1.0.0...v1.1.0
v1.0.0 — стабильный сервер и рабочий дашборд
Первый стабильный выпуск mcp-1c. MCP-сервер, schema v1 и существующий каталог data/ сохраняют совместимость с v0.8.0.
Главное
- Новый SPA-дашборд завершён и стал основным современным интерфейсом: источники, запросы, карточки, связи и словарь работают через версионированный API одного процесса с MCP.
- Классический интерфейс сохранён как совместимый fallback; также поддержан режим без дашборда.
- Docker-запуск приведён к предсказуемой схеме для чистого Linux: фиксированный UID/GID
10001:10001, обязательная проверка записи вdata/, три явных режима и отдельный remote override. - Исправлен предел загрузки SPA: маршруты загрузки принимают файлы до 501 МиБ, а прежние защитные лимиты login, queries, MCP и остальных API не изменены.
- Уточнена последовательность источников: ZIP структуры из внешней обработки загружается через дашборд, bootstrap или CLI; в
incoming/кладётся архив штатной команды Конфигуратора «Выгрузить конфигурацию в файлы… → Архив» после загрузки родительской конфигурации. - Версия runtime теперь берётся из единственного источника и одинаково отображается в Python-пакете, MCP и SPA внутри чистого Docker-контекста.
Запуск и обновление
Проверки выпуска
- 1 779 Python-тестов локально и в CI на Python 3.12/3.13;
- 39 frontend-тестов, TypeScript typecheck и production build;
- воспроизводимая сборка обработки выгрузки;
- wheel/sdist
1.0.0иtwine check; - dependency audit без известных уязвимостей и CycloneDX SBOM;
- изолированные Docker-smoke core и SPA под
10001:10001с проверкой записи, health, версии, рестартов и OOM.
Полный список изменений: v0.8.0...v1.0.0
v0.8.0 — безопасные границы и воспроизводимая поставка
Защитный релиз закрывает подтверждённые границы входных данных и конкурентного
доступа, синхронизирует публичные контракты и делает цепочку поставки
воспроизводимой.
Главное
- Добавлены fail-closed лимиты для schema v1, архивов и контейнеров, HTTP-тел,
multipart-загрузок, поисковых фраз и кэша стемов. - Все потребители Registry переведены на единый неизменяемый снимок;
сериализованы параллельные административные правки словаря и проверки
токенов сведены к одному constant-time helper. - Локальный сетевой профиль ограничен loopback, а отдельный remote-профиль
требует токены и TLS reverse proxy. - Цепочка поставки получила hash-lock для runtime, разработки, сборки и аудита,
закреплённые digest/SHA, dependency audit и CycloneDX SBOM. - Сборка четырёх BSL-вариантов стала атомарной, а публичные README, schema v1 и
описание источников синхронизированы с фактическим поведением. - Добавлен обезличенный измеритель цены снимка расширений. На доступном корпусе
оптимизация не потребовалась: три расширения добавили не больше 0,71 мс к p50,
1,03 мс к p95 и 0,1% к traced peak.
Проверка выпуска
- 1 713 тестов локально и в GitHub Actions на Python 3.12 и 3.13;
- воспроизводимая сборка экспортёра и package job;
- wheel/sdist
0.8.0прошлиtwine check; - dependency audit не нашёл известных уязвимостей в закреплённом runtime-наборе;
- локальный контейнер healthy, без рестартов и OOM; MCP
initializeсообщает
0.8.0.
Полные изменения: CHANGELOG · сравнение с v0.7.0
GitHub Actions: tests · supply-chain
v0.7.0 — поиск перебора результата запроса
Релиз расширяет адресные поисковые ключи справки на платформенные методы и
закрывает живой промах при поиске способа перебрать строки результата запроса.
Главное
- Запрос «как перебрать строки в выборке результата запроса» теперь находит
ВыборкаИзРезультатаЗапроса.Следующийпервым вместо промаха в top-10. - Ключ платформенного метода отделён от ключей языка запросов и не меняет
глобальный словарь конфигураций. - Сочинённая формулировка используется только для поиска и не попадает в ответ
агенту вместо текста справки. - Привязка ключа отдельно проверяется при загрузке каждой версии платформенной
справки; расхождение не остаётся тихой деградацией.
Замеры
- Ручной набор языка запросов: P@1 вырос с 18/22 до 19/22, P@10 — с 19/22 до
20/22. - Целевой запрос перешёл с промаха на первое место.
- Остальные 60 992 запроса сравнительного корпуса не изменили место: 21 по
метаданным, 3 по процедурам, 50 508 точных и 10 439 одноимённых по справке.
Проверено
- локально: 1607 тестов;
- wheel и sdist
0.7.0:twine checkпройден; - контейнер из релизного коммита:
healthy, MCP version0.7.0, целевой
tools/callвозвращает ожидаемый метод первым; - GitHub Actions: Python 3.12/3.13, пакет и воспроизводимая сборка обработки —
run 32902720086.
Полный список изменений: CHANGELOG.md.
v0.6.0 — типовые намерения поиска процедур
Релиз добавляет осторожное распознавание естественных русских формулировок о
типовых процедурах 1С и сохраняет прежний поиск для пользовательского кода.
Главное
search_proceduresраспознаёт фразы о 12 стандартных событиях и переводит
их в каноническое имя процедуры.- Без
scopeслучайный адрес не выбирается: ответ сообщает имя и число
реализаций. Неоднозначная область требует точного модуля или формы. - Пользовательские имена, сессионное обучение, LRU-кэш и новый поисковый
индекс не добавлялись. - Подробный контракт опубликован в
docs/standard-procedure-intents.md.
Замеры и сопровождение
- Добавлен воспроизводимый обезличенный стенд типовых намерений: 59/60
положительных формулировок, 35/36 holdout и отказ на 30/30 контрольных. - Замер приёмки модулей расширен до schema v2: отдельно считаются BSL-вызовы,
точные привязки метаданных и чтение модулей плоских форм. - GitHub Actions обновлены до
actions/checkout@v7и
actions/setup-python@v7.
Проверено
- локально: 1605 тестов;
- wheel и sdist
0.6.0:twine checkпройден; - контейнер из релизного коммита:
healthy, MCP version0.6.0; - GitHub Actions: Python 3.12/3.13, пакет и воспроизводимая сборка обработки —
run 32868175656.
Полный список изменений: CHANGELOG.md.
v0.5.0
Устаревший SSE-транспорт полностью отключён.
mcp1c-server --transport sseотклоняется до чтения данных и запуска сервера.- Поддерживаются только
streamable-httpиstdio. - README обновлён, поведение закреплено регрессионным тестом.
Проверено: 1594 теста локально; GitHub Actions run 32709085701 зелёный во всех четырёх job; wheel и sdist версии 0.5.0 прошли twine check.
v0.4.0 — таблицы и журналы покрытия
Главное в этой версии
- Три таблицы покрытия на
/sources. Для каждого корпуса отдельно видны
модули и процедуры, структуры форм и модули форм: точное количество,
процент и явный знаменатель. - Полный JSON-журнал вместо адресной ленты. Основная выгрузка и каждое
расширение получают свой актуальный файл schema v1 вdata/logs/со всеми
безопасными диагностическими строками,markerи identity поколения. - Жизненный цикл совпадает с источником. Повторная загрузка атомарно
заменяет только свой журнал; удаление корпуса удаляет его файл; удаление
конфигурации каскадно убирает журналы её кода и расширений. - Fail-closed проверка актуальности. Битый, неполный, чужой по поколению
или содержательно расходящийся с текущими индексами JSON не публикуется.
Если stale-файл нельзя заменить или удалить на read-only хранилище, сервер
сохраняет готовый корпус с предупреждением, но не показывает путь к
недостоверному журналу. - Подробные ответы MCP и CLI сохранены. Первые 20 адресов и точные
категории убраны только с обзорной страницы;list_configurations,
reg-listи причины форм вget_objectне сокращены.
Обновление с v0.3.0
Миграция данных и повторная загрузка исходных ZIP не требуются. При первом
старте расходные индексы при необходимости пересоберутся, после чего для
каждого готового корпуса автоматически появится актуальный журнал.
docker compose up -d --build --force-recreateКаталог data/ по-прежнему находится вне Git и переносится отдельно.
Проверка релиза
- 1593 синтетических теста без зависимости от содержимого
data/; - GitHub Actions: Python 3.12 и 3.13;
- сборка wheel
mcp1c-0.4.0и sdist,twine checkдля обоих артефактов; - воспроизводимая пересборка обработки выгрузки с проверкой 8.3.5;
- живая cold/warm-приёмка двух представлений корпуса;
- синтетические проверки содержательно устаревшего журнала и read-only
хранилища.
Подробности, подключение клиентов и описание всех инструментов — в
README.
Полный список изменений — в
CHANGELOG.
Отношение к фирме «1С»
Проект разработан независимо, не аффилирован с ООО «1С» и не поддерживается
ею. «1С» и «1С:Предприятие» — товарные знаки ООО «1С»; лицензия Apache 2.0
прав на них не даёт. См.
NOTICE.
v0.3.0 — провайдер модулей и контейнерные формы
Главное в этой версии
- Полноценный провайдер модулей. MCP теперь умеет искать процедуры,
показывать сигнатуру и тело, находить вызывающие места и связывать код с
объектами метаданных и обработчиками форм. - Десять MCP-инструментов. К прежнему справочнику метаданных, связей и
синтаксиса добавленыsearch_procedures,get_procedureиget_callers. - Два формата выгрузки кода. Поддержаны иерархические XML-дескрипторы,
Form.binи обычные.bsl, а также плоские.txtи.Form. - Формы без ложного успеха. Для каждой формы отдельно различаются полностью
разобранная, частично разобранная и непрочитанная структура; модуль формы
учитывается независимо от структуры. - Точная диагностика покрытия. MCP, CLI и
/sourcesпоказывают одинаковые
счётчики по модулям, процедурам, формам и причинам ограничений, первые 20
канонических адресов и точное число остальных. - Безопасные локаторы и строгий расходный кэш. Тела кода не дублируются в
индексах, повреждённый или устаревший кэш не мигрируется и не роняет источник,
а полностью пересобирается из исходной выгрузки. - Расширения конфигурации. Код основной конфигурации и каждого расширения
индексируется отдельно, с проверкой поколения и без смешивания результатов
во время повторного разбора.
Обновление с v0.2.0
Версия отбора файлов поднята до SELECTION_VERSION = 4. Старые индексы кода
не мигрируются: после обновления нужно явно повторно загрузить исходную
ZIP-выгрузку модулей. Сервер атомарно заменит прежний разбор новым и построит четыре
вида кэша. Если исходная выгрузка не сохранена, получить новые сведения из
старого индекса невозможно.
docker compose up -d --build --force-recreateЗагрузка и повторный разбор выполняются через страницу /sources либо
административный CLI. Каталог data/ остаётся вне Git и переносится отдельно.
Проверка релиза
- 1581 синтетический тест без зависимости от содержимого
data/; - Python 3.12 и 3.13;
- сборка wheel
mcp1c-0.3.0и проверка его метаданных; - воспроизводимая пересборка обработки выгрузки;
- финальная живая cold/warm-приёмка контейнерных форм и кэша.
Подробности, подключение клиентов и описание всех инструментов — в
README.
Полный список изменений — в
CHANGELOG.
Отношение к фирме «1С»
Проект разработан независимо, не аффилирован с ООО «1С» и не поддерживается
ею. «1С» и «1С:Предприятие» — товарные знаки ООО «1С»; лицензия Apache 2.0
прав на них не даёт. См.
NOTICE.
v0.2.0 — язык запросов, дашборд, публичный репозиторий
Первый релиз с тегом. Версия 0.1.0 описана в CHANGELOG как «первый рабочий
контур» от 2026-08-15, но тегом никогда не помечалась — историю с тех пор
переписывали git filter-repo.
Что умеет
Справочник по метаданным конфигураций 1С, синтаксису платформы и языку
запросов — для агентов, пишущих код на BSL. Отдаёт минимально достаточный срез:
разрешение человеческой формулировки в точное имя объекта, структуру объекта на
нужном уровне детализации, его связи и описание методов платформы с учётом
версии конкретной конфигурации.
| Обработка выгрузки для 1С | 20 видов метаданных, 8.3.5 и 8.3.23, XML и JSON |
| Загрузчик, модель, граф | 5 конфигураций, 20 522 объекта, 322 749 рёбер |
| Справка платформы | слитый индекс трёх версий, 25 691 элемент |
| Язык запросов | отдельный источник, 127 страниц |
| Качество поиска | 97,1% справка, 94,7% язык запросов, 90,5% метаданные |
| MCP-сервер | 7 инструментов, streamable-http и stdio |
| Docker | один контейнер, 354 МБ |
| Тесты | 432, на Python 3.12 и 3.13 |
Главное в этой версии
- Язык запросов отдельным источником. В
shcntx_ru.hbkнет ниВЫБРАТЬ,
ниГДЕ, ниЕСТЬNULL— проверено поимённо. - Слияние справок нескольких версий с границами
since/until: ответ
зависит от версии платформы, на которой работает конфигурация. - Таблица замен — недоступное не просто запрещено, а заменено рецептом.
- Дашборд: реестр, источники, прогон запросов, граф связей, словарь.
- Авторизация:
API_TOKENна чтение,ADMIN_TOKENна запись. - Стенд замеров
mcp1c.bench— P@k, MRR, отрыв. - Публичный репозиторий: Apache-2.0, NOTICE, SECURITY.md, CONTRIBUTING.md,
пакетная сборка, CI на 3.12 и 3.13.
Установка
Данных в репозитории нет и быть не может: справка платформы — контент фирмы
«1С», каждый берёт из своей поставки.
mkdir -p data/bootstrap
cp ВыгрузкаКонфигурации.zip data/bootstrap/
cp /opt/1cv8/<версия>/shcntx_ru.hbk data/bootstrap/
docker compose up -d --build
curl http://localhost:5001/healthПодробности, подключение клиентов и описание инструментов — в
README.
Полный список изменений — в
CHANGELOG.
Отношение к фирме «1С»
Проект разработан независимо, не аффилирован с ООО «1С» и не поддерживается ею.
«1С» и «1С:Предприятие» — товарные знаки ООО «1С»; лицензия Apache 2.0 прав на
них не даёт. См. NOTICE.