elba-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELBA_ORG_ID | No | Организация, если по ключу их несколько; иначе берётся единственная. | |
| ELBA_API_KEY | Yes | Ключ API Эльбы, обязателен (Эльба → «Настройки и оплата» → «Настройки сервиса» → «API» → «Выпустить ключ»). | |
| ELBA_STATE_DIR | No | Каталог журнала счетов, по умолчанию ~/.local/state/elba-mcp. | ~/.local/state/elba-mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| elba_organizationsC | Организации, доступные по ключу, и их банковские счета. |
| elba_templatesA | Шаблоны документов (счета, акты, договоры) — id для template_id в elba_create_bill и elba_create_act. |
| elba_find_contractorB | Найти контрагента в Эльбе по ИНН (надёжнее) и/или названию. |
| elba_get_contractorC | Карточка контрагента с контактами. |
| elba_create_contractorB | Создать контрагента. Перед созданием проверьте elba_find_contractor по ИНН, чтобы не завести дубль. |
| elba_create_billA | Выставить счёт клиенту. items — список {"name": "Название услуги", "price": 10000, "quantity": 1, "unit": "усл."}; quantity и unit необязательны (1 и «усл.»), при with_nds можно задать "nds_rate" (nds22 по умолчанию). bill_date — ГГГГ-ММ-ДД, по умолчанию сегодня; number — по умолчанию следующий номер Эльбы. template_id — шаблон из elba_templates; сверьте его текст: шаблон-оферта может описывать не тот договор. bank_account_id — по умолчанию единственный открытый счёт организации; при нескольких открытых обязателен. project — метка для журнала (например сайт клиента), по ней видно, за что счёт. Счёт записывается в журнал. Если тому же клиенту на ту же сумму счёт выставлен в пределах недели, создание останавливается; allow_duplicate=true — выставить всё равно. Возвращает счёт с номером, суммой и статусом. |
| elba_get_billB | Счёт по id: номер, позиции, сумма и статус оплаты (notPaid, paid, partiallyPaid, rejected, overdue). total — null, если Эльба не вернула сумму хотя бы одной позиции. Счёт из журнала обновляется в журнале. |
| elba_track_billB | Добавить в журнал счёт, выставленный не через этот сервер (в Эльбе вручную или до появления журнала). |
| elba_unpaidA | Неоплаченные счета из журнала со статусом из Эльбы и оплаченной частью из ленты оплат. Оплаченные и отменённые перечитываются, если лента расходится с журналом; recheck_all=true — все. Возвращает счета (номер, клиент, проект, сумма, оплачено, дней с даты счёта, ссылка) и общий долг; debt — null, если хоть одна сумма неизвестна или счёт не перечитался. |
| elba_reportA | Сводка по журналу счетов: сколько выставлено, оплачено и не оплачено, сколько счетов закрыто актом или УПД — всего и по проектам, плюс список счетов (по нему же счёт находят по номеру). Фильтры: project, contractor_id, date_from и date_to (ГГГГ-ММ-ДД, по дате счёта). Отменённые не считаются. Статусы — из журнала; счета, у которых лента оплат с журналом расходится, перечитываются из Эльбы. Оплаченная часть — из ленты. Суммы null, если какую-то узнать не удалось; errors — счета, что не перечитались. byProject — список, project null — счета без проекта. |
| elba_payment_newsA | Оплаты по счетам с прошлой проверки (лента новостей Эльбы): счёт, статус, сумма счёта и сколько пришло. Обновляет статусы в журнале. Первый вызов только ставит отметку в конец ленты — история не выводится. |
| elba_create_actB | Создать акт выполненных работ. items — как в elba_create_bill. Основание (например «Счёт», номер и дата счёта) — reason_name, reason_number, reason_date. bank_account_id — как в elba_create_bill. template_id — шаблон акта из elba_templates. Акт по выставленному счёту проще сделать elba_act_from_bill. |
| elba_act_from_billA | Акт по выставленному счёту: позиции, клиент и банковский счёт берутся из счёта, основание — «Счёт № от». act_date — ГГГГ-ММ-ДД, по умолчанию сегодня. Второй акт по тому же счёту — только с allow_duplicate=true. |
| elba_create_updA | Создать УПД. items — как в elba_create_bill, плюс "type": "service" (по умолчанию) или "product". with_nds — УПД со счётом-фактурой (статус 1), без — только передаточный документ (статус 2). nds_rate — ставка при with_nds, обязательна: withoutNds, nds0, nds5, nds10, nds20, nds22 (у позиции можно переопределить "nds_rate"). УПД по выставленному счёту — elba_upd_from_bill. |
| elba_upd_from_billA | УПД по выставленному счёту: позиции, клиент, банковский счёт и НДС берутся из счёта, основание — «Счёт № от». Счёт с НДС даёт УПД со счётом-фактурой (статус 1), без НДС — статус 2. product_type — service (по умолчанию) или product для всех позиций. Второй УПД по счёту — allow_duplicate=true. |
| elba_document_linkB | Публичная ссылка на счёт или акт — её отправляют клиенту, по ней документ открывается и скачивается в PDF. with_signatures — с печатью и подписью; qr_payment — оплата по QR (только для счетов). Ссылка на счёт из журнала сохраняется в журнале. |
| elba_link_publishA | Снять публичную ссылку с публикации (published=false, по умолчанию) или вернуть её (published=true). Снимать, когда счёт отменён: иначе клиент откроет и оплатит его по старой ссылке. link_id — из elba_document_link; для счёта из журнала достаточно document_id. API не отдаёт текущие настройки ссылки, поэтому with_signatures и qr_payment задаются заново. |
| elba_repeat_billA | Новый счёт по образцу прошлого: тот же клиент, позиции, НДС, банковский счёт, шаблон и проект. items — заменить позиции (формат elba_create_bill). Без items позиции копируются — проверьте названия: в них может остаться прошлый месяц. bill_date — по умолчанию сегодня. Дубли ловятся как в elba_create_bill. |
| elba_lookup_innA | Реквизиты организации или ИП по ИНН из ЕГРЮЛ/ЕГРИП ФНС (egrul.nalog.ru, без ключа): полное и краткое название, КПП, ОГРН, руководитель, дата регистрации, дата прекращения деятельности. Адреса поиск ФНС не отдаёт. Для elba_create_contractor: name — полное название, short_name — краткое. Сверьте с реквизитами от клиента; terminated — деятельность прекращена, счёт такому лицу выставлять нельзя. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| elba_invoice | Порядок выставления счёта клиенту со ссылкой и черновиком письма. |
| elba_close_work | Акт или УПД по выставленному счёту и ссылка для клиента. |
| elba_remind_debtors | Черновики напоминаний по неоплаченным счетам. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have clearly distinct purposes: creation flows are split between from-scratch (elba_create_act/elba_create_upd) and from-bill variants, and contractor find/get/create are distinguishable. The only mild fuzziness is in the reporting cluster (elba_unpaid, elba_report, elba_payment_news, elba_get_bill), which all surface bill/payment status, though descriptions do differentiate list vs aggregate vs news feed vs single bill.
All tools share a consistent elba_ prefix and snake_case, which makes the set easy to scan. Most are verb_noun (create_bill, act_from_bill, find_contractor), but several are bare nouns (organizations, templates, unpaid, report, payment_news), a minor deviation from the pattern.
At 19 tools the set is slightly on the heavy side, but the domain (bills, acts, UPDs, contractors, links, orgs, templates, reporting, INN lookup) legitimately needs this breadth. Each tool maps to a real operation, with no obvious filler.
Creation and read paths are well covered, but mutation is thin: no update/delete for contractors, no update/cancel/delete for bills, and acts/UPDs can be created but not fetched or listed by id. The elba_link_publish description references cancelled bills, yet no cancellation tool exists, which is a notable lifecycle gap.