mydata-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mydata-mcp Who are my top 5 suppliers by spend this quarter?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mydata-mcp
Read-only MCP server for the Greek AADE myDATA e-books API.
Ask Claude (or any MCP client) questions about your business's invoices, income, and expenses — in plain language. All myDATA codes (document types, VAT categories, E3 classifications) are decoded into human-readable bilingual labels before they ever reach the model.
⚠️ Unofficial project — not affiliated with AADE. Strictly read-only: no write endpoint of the myDATA API is ever called.
What can you ask?
"Ποια τιμολόγια έλαβα από προμηθευτές τον Ιούλιο;"
"What was my gross margin in July 2026?"
"Who are my top 5 suppliers by spend this quarter?"
"Show me all credit notes I issued last month."
Related MCP server: docnova-mcp
Features
4 tools — received documents, transmitted documents, income summary, expense summary, with date/VAT/type filters and transparent pagination.
3 resources — full myDATA code tables (invoice types, VAT categories, classifications) the model can consult on demand.
1 prompt —
monthly_reviewgenerates a complete monthly business review.Battle-tested XML handling — survives myDATA's escaped/nested and occasionally malformed XML responses via lxml recovery mode.
Compact output — clean, typed JSON instead of raw XML dumps; details are opt-in per call, so token usage stays low.
Architecture
flowchart LR
LLM["MCP client<br/>(Claude Desktop / Claude Code)"] <-->|stdio| S[server.py]
S --> C["client.py<br/>httpx · auth · pagination"]
C <-->|HTTPS/XML| A[("AADE myDATA API")]
C --> P["parser.py<br/>xmltodict + lxml recovery"]
P --> N["normalizer.py<br/>pydantic + code decoding"]
N -->|compact JSON| SQuickstart
1. Get myDATA credentials
Register at mydata.aade.gr to obtain your
user_id and subscription_key.
2. Configure your MCP client
Claude Desktop (claude_desktop_config.json) or Claude Code
(claude mcp add):
{
"mcpServers": {
"mydata": {
"command": "uvx",
"args": ["--from", "git+https://github.com/nikagabriel741agent/myData-MCP-Server", "mydata-mcp"],
"env": {
"MYDATA_USER_ID": "your-user-id",
"MYDATA_SUBSCRIPTION_KEY": "your-subscription-key"
}
}
}
}For a local checkout, use "args": ["--from", "/path/to/mydata-mcp", "mydata-mcp"].
3. Ask away
Try the built-in prompt: monthly_review(month=7, year=2026).
Tools
Tool | myDATA endpoint | Description |
|
| Documents received from suppliers |
|
| Documents you issued |
|
| Income bookings per E3 classification |
|
| Expense bookings per E3 classification |
Common parameters: date_from / date_to (ISO or dd/MM/yyyy),
counterpart_vat, invoice_type, include_details, max_results.
Every response carries page_info: {has_more, next_mark}.
Resources
URI | Contents |
| Document types 1.1–17.6 (EN + EL) |
| VAT categories with rates |
| E3/VAT classification categories & types |
Configuration
Variable | Required | Description |
| ✅ | AADE user id |
| ✅ | AADE subscription key |
| — |
|
Development
uv sync # install
uv run pytest # test (all HTTP mocked — no credentials needed)
uv run ruff check .License
MIT
Available Tools
4 toolsget_expense_summaryA
Fetch EXPENSE bookings per classification from myDATA e-books (RequestMyExpenses).
Each record aggregates documents per counterparty/type/classification with net, VAT, and gross totals. Classification codes are decoded to labels.
Inputs: date_to (required), date_from (required), max_results, counterpart_vat. Returns: object
get_income_summaryA
Fetch INCOME bookings per classification from myDATA e-books (RequestMyIncome).
Each record aggregates documents per counterparty/type/classification with net, VAT, and gross totals. Classification codes are decoded to labels.
Inputs: date_to (required), date_from (required), max_results, counterpart_vat. Returns: object
get_received_documentsA
Fetch documents RECEIVED by your business (e.g. supplier invoices) from myDATA.
Inputs: date_to (required), date_from (required), max_results, invoice_type, +2 more. Returns: object
get_transmitted_documentsA
Fetch documents ISSUED by your business (sales invoices, receipts) from myDATA.
Inputs: date_to (required), date_from (required), max_results, invoice_type, +2 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a clearly distinct resource: received vs transmitted documents, and income vs expense summaries. No overlap in purpose or data returned.
All tool names follow the same get_[adjective]_[noun] pattern, with consistent snake_case and clear modifiers. The naming style is uniform and predictable.
Four tools is well within the ideal 3-15 range, and each covers a distinct core query type for the myDATA domain. No redundant tools are present.
The read-only surface logically covers documents and summaries for both income and expenses. Major gaps are unlikely, though individual document retrieval or mutation tools are absent, which may not be required for this reporting-oriented server.
Related MCP Connectors
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
MCP server for Quaderno — tax-rate calculation, invoices, contacts, products, receipts & expenses.
Read-only MCP server for Point (Tetra M Labs): demo ledger, trial balance, partners.
Read-only finance MCP server. Connects your banks, cards, payment apps, books and payroll into one ledger for your AI. Can't move money. Open source (AGPL-3.0), free during beta.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server for TourScale ERPNext, enabling agents to query franchisees, agreements, invoices, and GL entries via natural language.-

docnova-mcpofficial
AlicenseAqualityDmaintenanceMCP server for e-invoice platforms. Enables natural language querying of invoices, partners, company data, and financial reports.1810 npm6MIT- AlicenseAqualityDmaintenanceRead-only MCP server for accessing Wallet by BudgetBakers financial data, allowing users to query accounts, transactions, categories, budgets, and more via natural language.10MIT
- AlicenseBqualityCmaintenanceRead-only MCP server for self-hosted Manager.io bookkeeping, providing curated GET tools to access accounting data like invoices, balances, and reports.1032 PyPI1MIT