{"name":"io.github.lukasschwarz/elster-mcp-server","slug":"lukasschwarz-elster-mcp-server","title":null,"description":"Drive the German tax portal ELSTER via Puppeteer: submit UStVA, prepare EUER/ESt, sync inbox.","url":"https://mcp.market/server/lukasschwarz-elster-mcp-server","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"email","tags":["email","scraping","productivity"],"presence":{"score":29,"stars":13,"forks":1,"downloads_week":39,"last_push_at":"2026-07-13T10:41:22.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/lukasschwarz/elster-mcp-server","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"npm","identifier":"elster-mcp-server","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to a config.json that holds all settings below. Recommended.","format":"string","name":"ELSTER_CONFIG_PATH"},{"description":"Absolute path to your ELSTER certificate (.pfx).","format":"string","name":"ELSTER_PFX_PATH"},{"description":"Password for the .pfx certificate.","format":"string","isSecret":true,"name":"ELSTER_PASSWORD"},{"description":"Your Steuernummer in the format issued by your Finanzamt.","format":"string","name":"ELSTER_TAX_NUMBER"},{"description":"Two-digit ELSTER federal-state code of your Finanzamt.","format":"string","name":"ELSTER_STATE_CODE"},{"description":"Last name / company name.","format":"string","name":"ELSTER_NAME"},{"description":"First name.","format":"string","name":"ELSTER_FIRST_NAME"},{"description":"Street.","format":"string","name":"ELSTER_STREET"},{"description":"House number.","format":"string","name":"ELSTER_HOUSE_NUMBER"},{"description":"ZIP code.","format":"string","name":"ELSTER_ZIP"},{"description":"City.","format":"string","name":"ELSTER_CITY"},{"description":"ISO country code, default DE.","format":"string","name":"ELSTER_COUNTRY"},{"description":"Run Chromium headless (true/false). Default true.","format":"string","name":"ELSTER_HEADLESS"},{"description":"If 1, skip the EUER pre-hook in ESt sessions.","format":"string","name":"ELSTER_EST_SKIP_EUR"}]}],"tools":[{"name":"elster_config_show","description":"Shows the currently loaded ELSTER configuration (with secrets redacted) so you can verify env vars / config.json were picked up.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_est_start","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_eur_start","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_kennziffern_list","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_login_test","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_session_cancel","description":"Cancels a running session (closes the browser, marks status as CANCELLED).","write_action":true,"price_micros":0,"input_schema":null},{"name":"elster_session_list","description":"Lists all currently tracked sessions (USTVA / EUR / EST / SYNC) with their status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_session_status","description":"Returns the current status, progress log, and any screenshot path for a session started via elster_ustva_start / elster_eur_start / elster_est_start.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_sync_history","description":"Reads \"Übermittelte Formulare\" (transmission history) from ELSTER. Optionally downloads PDFs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_sync_inbox","description":"Reads ELSTER inbox messages (\"Posteingang\"). Optionally downloads each message as PDF.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_ustva_confirm","description":"Confirms submission of a UStVA session that is in AWAITING_CONFIRM state. Triggers the final \"Absenden\" click. Returns the transmission ticket on success.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_ustva_detect_reverse_charge","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"elster_ustva_generate_xml","description":"Generates an ELSTER UStVA XML snapshot for archiving. Does NOT submit (submission goes via elster_ustva_start). Useful for audit trails.","write_action":false,"price_micros":0,"input_schema":null},{"name":"elster_ustva_start","description":"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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-26T16:34:15.270Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T16:34:15.243Z","components":{"code":{"score":25,"max":25,"notes":["24 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 75 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"elster-mcp-server","version":"0.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-06-27T09:07:50.961Z","repositoryUrl":"git+https://github.com/lukasschwarz/elster-mcp-server.git","weeklyDownloads":39}],"repo":{"found":true,"owner":"lukasschwarz","repo":"elster-mcp-server","archived":false,"pushedAt":"2026-07-13T10:41:22Z","stars":13,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/12271446?v=4","ownerCreatedAt":"2015-05-06T10:11:23Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/12271446?v=4&s=128","source":"github"},"presence":{"stars":13,"forks":1,"downloadsWeek":39,"license":"MIT","lastPushAt":"2026-07-13T10:41:22.000Z","score":29}}}},"grade_history":[],"reviews":[]}