elster mcp server for VS Code
io.github.lukasschwarz/elster-mcp-server
Drive the German tax portal ELSTER via Puppeteer: submit UStVA, prepare EUER/ESt, sync inbox.
client:VS Code
transport:stdio
runtime:npm
Install elster mcp server in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "elster-config-path",
"description": "ELSTER_CONFIG_PATH",
"password": true
},
{
"type": "promptString",
"id": "elster-pfx-path",
"description": "ELSTER_PFX_PATH",
"password": true
},
{
"type": "promptString",
"id": "elster-password",
"description": "ELSTER_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "elster-tax-number",
"description": "ELSTER_TAX_NUMBER",
"password": true
},
{
"type": "promptString",
"id": "elster-state-code",
"description": "ELSTER_STATE_CODE",
"password": true
},
{
"type": "promptString",
"id": "elster-name",
"description": "ELSTER_NAME",
"password": true
},
{
"type": "promptString",
"id": "elster-first-name",
"description": "ELSTER_FIRST_NAME",
"password": true
},
{
"type": "promptString",
"id": "elster-street",
"description": "ELSTER_STREET",
"password": true
},
{
"type": "promptString",
"id": "elster-house-number",
"description": "ELSTER_HOUSE_NUMBER",
"password": true
},
{
"type": "promptString",
"id": "elster-zip",
"description": "ELSTER_ZIP",
"password": true
},
{
"type": "promptString",
"id": "elster-city",
"description": "ELSTER_CITY",
"password": true
},
{
"type": "promptString",
"id": "elster-country",
"description": "ELSTER_COUNTRY",
"password": true
},
{
"type": "promptString",
"id": "elster-headless",
"description": "ELSTER_HEADLESS",
"password": true
},
{
"type": "promptString",
"id": "elster-est-skip-eur",
"description": "ELSTER_EST_SKIP_EUR",
"password": true
}
],
"servers": {
"elster-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"elster-mcp-server"
],
"env": {
"ELSTER_CONFIG_PATH": "${input:elster-config-path}",
"ELSTER_PFX_PATH": "${input:elster-pfx-path}",
"ELSTER_PASSWORD": "${input:elster-password}",
"ELSTER_TAX_NUMBER": "${input:elster-tax-number}",
"ELSTER_STATE_CODE": "${input:elster-state-code}",
"ELSTER_NAME": "${input:elster-name}",
"ELSTER_FIRST_NAME": "${input:elster-first-name}",
"ELSTER_STREET": "${input:elster-street}",
"ELSTER_HOUSE_NUMBER": "${input:elster-house-number}",
"ELSTER_ZIP": "${input:elster-zip}",
"ELSTER_CITY": "${input:elster-city}",
"ELSTER_COUNTRY": "${input:elster-country}",
"ELSTER_HEADLESS": "${input:elster-headless}",
"ELSTER_EST_SKIP_EUR": "${input:elster-est-skip-eur}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs