elba-mcp: an MCP server for Kontur.Elba

elba-mcp

Invoices, acts and UPD in Elba from an agent chat, public document links for clients and a summary of unpaid bills

  • 0 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • The API key creates invoices, acts and UPD on behalf of the organization and sees its clients data
  • The invoice journal on disk stores client details and amounts
All reasons and checks
Russian stack

igor-batrakov/elba-mcp

Install

Services

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/elba-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The API key creates invoices, acts and UPD on behalf of the organization and sees its clients data
  • The invoice journal on disk stores client details and amounts

This is third-party code. Review the repository files before installing.

What it does

The MCP server connects Claude Code, Claude Desktop, Cursor and other clients to the public Kontur.Elba API. The agent finds a client by tax ID or name, creates a new one, issues an invoice, act or UPD, including one modeled on a previous invoice, and gets a public link to the document with a stamp, a signature and a payment QR code. Elba does not return a list of invoices, so the server keeps its own journal of issued invoices in a state directory. From the journal and the Elba news feed it shows payments since the last check, unpaid invoices with the total debt and a summary by project and period. For routine jobs there are the MCP prompts `elba_invoice`, `elba_close_work` and `elba_remind_debtors`; they prepare client emails as drafts only. Company details by tax ID come from the Federal Tax Service registers, and no key is needed for that.

Who it is for. Freelancers, sole proprietors and small studios that keep their books in Elba and issue invoices from the project where an agent already works.

Good fit when

  • An invoice for finished work has to be issued with one phrase while the project is open in Claude Code
  • A support invoice repeats every month and is easier to create from the previous one
  • By the month end you need to see who paid and who owes for more than a week, and draft reminders
  • A client gets a link to an act or UPD with a signature and a payment QR code

Not a fit when

  • You need an invoice PDF on disk: the Elba API does not return the file, the client downloads it by link
  • Accounting runs in another system: the server works only with the Elba API
  • Invoices include VAT: by default the server issues them without VAT, so the rate has to be set explicitly

Example request

Issue an invoice to Romashka LLC for 40,000 for the site rework, project romashka.ru, and prepare an email

MCP

Transport
stdio
Authentication
API key

Environment variables

ELBA_API_KEY required, secret
Kontur.Elba API key
ELBA_ORG_ID
Organization when the key covers several
ELBA_STATE_DIR
Directory for the invoice journal

Limitations

The project is unofficial and not affiliated with SKB Kontur. An API key from the Elba settings and the uv package manager are required. The Elba API cannot download a PDF, so the client receives a public link. The invoice journal lives in `~/.local/state/elba-mcp` and holds client data, so it should be kept like accounting documents; invoices issued in Elba by hand reach it only through `elba_track_bill`. An offer template may describe a different contract than your services, so check the template text before the first invoice.

How to disable. Run `claude mcp remove elba` or delete the `elba` block from the client configuration, and revoke the API key in the Elba settings.

FAQ

How do I connect elba-mcp to Claude Code?

Run `claude mcp add --scope user elba -e ELBA_API_KEY=key -- uvx elba-mcp`. The key is issued in Elba under billing settings, service settings, API.

How do I see which invoices are paid?

Call `elba_payment_news`: the first call only sets a mark in the news feed, then the server shows payments since the previous call. `elba_unpaid` computes the total debt.

Will the server create a duplicate invoice?

No: the same client and the same amount within a week produce no invoice without `allow_duplicate=true`. A second act or UPD for one invoice is blocked too.

How do I call a tool without an MCP connection?

From the shell with a command like `uvx elba-mcp call elba_find_contractor args.json`, where `args.json` holds the arguments, for example the client tax ID.

Which documents does the server create?

Invoices, acts and UPD: `elba_create_bill`, `elba_create_act` and `elba_create_upd`, and from a ready invoice `elba_act_from_bill` and `elba_upd_from_bill` make the act and UPD.

Discussion

No questions or reviews yet.

Kontur Elba MCP server

Elba MCP Server

Russian stack

An MCP server over the Kontur Elba public API: counterparties, products, bills, delivery notes and acts for sole proprietors and small businesses

MCP serverBroad access

Kontur.Elba MCP server

Kontur.Elba MCP

Russian stack

An MCP server over the official Elba Public API: counterparties, products, invoices, acts, waybills and UPD for sole proprietors and small business

MCP serverBroad access

Kontur.Diadoc MCP

kontur-diadoc-mcp

Russian stack

MCP server for Kontur.Diadoc EDI: organization lookup by INN, document lists and contents, sending and signing

MCP serverBroad access4Repository stars
Russian stack

A monorepo of MCP servers for Russian and CIS APIs: payments, CRM, marketplaces, delivery, HR and reference data

MCP serverBroad access38Repository stars
Russian stack

A skill pack for small business operations in Russia: simplified tax, cash flow, receivables, contracts, hiring and counterparty checks by INN

PluginExtended access34Repository stars
Official

The official Xero MCP server: an agent reads invoices, contacts, journals and reports and creates invoices, payments and timesheets

MCP serverBroad access392Repository stars

README in short

The README covers installation with `uvx`, environment variables, a table of 19 tools, the invoice journal, three prompt scenarios and shell use without MCP. Tests run against an API mock, and CI runs them on macOS, Linux and Windows.

README badge

Report a problem