1c-mcp

HRYNdev/1c-mcp
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables Claude to interact with 1C:Enterprise via OData REST API, allowing natural language queries for inventory, orders, prices, and order creation.

README.md

1C MCP Server

MCP-сервер для подключения Claude к 1С:Предприятие через стандартный OData REST API.

Работает с любой конфигурацией 1С, где включён OData: УТ, УНФ, Бухгалтерия, ERP и другие.

Что умеет

Просто пишешь Claude на русском — он сам вызывает нужные инструменты:

| Что спросить | Что происходит | |---|---| | «Сколько болтов М8 на складе?» | поиск товара → остатки | | «Покажи заказы ООО Ромашка» | поиск контрагента → заказы | | «Создай заказ — 10 труб 50мм для ЗАО Промсталь» | поиск контрагента + товара + склада → создание заказа | | «Топ-3 позиции по стоимости остатка» | остатки + цены → расчёт |

Демо

Создание заказа — Claude сам находит контрагента, товар, цену и оформляет заказ:

!Создание заказа

Проверка остатков — анализирует хватит ли товара на заказ:

!Остатки на складах

Цены — быстрый запрос прайса по всей номенклатуре:

!Цены номенклатуры

Инструменты

| Инструмент | Описание | |---|---| | get_warehouses | список складов (кэш 5 мин) | | search_products | поиск номенклатуры по названию | | get_stock | остатки на складах | | get_prices | актуальные цены | | find_counterparty | поиск контрагентов по названию или ИНН | | get_orders | список заказов покупателей | | get_order_details | состав заказа | | create_order | создание заказа покупателя |

Требования

  • Python 3.10+
  • 1С:Предприятие 8.3 с включённым OData (HTTP-сервис)
  • Claude Desktop

Установка

git clone https://github.com/HRYNdev/1c-mcp.git
cd 1c-mcp
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # Linux/Mac
pip install -r requirements.txt

Создай .env из шаблона:

copy .env.example .env

Заполни .env:

ONEC_BASE_URL=http://localhost/your_base/odata/standard.odata
ONEC_LOGIN=admin
ONEC_PASSWORD=your_password

Подключение к Claude Desktop

Добавь в claude_desktop_config.json:

{
  "mcpServers": {
    "1c-mcp": {
      "command": "C:\\path\\to\\1c-mcp\\.venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\1c-mcp\\server.py"],
      "env": {
        "ONEC_BASE_URL": "http://localhost/your_base/odata/standard.odata",
        "ONEC_LOGIN": "admin",
        "ONEC_PASSWORD": "your_password"
      }
    }
  }
}

Путь к конфигу:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Тестирование без реальной 1С

В репозитории есть mock-сервер, который имитирует 1С OData:

.venv\Scripts\uvicorn mock_server.server:app --port 8181

В .env укажи: ``env ONEC_BASE_URL=http://localhost:8181/odata/standard.odata ONEC_LOGIN=admin ONEC_PASSWORD=admin ``

Mock содержит тестовые данные: 8 товаров, 3 склада, 4 контрагента, остатки, цены и заказы.

Как включить OData в 1С

  1. Открой конфигуратор → Администрирование → Публикация на веб-сервере
  2. Включи OData REST-интерфейс
  3. Отметь объекты (справочники, документы, регистры), которые нужны
  4. Опубликуй на локальном веб-сервере (Apache или IIS)

Структура проекта

1c-mcp/
├── server.py          # MCP сервер (8 инструментов)
├── client.py          # HTTP клиент к 1С OData
├── requirements.txt
├── .env.example
└── mock_server/
    └── server.py      # Mock 1С OData для разработки

Адаптация под вашу конфигурацию

Стандартные имена объектов OData могут отличаться в зависимости от конфигурации:

| Конфигурация | Номенклатура | Контрагенты | |---|---|---| | Бухгалтерия | Catalog_Номенклатура | Catalog_Контрагенты | | УТ 11 | Catalog_Номенклатура | Catalog_Партнеры | | УНФ | Catalog_Номенклатура | Catalog_Контрагенты |

Нужна адаптация под вашу конфигурацию — пишите в issues.

---

Часть проекта HomeLab-MCP — коллекции MCP серверов для автоматизации.

Related MCP servers

Browse all →