MCP-сервер OData 1С с JSON-кэшем
MCP сервер для работы с OData 1C
Python MCP-сервер поверх OData 1С: читает и меняет справочники и документы, сохраняет все данные в JSON-файлы для локального анализа без повторных запросов
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Инструменты create_1c_entity, update_1c_entity и delete_1c_document напрямую создают, меняют и удаляют документы и справочники в 1С
- Учетные данные Basic Auth хранятся в .env в открытом виде, а выгрузки сохраняются на диск локально
Установка
Ручная установка
uv syncУстановка зависимостей.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер подключается к OData API 1С по Basic Auth и дает агенту инструменты чтения метаданных и данных с автоматическим сохранением в JSON-файлы, а также CRUD-операции: создание и обновление сущностей, удаление документов и отдельное создание документов РТиУ с бизнес-правилами. Ключевая идея архитектуры в том, что функции получения данных возвращают только статус, а сама выгрузка остается в файле: дальше filter_local_data, get_file_structure и count_local_data работают с этим файлом локально, без повторных обращений к 1С, что экономит контекст модели. Есть умный поиск файлов по частичному имени и управление кэшем метаданных и данных.
Для кого. Для 1С-разработчиков и аналитиков, которым нужен агент, читающий и меняющий данные 1С через OData с сохранением выгрузок между сессиями.
Подходит, если
- Нужно выгрузить и локально анализировать большой объем данных 1С без повторных запросов к серверу
- Нужны CRUD-операции над справочниками и документами через OData из агента
- Нужно создавать документы РТиУ на основании других документов с учетом бизнес-правил
Не подходит, если
- OData-интерфейс базы не опубликован или публиковать его небезопасно для контура
- Нужна работа без сохранения данных на диск: вся архитектура сервера построена на JSON-файлах в локальном кэше
- Нужна аутентификация сильнее Basic Auth: другие способы README не описывает
Пример запроса к агенту
Выгрузи справочник Номенклатура, покажи структуру полученного файла и отсортируй первые 10 позиций по ценеОграничения
Аутентификация к 1С только через Basic Auth, логин и пароль хранятся в .env в открытом виде. Все выгруженные данные сохраняются в JSON-файлы на диске, включая потенциально персональные данные из справочников и документов, доступ к каталогу с кэшем нужно ограничивать отдельно. Функции create_1c_document и update_1c_document помечены как устаревшие в пользу create_1c_entity и update_1c_entity. Нужен Python 3.12 и выше и настроенный OData API 1С.
Как отключить. Остановите процесс uv run main.py и удалите сервер из конфигурации MCP-клиента, кэш-файлы можно удалить вручную из рабочего каталога.
MCP
- Транспорт
- sse
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| ODATA_BASE_URL обязательная | Адрес OData API базы 1С. |
| ODATA_USERNAME обязательная | Логин для Basic Auth к 1С. |
| ODATA_PASSWORD обязательная, секрет | Пароль для Basic Auth к 1С. |
Проверка безопасности
- Инструменты create_1c_entity, update_1c_entity и delete_1c_document напрямую создают, меняют и удаляют документы и справочники в 1С
- Учетные данные Basic Auth хранятся в .env в открытом виде, а выгрузки сохраняются на диск локально
Коротко о README
README перечисляет возможности сервера: метаданные, запросы данных, локальную фильтрацию, CRUD-операции, специальные документы РТиУ, аутентификацию Basic Auth и JSON-архитектуру с обоснованием экономии контекста LLM. Дает быстрый старт через uv sync и .env, пример подключения по SSE, полный список инструментов по группам, примеры кода для создания и обновления сущностей, описание умного поиска файлов по частичному имени и ссылку на architecture.md для деталей.
Частые вопросы
Данные из 1С запрашиваются каждый раз заново?
Нет, fetch_1c_data сохраняет выгрузку в JSON-файл один раз, а дальнейший анализ через filter_local_data и count_local_data идет по этому файлу локально.
Можно удалить документ через этот сервер?
Да, инструмент delete_1c_document удаляет документ из 1С, это операция записи и стоит ограничивать доступ к серверу.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything