epost-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., "@epost-mcplist all my scanned letters"
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.
epost-mcp
MCP server for the Swiss ePost digital letterbox (app.epost.ch) — list and download your scanned letters (Scanning-Service) from any MCP client.
ePost has no public retrieval API for private customers (the public APIs cover sending only). This server therefore drives the web portal with Playwright browser automation. It is inherently fragile: portal updates can break it, and it depends on your interactive SwissID login.
How it works
A persistent Chromium profile (
~/.epost-mcp/profile) keeps the SwissID/ePost session between runs.When the session has expired, the
epost_logintool opens a visible browser window; you complete the SwissID login (incl. 2FA) yourself. Everything else runs headless.Downloads go through the portal's own download button — no undocumented token endpoints.
Related MCP server: mcp-chrome-server
Tools
Tool | Purpose |
|
|
| opens a visible window for the SwissID login (waits up to 8 min) |
| index, sender, title, dates of every letter in the letterbox |
| download one letter ( |
| download everything to |
Install
git clone git@github.com:sapn95/epost-mcp.git
cd epost-mcp
npm install
npx playwright install chromium # skip if a playwright chromium is already cachedRegister with your MCP client, e.g. Claude Code:
claude mcp add --scope user epost -- node /path/to/epost-mcp/index.jsEnv
Variable | Default | Purpose |
|
| browser profile dir (holds the session — treat as secret) |
| auto-detect | chromium executable override |
Caveats
Private use for your own letterbox. Respect ePost's terms of service.
The profile directory contains live session cookies — never commit or share it.
JSF component ids in the portal are unstable; selectors use CSS classes and labels with fallbacks, but expect occasional breakage after ePost releases.
SwissID uses session cookies, so a session does not always survive a browser restart — expect to run
epost_loginat the start of a session. Within one running server instance the session stays warm across calls.
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/epost-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server