by iseppo
Provides an MCP server that interfaces with the Estonian e‑arveldaja (RIK e‑Financials) REST API, enabling AI assistants to create, modify, and query accounting records automatically.
The project offers an MCP server that connects AI assistants to the official e‑arveldaja API used by Estonian businesses for bookkeeping, invoicing, bank reconciliation, VAT filing and other accounting operations. It is experimental, unofficial and operates without any endorsement from RIK.
apikey.txt in the working directory (or export the related environment variables).{
"mcpServers": {
"e-arveldaja": {
"command": "npx",
"args": ["-y", "e-arveldaja-mcp"]
}
}
}
apikey*.txt files.Q: Is this software officially supported by RIK? A: No. It is an unofficial, community‑driven project and should be used at your own risk.
Q: How do I test without affecting real data?
A: Set the environment variable EARVELDAJA_SERVER=demo to point the server at the public demo instance.
Q: What should I do if my IP address changes? A: Update the allowed IP list in the e‑arveldaja token settings or use a static IP.
Q: Can I use this with multiple companies?
A: Yes. Place separate key files (e.g., apikey-company2.txt) and switch connections via the list_connections / switch_connection prompts.
Q: How do I install the server locally?
A: Run npx -y e-arveldaja-mcp or clone the repo and execute npm install && npm run build followed by node dist/index.js.
MCP server for the Estonian e-arveldaja (RIK e-Financials) REST API. 85 tools, 7 workflow prompts, 12 resources. Works with any MCP client — Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, Cline, and others.
This is an experimental, unofficial project. It is not affiliated with, endorsed by, or in any way officially connected to RIK (Registrite ja Infosüsteemide Keskus) or the e-arveldaja / e-Financials service.
Use entirely at your own risk. This software interacts with live financial data and can create, modify, confirm, and delete accounting records (invoices, journal entries, transactions, etc.). The authors accept no responsibility for any data loss, incorrect bookings, or other damages resulting from the use of this software.
By using this software you acknowledge that:
;apikey.txt file and place it in the working directory where you run your AI assistantIf you don't have a static IP address, you will need to update the allowed IP in e-arveldaja settings whenever your IP changes.
Never commit the apikey.txt file to git.
For the demo server, set the environment variable EARVELDAJA_SERVER=demo.
Most AI assistants can set this up for you — just ask:
"Add the e-arveldaja-mcp npm package as an MCP server"
If you prefer to do it manually:
Claude Code:
claude mcp add e-arveldaja -- npx -y e-arveldaja-mcp
Other tools (Cursor, Windsurf, Cline, Gemini CLI, Codex CLI, Antigravity) — add to your MCP config:
{
"mcpServers": {
"e-arveldaja": {
"command": "npx",
"args": ["-y", "e-arveldaja-mcp"]
}
}
}
| Tool | Config file |
|---|---|
| Claude Code | ~/.claude/settings.json or project .claude/settings.json |
| Codex CLI | ~/.codex/config.toml (TOML format) |
| Gemini CLI | ~/.gemini/settings.json |
| Google Antigravity | MCP Store UI → Manage MCP Servers → raw config |
| Cursor | .cursor/mcp.json in your project |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline | VS Code settings under cline.mcpServers |
Put the downloaded apikey.txt in the working directory where you run your AI assistant. That's it — the server finds it automatically.
For multiple companies, place multiple files (apikey.txt, apikey-company2.txt, etc.) and use list_connections / switch_connection to switch between them.
export EARVELDAJA_API_KEY_ID=...
export EARVELDAJA_API_PUBLIC_VALUE=...
export EARVELDAJA_API_PASSWORD=...
git clone https://github.com/iseppo/e-arveldaja-mcp.git
cd e-arveldaja-mcp
npm install && npm run build
# Then use: "node", "/path/to/e-arveldaja-mcp/dist/index.js" instead of npx
The server includes 7 built-in workflow prompts that any MCP client can discover and use. These guide the AI assistant through multi-step accounting tasks:
| Prompt | Description |
|---|---|
book-invoice |
Book a purchase invoice from PDF: extract, validate, resolve supplier, create, upload, confirm |
reconcile-bank |
Match bank transactions to invoices, auto-confirm or review manually |
month-end-close |
Blockers, missing docs, duplicates, trial balance, P&L, balance sheet |
new-supplier |
Create supplier with Estonian business registry lookup |
company-overview |
Financial dashboard: balance sheet, P&L, receivables, payables |
quarterly-vat |
Prepare KMD (VAT return) data for a quarter |
lightyear-booking |
Book Lightyear investment trades and distributions from CSV |
Claude Code also has these as slash commands: /book-invoice, /reconcile-bank, /month-end, /new-supplier.
Once the MCP server is connected, just talk to your AI assistant in natural language:
"Book this invoice PDF into e-arveldaja and match it to the bank payment"
The assistant will extract invoice data from the PDF, create a purchase invoice with the correct accounts and VAT rates, and match it to existing bank transactions.
Download your Lightyear account statement CSV and capital gains report, then:
"Create e-arveldaja journal entries from these Lightyear CSVs"
The assistant will parse the trades, pair foreign currency conversions, calculate capital gains from the FIFO report, and create journal entries with the correct securities accounts.
Download your Wise transaction history CSV (Account → Statements → CSV), then:
"Import my Wise transactions from transaction-history.csv into e-arveldaja"
The assistant will parse the CSV, create bank transactions with correct amounts, and separate Wise fees into their own entries for proper expense accounting. Supports EUR and foreign currency card payments (USD etc.).
"Generate a P&L and balance sheet as of 28.02.2026"
"Match unconfirmed bank transactions to invoices"
"Run the month-end close checklist for February 2026"
The Unlicense — public domain. Do whatever you want with it.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by stripe
Provides SDKs and tools to integrate Stripe's billing and API services with large language models, agent frameworks, and token‑metering for AI‑powered products and businesses.
by goat-sdk
Enables AI agents to send and receive payments, purchase goods and services, execute investment strategies, tokenize assets, and obtain financial insights by leveraging blockchains, stablecoins, and wallets.
by financial-datasets
Provides access to income statements, balance sheets, cash flow statements, stock prices, market news, and cryptocurrency data through MCP tools for AI assistants.
by alpacahq
Enables large language models to trade stocks and options, retrieve real‑time and historical market data, and manage portfolios using plain English commands through a local or remote MCP server.
by stefanoamorelli
Provides an MCP server that connects AI models to SEC EDGAR filings, enabling real‑time retrieval of company filings, financial statements, and insider‑trading data with exact XBRL precision and verifiable filing references.
by imbenrabi
Provides AI assistants with direct access to Financial Modeling Prep data, including real‑time stock quotes, company fundamentals, financial statements, market indexes, news, and alternative data sets via the Model Context Protocol.
by ariadng
Enables AI LLMs to execute trades on the MetaTrader 5 platform through the Model Context Protocol.
by XeroAPI
Provides a bridge between the Model Context Protocol and Xero's API, enabling standardized access to Xero accounting and business features.
by kukapay
Provides a comprehensive set of cryptocurrency technical analysis indicators and ready‑to‑use trading strategies through an MCP interface, enabling AI agents and applications to generate buy, hold, or sell signals.
{
"mcpServers": {
"e-arveldaja": {
"command": "npx",
"args": [
"-y",
"e-arveldaja-mcp"
],
"env": {}
}
}
}claude mcp add e-arveldaja npx -y e-arveldaja-mcp