Elorus MCP Server
Read-only MCP server for the Elorus invoicing platform, enabling natural language queries about invoices, contacts, expenses, payments, and products.
README
Elorus MCP Server
A read-only Model Context Protocol server for the Elorus invoicing platform — ask your business data questions in plain language.
Unofficial & read-only. This project is not affiliated with Elorus. It only ever issues GET requests — it cannot create, modify, or delete anything in your organization.
What can you ask?
- "Which invoices are overdue, and for how much?"
- "How much did we invoice ACME Ltd in July?"
- "What did we spend on hosting last month?"
- "Which payments did we receive this week?"
- "What is the VAT number of client X?"
Features
- 10 read-only tools covering invoices, contacts, expenses, cash receipts and products (Elorus API v1.2)
- Curated filters — period, status, paid/unpaid, overdue, client/supplier, free-text search — documented in every tool schema so the LLM calls them correctly
- Token-efficient responses — list tools return trimmed summaries;
get_*tools return the full record - Read-only by construction — the HTTP client implements GET only
- Clear error messages for authentication, rate-limit and connectivity problems
Architecture
flowchart LR
A["MCP client (Claude Desktop / Claude Code)"] -- stdio --> B["elorus-mcp (MCP Python SDK)"]
B --> C["ElorusClient (GET-only, httpx)"]
C -- "Authorization: Token + X-Elorus-Organization" --> D["Elorus API v1.2"]
Quickstart
1. Get your credentials
- API key: Elorus web app → User Profile → API token
- Organization ID: Elorus web app → Settings → Organization → Organization ID
2. Configure your MCP client
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"elorus": {
"command": "uvx",
"args": ["--from", "git+https://github.com/nikagabriel741agent/Elorus-ERP-MCP-Server", "elorus-mcp"],
"env": {
"ELORUS_API_KEY": "your-api-key",
"ELORUS_ORGANIZATION_ID": "your-organization-id"
}
}
}
}
Claude Code:
claude mcp add elorus \
-e ELORUS_API_KEY=your-api-key \
-e ELORUS_ORGANIZATION_ID=your-organization-id \
-- uvx --from git+https://github.com/nikagabriel741agent/Elorus-ERP-MCP-Server elorus-mcp
Local development install
git clone https://github.com/nikagabriel741agent/Elorus-ERP-MCP-Server.git
cd Elorus-ERP-MCP-Server
uv sync
cp .env.example .env # fill in your credentials
uv run --env-file .env elorus-mcp
Tools
| Tool | Description | Key arguments |
|---|---|---|
list_invoices |
List sales invoices (summaries) | period_from, period_to, status, paid, overdue, draft, client, search, ordering, page, page_size |
get_invoice |
Full invoice record | invoice_id |
list_contacts |
List clients & suppliers | search, contact_type (client/supplier), active, page, page_size |
get_contact |
Full contact record | contact_id |
list_expenses |
List expenses | period_from, period_to, supplier, search, page, page_size |
get_expense |
Full expense record | expense_id |
list_cash_receipts |
List payments received | period_from, period_to, contact, invoice, transaction_type, page, page_size |
get_cash_receipt |
Full cash receipt record | cash_receipt_id |
list_products |
List products & services | search, active, sales, purchases, page, page_size |
get_product |
Full product record | product_id |
Notes: dates are YYYY-MM-DD; period_from/period_to only apply when both are set.
Invoice status is one of draft, pending, issued, partial, unpaid, overdue, paid, void.
Configuration
| Environment variable | Required | Description |
|---|---|---|
ELORUS_API_KEY |
yes | Personal API key (Elorus web app → User Profile) |
ELORUS_ORGANIZATION_ID |
yes | Elorus web app → Settings → Organization → Organization ID |
ELORUS_BASE_URL |
no | Defaults to https://api.elorus.com/v1.2 |
Development
uv sync # install dependencies
uv run pytest -v # run the test suite (no real API calls)
uv run ruff check . # lint
uv run ruff format --check . # formatting
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.