saasmail is a self-hosted inbox for SaaS teams on Cloudflare Workers. As far as we know, it's the first open-source email server with WebMCP support. An in-browser agent works the inbox through the same interface you do: the per-customer timeline, the compose drawer, the enroll modal. It stays in front of you the whole time.
Why our use case is a strong fit for WebMCP
TL;DR: We can't see fully autonomous inboxes getting any love.
Inbox work is repetitive yet must be personalized: you triage the overnight mail, pull a customer's history, draft a reply, enroll a contact. It's exactly the work you'd only want to hand off to a real human, since the mail runs from support tickets to investor interest.
Every email-plus-agent tool we found is headless. The agent talks to an MCP server off to the side, work happens out of sight, and you're asked to trust the result. WebMCP closes that gap by pointing the agent at the product itself: the inbox we already built, one timeline per customer, driven through the same controls a person uses.
How it creates a better user experience
TL;DR: agents working with WebMCP can perform actions faster because they don't parse the DOM, and done right (we think we have), WebMCP allows the user to be in the loop the whole time.
The agent acts as you, in your tab, through the interface you already know. Two things follow. It's faster and more reliable, because it calls typed actions instead of parsing the DOM. And it's visible, because writes surface before they happen. Automation feels like supervising: review it, correct it, or take over at any point - it's just interacting with the UI anyway!
What people and agents can do together that was hard or impossible before
TL;DR: a very clean human-in-the-loop experience versus a regular MCP server. We're not reinventing a human-in-the-loop UI - we're just hijacking the original.
MCP enabled agents to interact with web applications through an API - but a human doesn't do that. They interact with buttons and interfaces. So previously, when you build a MCP integration, you had to build an monitoring interface on top of it anyway. WebMCP allows you to skip that, which is really cool.
I like to compare saasmail with Cloudflare's own agentic-inbox, the closest project that does cool stuff with agents directly within the app - though we find that releasing that control to the person's own AI harness increases adoption, rather than being stuck with a particular model/vendor.
How we implemented WebMCP
TL;DR: each tool mimics what a human would do when interacting with an email client.
We started by mapping our interactions with saasmail. Then we started to build each tool with the intention that the agent will find useful. That was the hard part. The easy part was implementing the WebMCP layer. Since there wasn't any auth that we had to wire in (it just used the user's existing session), the implementation was much easier than an MCP server! Another challenge was to come up with the right mock data for demo purposes, which I did a few iterations on. Same self-hosted $5/month Workers app, with WebMCP layered on top. You can self host this as well!
Built With
- cloudflare
- mcp
- react
- webmcp
Log in or sign up for Devpost to join the conversation.