Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
作者提供的说明(英文原文)
Drive the German tax portal ELSTER via Puppeteer: submit UStVA, prepare EUER/ESt, sync inbox.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ELSTER_CONFIG_PATH, ELSTER_PFX_PATH, ELSTER_PASSWORD, ELSTER_TAX_NUMBER, ELSTER_STATE_CODE, ELSTER_NAME, ELSTER_FIRST_NAME, ELSTER_STREET, ELSTER_HOUSE_NUMBER, ELSTER_ZIP, ELSTER_CITY, ELSTER_COUNTRY, ELSTER_HEADLESS, ELSTER_EST_SKIP_EUR标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"elster": {
"command": "npx",
"args": [
"-y",
"elster-mcp-server"
],
"env": {
"ELSTER_CONFIG_PATH": "your-value",
"ELSTER_PFX_PATH": "your-value",
"ELSTER_PASSWORD": "your-value",
"ELSTER_TAX_NUMBER": "your-value",
"ELSTER_STATE_CODE": "your-value",
"ELSTER_NAME": "your-value",
"ELSTER_FIRST_NAME": "your-value",
"ELSTER_STREET": "your-value",
"ELSTER_HOUSE_NUMBER": "your-value",
"ELSTER_ZIP": "your-value",
"ELSTER_CITY": "your-value",
"ELSTER_COUNTRY": "your-value",
"ELSTER_HEADLESS": "your-value",
"ELSTER_EST_SKIP_EUR": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add elster --env ELSTER_CONFIG_PATH=your-value --env ELSTER_PFX_PATH=your-value --env ELSTER_PASSWORD=your-value --env ELSTER_TAX_NUMBER=your-value --env ELSTER_STATE_CODE=your-value --env ELSTER_NAME=your-value --env ELSTER_FIRST_NAME=your-value --env ELSTER_STREET=your-value --env ELSTER_HOUSE_NUMBER=your-value --env ELSTER_ZIP=your-value --env ELSTER_CITY=your-value --env ELSTER_COUNTRY=your-value --env ELSTER_HEADLESS=your-value --env ELSTER_EST_SKIP_EUR=your-value -- npx -y elster-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"elster": {
"command": "npx",
"args": [
"-y",
"elster-mcp-server"
],
"env": {
"ELSTER_CONFIG_PATH": "your-value",
"ELSTER_PFX_PATH": "your-value",
"ELSTER_PASSWORD": "your-value",
"ELSTER_TAX_NUMBER": "your-value",
"ELSTER_STATE_CODE": "your-value",
"ELSTER_NAME": "your-value",
"ELSTER_FIRST_NAME": "your-value",
"ELSTER_STREET": "your-value",
"ELSTER_HOUSE_NUMBER": "your-value",
"ELSTER_ZIP": "your-value",
"ELSTER_CITY": "your-value",
"ELSTER_COUNTRY": "your-value",
"ELSTER_HEADLESS": "your-value",
"ELSTER_EST_SKIP_EUR": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"elster": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"elster-mcp-server"
],
"env": {
"ELSTER_CONFIG_PATH": "your-value",
"ELSTER_PFX_PATH": "your-value",
"ELSTER_PASSWORD": "your-value",
"ELSTER_TAX_NUMBER": "your-value",
"ELSTER_STATE_CODE": "your-value",
"ELSTER_NAME": "your-value",
"ELSTER_FIRST_NAME": "your-value",
"ELSTER_STREET": "your-value",
"ELSTER_HOUSE_NUMBER": "your-value",
"ELSTER_ZIP": "your-value",
"ELSTER_CITY": "your-value",
"ELSTER_COUNTRY": "your-value",
"ELSTER_HEADLESS": "your-value",
"ELSTER_EST_SKIP_EUR": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ELSTER_CONFIG_PATH envELSTER_PFX_PATH envELSTER_TAX_NUMBER envELSTER_STATE_CODE envELSTER_NAME envELSTER_FIRST_NAME envELSTER_STREET envELSTER_HOUSE_NUMBER envELSTER_ZIP envELSTER_CITY envELSTER_COUNTRY envELSTER_HEADLESS envELSTER_EST_SKIP_EUR env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 lukasschwarz 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ELSTER_PASSWORD
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Finance Toolkit, SolidInvoice, Korea Tax Calculator
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Model Context Protocol (MCP) server that lets Claude (or any MCP-capable client) drive the German tax portal ELSTER via Puppeteer.
English
Deutsch
Practical safeguards built into the tool
elster_ustva_confirm — it requires an explicit second call after elster_ustva_start has paused at AWAITING_CONFIRM. Nothing is sent without that second confirmation.| Tool | What it does | Submits? |
|---|---|---|
elster_login_test | Verifies your certificate + password can log in | No |
elster_config_show | Shows the loaded config (secrets redacted) | No |
elster_kennziffern_list | Returns the supported UStVA Kennziffern with descriptions | No |
elster_ustva_generate_xml | Generates a UStVA XML snapshot (archive only) | No |
elster_ustva_detect_reverse_charge | Detects §13b reverse-charge suppliers | No |
elster_ustva_start | Logs in, fills, runs Prüfung, then pauses for confirmation | Pauses |
elster_ustva_confirm | Clicks "Absenden" after you reviewed | Yes |
elster_eur_start | Fills Anlage EÜR up to Prüfung, then "Speichern und Verlassen" | No |
elster_est_start | Opens ESt 1 A, fills basics, runs Prüfung, keeps browser open 30 min | No |
elster_sync_history | Reads "Übermittelte Formulare" (optionally with PDFs) | No |
elster_sync_inbox | Reads ELSTER inbox (optionally with PDFs) | No |
elster_session_status / _list / _cancel | Session management | No |
.pfx) — get it from https://www.elster.de → "Mein ELSTER" → "Mein Benutzerkonto" → "Zertifikat verlängern"git clone https://github.com/YOUR_USERNAME/elster-mcp-server.git
cd elster-mcp-server npm install npm run build
Puppeteer will install a bundled Chromium on first install (~150 MB).
cp config.example.json config.json
$EDITOR config.json
All keys in config.json can be overridden by environment variables (ELSTER_PFX_PATH, ELSTER_PASSWORD, ELSTER_TAX_NUMBER, ELSTER_STATE_CODE, ELSTER_NAME, ELSTER_FIRST_NAME, ELSTER_STREET, ELSTER_HOUSE_NUMBER, ELSTER_ZIP, ELSTER_CITY, ELSTER_COUNTRY, ELSTER_DOWNLOAD_DIR, ELSTER_SCREENSHOT_DIR, ELSTER_HEADLESS, ELSTER_EST_SKIP_EUR). Env vars win over the file.
You can also point the loader at a different config file via ELSTER_CONFIG_PATH=/path/to/your/config.json.
The two-digit stateCode for your Finanzamt is published by ELSTER — look up the current value in the official ELSTER documentation.
Add your §13b UStG suppliers under ustva.reverseChargeSuppliers in config.json. Patterns are case-insensitive regexes matched against the voucher's contactName or description. Example entry:
{ "pattern": "your-supplier\\s+ireland", "region": "EU", "name": "Your Supplier Ireland" }
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "elster": { "command": "node", "args": ["/absolute/path/to/elster-mcp-server/dist/index.js"], "env": { "ELSTER_CONFIG_PATH": "/absolute/path/to/elster-mcp-server/config.json" } } } }
See examples/claude_desktop_config.json for the template.
Run the server in stdio mode:
node dist/index.js
Then connect via your client's MCP transport.
1. elster_login_test → { ok: true }
1. elster_login_test
ELSTER_HEADLESS=false once to watch the first run and confirm everything is wired correctly.ELSTER_HEADLESS=false and check the screenshots written to ./screenshots/.MIT
PRs welcome. The most useful additions are:
report schema validator for elster_ustva_*When opening an issue, please run with ELSTER_HEADLESS=false and attach the screenshot under ./screenshots/ that shows the failure.