Skip to main content
Glama
Kontur.Elba MCP

Kontur.Elba MCP

by apo100l

Kontur.Elba MCP

MCP-сервер для управления данными в Контур.Эльбе через официальный Elba Public API.

Сервер работает локально по stdio, передаёт API-ключ только в заголовке X-Kontur-ApiKey и разрешает запросы только к операциям из приложенной OpenAPI-схемы.

Возможности

  • получение доступных организаций;

  • создание и просмотр банковских счетов;

  • создание, поиск и просмотр контрагентов;

  • создание, обновление, поиск и просмотр товаров;

  • работа с новостями по документам и подписками;

  • создание счетов, актов, накладных и УПД;

  • проверка долгих операций;

  • создание, изменение, получение и удаление публичных ссылок;

  • получение шаблонов документов;

  • просмотр параметров каждой операции прямо через MCP.

Полный контракт API сохранён в openapi.json.

Related MCP server: mindbox-mcp

1. Получите API-ключ

  1. Откройте Эльбу.

  2. Нажмите «Настройки и оплата» → «Настройки сервиса».

  3. Откройте вкладку API.

  4. Нажмите «Выпустить ключ».

  5. Скопируйте ключ и сохраните его в менеджере секретов: повторно Эльба его не покажет.

Не добавляйте ключ в код, .env в Git или переписку. Если ключ раскрыт, отзовите его в Эльбе и выпустите новый.

2. Установите и соберите сервер

Требуется Node.js 20 или новее.

git clone https://github.com/apo100l/elba-kontur-mcp.git
cd elba-kontur-mcp
npm install
npm run build

После публикации можно установить пакет глобально без клонирования:

npm install --global elba-kontur-mcp

В конфигурации MCP в этом случае используйте команду elba-kontur-mcp без args.

3. Подключите MCP-клиент

Укажите абсолютный путь к dist/index.js и передайте ключ через окружение.

Codex

Добавьте сервер в ~/.codex/config.toml:

[mcp_servers.kontur_elba]
command = "node"
args = ["/absolute/path/to/elba-kontur-mcp/dist/index.js"]

[mcp_servers.kontur_elba.env]
ELBA_API_KEY = "ваш-api-ключ"

После изменения конфигурации перезапустите Codex.

Claude Desktop

Добавьте сервер в claude_desktop_config.json:

{
  "mcpServers": {
    "kontur-elba": {
      "command": "node",
      "args": ["/absolute/path/to/elba-kontur-mcp/dist/index.js"],
      "env": {
        "ELBA_API_KEY": "ваш-api-ключ"
      }
    }
  }
}

Перезапустите Claude Desktop.

Другой MCP-клиент

Запускаемая команда:

ELBA_API_KEY="ваш-api-ключ" node /absolute/path/to/elba-kontur-mcp/dist/index.js

stdout занят протоколом MCP. Диагностические сообщения сервер выводит только в stderr.

Инструменты MCP

Инструмент

Назначение

elba_list_operations

Список разрешённых операций; поддерживает поиск

elba_describe_operation

Параметры, JSON-тело и ответы операции

elba_list_organizations

Быстро получить организации по API-ключу

elba_request

Выполнить любую операцию из OpenAPI-схемы

Перед созданием или изменением данных сначала вызовите elba_describe_operation, чтобы получить точную структуру тела запроса.

Примеры запросов ассистенту:

  • «Покажи мои организации в Эльбе».

  • «Найди операции для работы с контрагентами».

  • «Покажи схему создания счёта, но пока ничего не создавай».

  • «Создай контрагента в организации … с такими реквизитами: …».

Настройки окружения

Переменная

Обязательна

Значение по умолчанию

ELBA_API_KEY

да

—

ELBA_API_BASE_URL

нет

https://elba-api.kontur.ru

ELBA_API_TIMEOUT_MS

нет

30000

ELBA_API_BASE_URL полезен для тестового прокси. Не меняйте его на недоверенный адрес: сервер отправляет туда API-ключ.

Разработка

npm run check
npm test

При обновлении API замените openapi.json, затем выполните проверку и тесты. Клиент автоматически использует список маршрутов из схемы.

Версионирование и публикация

Проект использует Semantic Versioning:

  • patch — исправления без изменения совместимости;

  • minor — новые обратно совместимые возможности;

  • major — несовместимые изменения MCP-инструментов или конфигурации.

Перед выпуском обновите CHANGELOG.md, убедитесь, что ветка main чистая, затем выберите тип версии:

npm run release:patch
# или npm run release:minor
# или npm run release:major

Команда обновит версии в package.json и package-lock.json, создаст коммит и Git-тег. Отправьте их вместе:

git push origin main --follow-tags

Тег vX.Y.Z запускает workflow .github/workflows/publish.yml: он сверяет тег с версией пакета, выполняет тесты и публикует пакет с provenance.

Для публикации добавьте в настройках GitHub-репозитория секрет Actions NPM_TOKEN с npm automation/granular access token. Ограничьте токен только этим пакетом и правом публикации.

Безопасность

  • ключ не записывается в логи и ответы MCP;

  • произвольные URL и неизвестные маршруты отклоняются;

  • сетевой запрос ограничен таймаутом;

  • ошибки API возвращаются без заголовков запроса;

  • .env исключён из Git.

Любой MCP-инструмент с операциями POST, PUT или DELETE может менять данные в Эльбе. Проверяйте организацию, идентификаторы и тело запроса перед подтверждением действия.

Лицензия

MIT

Available Tools

4 tools
elba_describe_operationОписание операции ЭльбыB

Возвращает параметры, тело запроса и ответы конкретной операции из OpenAPI-схемы.

Inputs: path (required), method (required).

elba_list_operationsСписок операций ЭльбыA

Показывает доступные методы и маршруты Elba Public API из встроенной OpenAPI-схемы.

Inputs: search.

elba_list_organizationsОрганизации ЭльбыB

Получает список организаций, доступных по настроенному API-ключу.

Inputs: limit, offset.

elba_requestЗапрос к Elba Public APIA

Выполняет операцию, только если сочетание метода и пути разрешено встроенной OpenAPI-схемой. Для изменяющих операций сначала изучите схему через elba_describe_operation.

Inputs: path (required), method (required), body, query.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool serves a clear, distinct purpose: e1 and e2 are for OpenAPI schema introspection (listing vs. describing), e3 returns domain data (organizations), and e4 is the guarded generic executor. There is no overlap or ambiguity between them.

    Naming Consistency4/5

    All tools share the 'elba_' prefix and follow a verb-based pattern (list, describe, request). Minor inconsistencies: 'list_operations' uses plural while 'describe_operation' is singular, and 'elba_request' lacks an explicit object noun unlike the others.

    Tool Count5/5

    Four tools is a well-scoped set for an OpenAPI-gated API wrapper: schema listing, schema details, an organization listing convenience, and a safe request executor. Each tool earns its place without redundancy.

    Completeness5/5

    The server provides a full workflow: discover available operations, inspect details, list organizations, and execute allowed requests. There are no obvious gaps for the intended purpose of securely interacting with the Elba Public API.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables MCP clients to read and write Bokio accounting data for one company through 85 tools covering invoices, customers, suppliers, journal entries, chart of accounts, fiscal years, items, tags, uploads, SIE export, and bank payments.
      40
      96 npm
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables MCP clients like Claude Code to interact with the УчётLab accounting panel, managing deals, operations, accounts, contractors, projects, warehouse, budgets, debts, and documents under the token owner's permissions.
      49
      4 npm
      MIT