1C Connector for Claude
by glxaoc
README.md
# 1С-коннектор для Claude
**Спросите Claude о вашей 1С обычными словами и получите ответ из живой базы.** Продажи, остатки, номенклатура, контрагенты: без выгрузок в Excel и без программиста на каждый вопрос.
Коннектор работает только на чтение: он не может ничего изменить или удалить в 1С.
[](https://github.com/glxaoc/1c-claude-connector/releases/latest)
[](LICENSE)
### [Скачать 1c-connector.mcpb](https://github.com/glxaoc/1c-claude-connector/releases/latest/download/1c-connector.mcpb)
## Как это выглядит
> **Вы:** Покажи 5 последних реализаций с названием контрагента и суммой.
>
> **Claude:**
>
> | Номер | Дата | Контрагент | Сумма |
> | --- | --- | --- | ---: |
> | 000-007122 | 04.10.2026 | ООО «Ромашка» | 4 660 |
> | 000-007121 | 03.10.2026 | ИП Сидоров | 4 060 |
> | 000-006991 | 03.10.2026 | ООО «Ромашка» | 2 100 |
> | 000-007120 | 02.10.2026 | ООО «Заря» | 2 650 |
> | 000-007119 | 02.10.2026 | ООО «Вектор» | 8 520 |
Данные в примере вымышленные. Вы пишете вопрос, Claude сам находит нужные объекты в базе, строит запрос и показывает результат.
## Что умеет
- Отвечает по любым данным, которые опубликованы через OData: справочники, документы, регистры накопления и сведений.
- Считает остатки на складах и обороты за период, достаёт последние значения цен.
- Показывает названия вместо внутренних кодов 1С: контрагент, номенклатура, склад.
- Подключается напрямую с вашего компьютера или через сервер-посредник, если 1С пускает только IP из белого списка.
- Проверяет связь пошагово и простым языком объясняет, что не так и что исправить.
## Чего не делает
- **Не записывает ничего в 1С.** Коннектор отправляет только запросы на чтение. Создать, изменить или удалить документ через него невозможно.
- **Не обходит права доступа.** Claude видит только то, что открыто пользователю, под которым вы подключились.
- **Работает только с Claude Desktop** (Windows и macOS). Для ChatGPT нужен другой путь: удалённый сервер с https.
## Быстрый старт
**Что понадобится:** Claude Desktop, база 1С с опубликованным OData и пользователь 1С с правами только на чтение.
**1. Подготовьте 1С.** Если вы не уверены, что OData включён, перешлите тому, кто обслуживает вашу 1С:
> Опубликуйте базу через OData, настройте состав: номенклатура, контрагенты, цены, остатки, продажи. Создайте пользователя только на чтение и пришлите адрес, логин и пароль.
Адрес выглядит так: `http://адрес-сервера/имя-базы/odata/standard.odata/`. Окончание можно не писать, коннектор допишет его сам. Подробности публикации: [настройка OData](https://github.com/evilbruce666/1c-odata-mcp/blob/main/docs/ODATA-SETUP.md).
**2. Установите коннектор.** Скачайте [1c-connector.mcpb](https://github.com/glxaoc/1c-claude-connector/releases/latest/download/1c-connector.mcpb) и откройте файл двойным кликом. Если Windows спросит, чем открыть, выберите Claude.
**3. Заполните форму.**
| Поле | Что вписать |
| --- | --- |
| Адрес OData | Адрес от тех. специалиста |
| Логин 1С и пароль 1С | Пользователь только на чтение |
| Описание базы | Необязательно. Одна фраза для Claude, например «УТ 11, оптовая торговля, склады Москва и Калининград» |
Остальные поля оставьте пустыми, если 1С открыта для вашего компьютера.
**4. Проверьте.** Включите расширение, откройте новый чат и напишите: **«проверь связь с 1С»**. Claude покажет шаги проверки с галочками и предложит первые вопросы.
> После изменения настроек выключите и снова включите расширение: настройки читаются при запуске.
## Если 1С закрыта белым списком IP
Это частая ситуация: 1С пускает только заранее известные адреса, и с домашнего компьютера она не откроется. Решение: сервер в интернете, чей IP добавлен в белый список. Коннектор открывает защищённый SSH-туннель к этому серверу и ходит в 1С с его адреса. **Ничего устанавливать на сервер не нужно**, достаточно обычного SSH-доступа.
Дополнительно заполните в форме:
| Поле | Что вписать |
| --- | --- |
| Сервер-посредник | IP сервера, например `203.0.113.10`. Если порт SSH не 22: `203.0.113.10:2222` |
| Логин сервера (SSH) | Пользователь для туннеля |
| Пароль сервера (SSH) | Его пароль. Если сервер пускает только по ключу, оставьте пустым |
| Файл SSH-ключа | Приватный ключ, если вход по ключу |
Если вход не удался, `check_connection` покажет, какие способы входа разрешает сервер (пароль, ключ или оба), и подскажет причину.
### Рекомендуемая настройка сервера
Не используйте root. Заведите отдельного пользователя только для туннеля: без командной строки и с пересылкой на один адрес. Замените `203.0.113.50:80` на адрес и порт вашей 1С.
```bash
adduser --shell /usr/sbin/nologin --gecos "" --disabled-password tunnel1c
passwd tunnel1c
```
```bash
cat > /etc/ssh/sshd_config.d/99-1c-tunnel.conf <<'EOF'
Match User tunnel1c
PasswordAuthentication yes
AllowTcpForwarding yes
PermitOpen 203.0.113.50:80
PermitTTY no
X11Forwarding no
ForceCommand /usr/sbin/nologin
EOF
sshd -t && systemctl reload ssh
```
Задайте длинный пароль, от 16 символов. Отпечаток ключа сервера запоминается при первом подключении (`~/.1c-connector/known_hosts.json`). Если он изменится, коннектор откажется подключаться и предупредит об этом.
## Что можно спросить
**Продажи**
- Покажи 5 последних реализаций с названием контрагента
- Сколько мы продали за сентябрь и кто купил больше всех
- Какие контрагенты не покупали больше трёх месяцев
**Склад**
- Какие остатки по складам, покажи названия товаров
- Что заканчивается на складе
- Сколько позиций в номенклатуре
**Справочники**
- Найди контрагента по ИНН
- Какие цены у позиции с названием «...»
**Разбор базы**
- Какие объекты 1С тебе доступны
- Какие поля есть у документа «Реализация товаров и услуг»
Названия объектов зависят от конфигурации. Claude находит нужные сам, ничего запоминать не нужно.
## Безопасность и данные
- **Только чтение.** Коннектор использует исключительно GET-запросы. Дополнительно ограничьте права пользователя в самой 1С.
- **Пароли не попадают в чат.** Их вы вводите в форме расширения, они хранятся в Windows Credential Manager или macOS Keychain.
- **Шифрование.** Если OData опубликован по `http://`, логин и пароль 1С идут по сети открыто. Для постоянной работы попросите тех. специалиста настроить https.
- **Данные попадают в диалог с Claude** и обрабатываются сервисом Anthropic. Если в базе есть персональные данные, оцените это с точки зрения 152-ФЗ. Начинайте с остатков, номенклатуры и сумм без персональных данных.
- **Ограничения ответа.** Не больше 500 строк за запрос и 150 КБ текста. Большие выборки читаются порциями.
## Частые проблемы
| Что происходит | Что делать |
| --- | --- |
| Windows спрашивает, чем открыть `.mcpb` | Выберите Claude |
| Поменяли настройки, ничего не изменилось | Выключите и снова включите расширение |
| Таймаут, 502, «не отвечает» | Скорее всего, IP не в белом списке 1С: нужен сервер-посредник. Отключите VPN и прокси на время проверки |
| 401, «отклонила логин или пароль» | Проверьте логин и пароль 1С. Если логин на кириллице, попросите пользователя с латинским именем |
| 404, «нет OData» | Проверьте адрес и имя базы, возможно OData не опубликован на веб-сервере |
| Сервер не принял логин или пароль SSH | Проверка связи покажет разрешённые способы входа и причину |
| Сервер пускает только по ключу | Выберите файл приватного ключа в поле SSH-ключа |
| Сервер запрещает пересылку | Администратору нужно включить `AllowTcpForwarding yes` |
| Самоподписанный сертификат https | Включите «Разрешить самоподписанный сертификат» |
| В ответе коды вместо названий | Напишите Claude: «покажи названия вместо кодов» |
## Совместимость
Проверено на «Управлении торговлей 11» с Claude Desktop на Windows. Другие конфигурации (ERP, «Бухгалтерия», «Комплексная автоматизация», «ЗУП») должны работать, потому что коннектор не привязан к именам объектов и ищет их по базе, но на реальных установках они пока не тестировались. macOS поддерживается, на реальном Mac пока не проверялся. Если встретите проблему, [откройте issue](https://github.com/glxaoc/1c-claude-connector/issues).
<details>
<summary><b>Для разработчиков</b></summary>
Локальный MCP-сервер на Node.js, упакованный в [MCPB](https://github.com/modelcontextprotocol/mcpb). Инструменты: `check_connection`, `list_objects`, `describe_object`, `query`, `count`.
```bash
npm install
npm test # сценарии на имитации 1С и SSH-сервера
npm run pack # чистит нативные модули, валидирует, собирает dist/1c-connector.mcpb
```
Собирать пакет нужно только через `npm run pack`: он удаляет собранные под одну ОС нативные модули ssh2, чтобы расширение работало и на Windows, и на macOS. В `.mcpbignore` шаблоны указываются от корня (`/dist/`, `/tests/`), иначе из пакета выпадают одноимённые папки внутри `node_modules`.
Перед новой версией: поднимите `VERSION` в `server/index.js` и `version` в `manifest.json`, `package.json`, `package-lock.json`, прогоните тесты, соберите и распакуйте `.mcpb` (`npx @anthropic-ai/mcpb unpack`), проверив, что внутри есть `node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js`.
</details>
## English
**1C Connector for Claude** is a Claude Desktop extension (MCPB) that lets Claude read data from 1C:Enterprise through its standard OData interface. Read-only (GET requests only). Works directly or through an SSH jump host for 1C installations restricted by an IP allowlist. Credentials are stored in the OS keychain. Download the latest `.mcpb` from [Releases](https://github.com/glxaoc/1c-claude-connector/releases/latest).
## Автор и лицензия
Иван Дробитько, внедрение нейросетей в бизнес. Вопросы и обратная связь: [Telegram](https://t.me/ivandrobitko). Лицензия MIT.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues