taxme-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@taxme-mcplist my tax returns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
taxme-mcp
MCP server for the Canton of Bern tax portal TaxMe / BE-Login (belogin.directories.be.ch) — read your account statement (open amounts per tax year) and your tax returns with their status, from any MCP client.
BE-Login has no public API and authenticates through SwissID/AGOV, so this server drives the portal with Playwright browser automation. It is inherently fragile: portal updates can break selectors, and it depends on your interactive SwissID/AGOV login. Read-only by design — it does not fill or submit returns.
How it works
A persistent Chromium profile (
~/.taxme-mcp/profile) keeps the session.When the session has expired,
taxme_loginopens a visible window; you complete the SwissID/AGOV login (incl. 2FA) yourself. Everything else runs headless.
Related MCP server: Steuerboard TypeScript MCP Server
Tools
Tool | Purpose |
|
|
| open a visible window for the SwissID/AGOV login (waits up to 8 min) |
| open amounts (CHF) per tax year — Kantons-/Gemeindesteuern, direkte Bundessteuer, Gemeindeabgaben |
| tax returns (Steuererklärungen) with status (In Bearbeitung / Quittiert …) |
Install
git clone git@github.com:sapn95/taxme-mcp.git
cd taxme-mcp && npm install
npx playwright install chromium # skip if a playwright chromium is already cached
claude mcp add --scope user taxme -- node /path/to/taxme-mcp/index.jsEnv
Variable | Default | Purpose |
|
| browser profile dir (holds the session — secret) |
| auto-detect | chromium executable override |
Caveats
Private use for your own BE-Login account. Respect the portal's terms.
The profile directory contains live session cookies — never commit or share it.
SwissID/AGOV sessions are short-lived; run
taxme_loginat the start of a session.JSF component ids in TaxMe are unstable; selectors use text/URLs with fallbacks — expect occasional breakage after portal releases.
Only Canton of Bern (TaxMe). Other cantons use different portals.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapn95/taxme-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server