elster-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ELSTER_ZIP | No | ZIP code. | |
| ELSTER_CITY | No | City. | |
| ELSTER_NAME | No | Your surname (for address fields). | |
| ELSTER_STREET | No | Street name. | |
| ELSTER_COUNTRY | No | Country (default: DE). | |
| ELSTER_HEADLESS | No | Set to 'false' to see the browser window. | |
| ELSTER_PASSWORD | No | Password for the ELSTER certificate. | |
| ELSTER_PFX_PATH | No | Path to your ELSTER certificate .pfx file. | |
| ELSTER_FIRST_NAME | No | Your first name (for address fields). | |
| ELSTER_STATE_CODE | No | Two-digit Bundesland code for your Finanzamt. | |
| ELSTER_TAX_NUMBER | No | Your Steuernummer (tax number). | |
| ELSTER_CONFIG_PATH | No | Path to a JSON config file. All config keys can be overridden by environment variables. | |
| ELSTER_DOWNLOAD_DIR | No | Directory for downloaded PDFs. | |
| ELSTER_EST_SKIP_EUR | No | Set to 'true' to skip EÜR when doing ESt (default false). | |
| ELSTER_HOUSE_NUMBER | No | House number. | |
| ELSTER_SCREENSHOT_DIR | No | Directory for screenshots. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| elster_login_testA | Verifies that the configured certificate + password can log into the ELSTER portal. Returns success and final URL or an error. Use this once before submitting anything. |
| elster_config_showA | Shows the currently loaded ELSTER configuration (with secrets redacted) so you can verify env vars / config.json were picked up. |
| elster_kennziffern_listA | Returns the list of supported UStVA Kennziffern (codes 81, 86, 66 etc.) with descriptions and whether they are NET (base amount) or TAX (tax amount). |
| elster_ustva_generate_xmlA | Generates an ELSTER UStVA XML snapshot for archiving. Does NOT submit (submission goes via elster_ustva_start). Useful for audit trails. |
| elster_ustva_detect_reverse_chargeC | Tests whether a voucher would be detected as Reverse-Charge (§13b UStG) based on the configured supplier patterns. Returns matched supplier and region (EU / NON_EU), or null. |
| elster_ustva_startA | Starts a UStVA submission session. Opens a browser, logs in, fills the form, runs Prüfung, then PAUSES at AWAITING_CONFIRM. You must explicitly call elster_ustva_confirm to send. Returns a sessionId — poll status via elster_session_status. |
| elster_ustva_confirmA | Confirms submission of a UStVA session that is in AWAITING_CONFIRM state. Triggers the final "Absenden" click. Returns the transmission ticket on success. |
| elster_eur_startA | Starts an EÜR (Anlage Einnahmen-Überschuss-Rechnung) form-prep session. Fills the form up to Prüfung, then tries to "Speichern und Verlassen" so the draft survives in ELSTER. NEVER submits. |
| elster_est_startA | Starts an ESt 1 A (Einkommensteuererklärung) form-prep session. Opens the form, fills taxpayer basics from config + any extra fields you provide (by ELSTER input id/name hint), runs Prüfung, then waits 30 min for you to review in the portal. NEVER submits. |
| elster_session_statusB | Returns the current status, progress log, and any screenshot path for a session started via elster_ustva_start / elster_eur_start / elster_est_start. |
| elster_session_listA | Lists all currently tracked sessions (USTVA / EUR / EST / SYNC) with their status. |
| elster_session_cancelC | Cancels a running session (closes the browser, marks status as CANCELLED). |
| elster_sync_historyC | Reads "Übermittelte Formulare" (transmission history) from ELSTER. Optionally downloads PDFs. |
| elster_sync_inboxC | Reads ELSTER inbox messages ("Posteingang"). Optionally downloads each message as PDF. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation: configuration, login testing, session management, specific form types (UStVA, EÜR, ESt), and sync features. While some tool names are similar (e.g., elster_ustva_start vs elster_ustva_generate_xml), their descriptions clearly differentiate intent.
All tools follow a consistent snake_case pattern with the prefix 'elster_', followed by domain area and verb (e.g., elster_session_list, elster_ustva_start). This makes the set predictable and easy to navigate.
14 tools is well-scoped for a tax form submission server. Each tool serves a necessary function without overloading the surface; covers configuration, login, multiple form workflows, and history retrieval.
The tool set covers core workflows: configuration, login verification, session management, UStVA submission (including XML generation and reverse charge detection), and sync/history. Minor gaps exist (e.g., no explicit tool to delete sessions or update configuration), but these are not critical for the primary use case.