Skip to content
VS Code

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

elster mcp server in other clients