Triage, draft, sign - without leaving chat.
A real email composer and a ranked inbox, right inside Claude, ChatGPT, or your favorite agent. Your agent triages and writes; you edit and send.
https://mcp.daysurface.com/mcp Opens Claude with the name and URL already filled in - just click Add. Claude flags it as suggested by an external link; that's expected. On Team and Enterprise plans an admin adds it.
Didn't work? Add it manually
- 1 Open Claude → Settings → Connectors
- 2 Click “Add custom connector”
- 3 Paste the URL above, then click Add and complete sign-in
Copies the URL, then opens the empty dialog - just paste. Needs Developer mode on first.
Full click-path
- 1 Settings → Connectors → Advanced settings → Developer mode on
- 2 Back on Connectors, click Create
- 3 Paste the URL, name it, Authentication → OAuth
- 4 Tick the risk box, click Create
- 5 New chat, so the tools menu refreshes
Run this in your terminal - it adds the server to Claude Code.
claude mcp add --transport http --scope user daysurface https://mcp.daysurface.com/mcp
Run it in your terminal, then /mcp in a session to sign in.
Opens Cursor and adds the server. Not working? Copy the URL above and add it under Settings → MCP.
Opens VS Code and adds the server. Requires Copilot agent mode.
Opens Goose and adds the extension over streamable HTTP.
Paste this into Cline - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Or add it by hand: MCP Servers → Remote Servers → Streamable HTTP.
Paste this into Zed - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Or add it by hand: Settings → AI → MCP Servers → Add Remote Server.
Paste this into Windsurf - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Windsurf uses “serverUrl”, not “url” - a snippet copied from another client will fail silently.
Paste this into Any MCP client - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Anything that speaks MCP over streamable HTTP works - there is nothing to install.
Triage my inbox and draft replies.
I triaged your inbox. Here's the curated view.
Triage my inbox and draft replies.
Here's your inbox, triaged by priority.
Triage my inbox and draft replies.
On it. Running the inbox tool now.
goose · 9:42 AM
Triage my inbox and draft replies.
Triaged your inbox in agent mode:
Ask Copilot
Works with every MCP client
- Claude
- Codex
- Cursor
- ChatGPT
- VS Code
- OpenClaw
- Goose
Every action lands somewhere you can edit.
Replies open in a real composer, triage banks what your agent already read, and PDFs get filled for you to sign. Nothing leaves your account until you send it.
Drafted a reply to Dana - it's open for you to edit.
I triaged your inbox. Here's what needs you.
- D2 days agoRe: Q3 contract - countersignature 0.86Draft × Unread awaiting your replyDana WhitfieldLooks good on our end. Just need your signature on page 4 before EOD.
- P5 hours agoDesign review for v2 dashboard 0.61Unread mentions youPriya NairPushing our review an hour, calendar invite updated.
- S1 day agoYour invoice is ready 0.42has attachmentYour monthly statement is attached. Total due $1,204.00.
Looks good on our end. Just need your signature on page 4 before EOD - once that's in we can countersign and get this filed today.
Filled the form. It needs your signature to go back.
-
Drafted a reply to Dana - it's open for you to edit.
Inbox Draft readyRe: Q3 contract - countersignatureD Dana Whitfield Just need your signature on page 4… 2dDraft saved01Drafts you edit, not approve
Replies land in a real Gmail draft with a composer rendered inside the chat - recipients, subject, body and attachments, all editable in place. Your agent writes the first version; nothing sends until you press send.
-
I triaged your inbox. Here's what needs you.
Curated inbox123- D2 days agoRe: Q3 contract - countersignature 0.86Draft × Unread awaiting your replyDana WhitfieldLooks good on our end. Just need your signature on page 4 before EOD.
- P5 hours agoDesign review for v2 dashboard 0.61Unread mentions youPriya NairPushing our review an hour, calendar invite updated.
- S1 day agoYour invoice is ready 0.42has attachmentYour monthly statement is attached. Total due $1,204.00.
InboxRe: Q3 contract - countersignatureD Dana Whitfield <[email protected]>Looks good on our end. Just need your signature on page 4 before EOD - once that's in we can countersign and get this filed today.
02Triage that remembers
Your agent reads a thread once and banks its verdict. Each judgment is stamped against the thread's Gmail history, so the next "what needs me?" only re-reads what actually changed - instead of re-running a search and starting from zero.
-
-
Filled the form. It needs your signature to go back.
terms-v3.pdf Awaiting your signature ✓ Signed by Alex RiveraSignatureSign here Alex RiveraSign as (full legal name)Alex RiveraI agree that typing my name constitutes my electronic signature.Cancel Sign document Signing…03Fill and sign, in the thread
Your agent opens a PDF attachment, fills its form fields, and hands it back for signature. The bytes stay server-side and never enter the conversation - and signing is a step only you can complete, by typing your own name.
How DaySurface compares
Most Gmail MCPs hand your agent a wall of JSON. DaySurface is a Gmail product: an inbox you drive from inside the chat, open source and yours to host.
Interactive UI, not just JSON
A real composer and a ranked inbox, rendered inside the chat.
MCP, CLI, API interfaces
One service registry behind all three. Behaviour never drifts.
Open source and self-hostable
Your infrastructure, your OAuth credentials, no gateway in between.
| Capability | DaySurface | GongRzhe Gmail-MCP-Server | Composio Gmail | Zapier & Pipedream MCP | Google Workspace MCP |
|---|---|---|---|---|---|
| Interactive in-chat UI (MCP Apps) Composer + ranked-inbox dashboard rendered inside the chat client. | ✓ | – JSON only | – JSON only | – JSON only | – JSON only |
| Built-in inbox triage & ranking An importance-ranked inbox out of the box, not just raw search. | ✓ | – raw search | – raw search | ~ build a workflow | – raw search |
| One codebase → CLI + MCP + HTTP Identical tools across every interface, no duplicated logic. | ✓ | ~ stdio / HTTP | – hosted endpoint | – hosted endpoint | ~ MCP only |
| Zero-install (remote streamable HTTP) Connect by pasting a URL - nothing to install locally. | ✓ | – local install | ✓ | ✓ | – self-run |
| Open source & self-hostable Run the full server on your own infrastructure. | ✓ | ✓ | – proprietary | – proprietary | ✓ |
| Minimal scope + encrypted tokens A single Gmail scope with tokens encrypted at rest. | ✓ | ~ local token file | ✓ managed | ✓ managed | ~ broad scopes |
Comparison reflects publicly documented capabilities as of June 2026. The MCP ecosystem moves fast - if something here is out of date, open an issue and we'll fix it.
Trusted by builders
“We had a production MCP server in front of our agents the same afternoon. The shared registry meant our CLI and API just worked too.”
Placeholder NameStaff Engineer, Placeholder Co.“The typed schemas are the killer feature. Our agent stopped guessing argument shapes overnight.”
Placeholder NameFounder, Placeholder AIPricing
The full Gmail experience is free forever, and always will be. Paid tiers buy autonomy and throughput, governance is an add-on you attach when you need it, and you can self-host the whole thing for nothing.
Interactive is free. Autonomous is paid. Scale when you need to.
Free
DaySurfaceEverything you can do in the Gmail web UI, done through your agent instead. Not a trial.
- Read, search, and triage your whole inbox
- Draft, reply, and send
- Interactive MCP Apps (composer + ranked inbox)
- 1 connected mailbox
- 500 tool calls per day
- 30 days of curation memory
- 3 PDF signatures per month
- MIT-licensed - self-host every feature
- Community support
Team
5 members included. $6/mo per extra member. No card up front.
Everything DaySurface does, for you and up to four colleagues. It keeps working after you close the chat.
- Everything in Free, for all 5 members
- Follow-up Manager - nothing slips
- Webhooks + real-time inbox watch
- Scheduled rules
- Unlimited curation memory
- Unlimited PDF signing
- Shared team rules + shared mailboxes
- Audit log + admin console
- 5,000 tool calls per day
- Priority support
Scaling
25 members included. $5/mo per extra member.
Same product, far more headroom. For teams running agents against their mail all day rather than a few times an hour.
- Everything in Team
- 25 members included
- 50,000 tool calls per day
- 25 concurrent agent sessions
- 100k webhook deliveries per day
- Priority background job queue
- Higher curation throughput
- Usage analytics + per-member breakdown
- Priority support with a response target
Enterprise
Procurement, uptime commitments, and deployment on infrastructure you control.
- Everything in Scaling
- Unlimited members and custom limits
- Governance add-on included
- Uptime SLA + DPA
- Dedicated or VPC deployment
- Security review + procurement support
- Self-host support contract
- Named onboarding + dedicated support
Open source and MIT-licensed: self-host every feature for nothing.
Ask AI about this
Have your assistant explain DaySurface, compare it, or walk you through deploying it.
Frequently asked questions
Which MCP clients are supported?
Any client that speaks the Model Context Protocol: Claude Desktop, Claude Code, Cursor, Cline, VS Code, Windsurf, and more. The server exposes a standard tool/resource surface.
stdio or streamable HTTP?
Both. Streamable HTTP is the primary transport (mounted at /mcp alongside the HTTP API in one process), and stdio is available for local/dev use.
How does authentication work?
The MCP mount supports OAuth 2.1 as a resource server, sharing auth and CORS with the HTTP API. You can also run it unauthenticated for local development.
Do I need to install anything to use it?
No. Because the server runs over streamable HTTP, connecting is just pasting its URL into your agent client. No local install, runtime, or download required. (Self-hosting the server is a separate, optional step.)
Does it work on mobile?
Yes, anywhere your agent runs. Since it's a remote HTTP server with nothing to install locally, it works in any agent app that has a mobile app, including the Claude and ChatGPT mobile apps.
Can I self-host?
Yes. The whole thing is open source and ships with a Dockerfile and Railway config. Deploy it anywhere that runs a container.
What about my existing CLI / API?
They share the same service registry. Add a tool once and it's available over CLI, MCP, and HTTP simultaneously, with no duplicated logic.
Is there an /ask (NLWeb) endpoint?
Yes. There's a public, NLWeb-conformant /ask endpoint for natural-language questions answered from the docs (server-side Q&A with SSE streaming). It's distinct from the /mcp action-tool surface, which exposes callable tools. /ask is disabled by default; enable it via config (ask.enabled: true).
Is this just another Gmail API wrapper?
No. Most Gmail MCPs (like GongRzhe's) wrap the Gmail API and return JSON. DaySurface renders interactive MCP Apps - a composer you edit drafts in and a ranked inbox you triage - directly inside the chat, and exposes the same tools over CLI and HTTP, not just MCP. See the comparison at /compare.
How is it different from Composio, Zapier, or Google Workspace MCP?
Those are broad gateways or suites where Gmail is one generic toolkit among many. DaySurface goes deep on Gmail with an interactive in-chat inbox, and it's open source and self-hostable so your mail never routes through a proprietary service. Full breakdown at /compare.
Ship your MCP server today.
Clone the repo, deploy it, and point your agent at the URL.
https://mcp.daysurface.com/mcp Opens Claude with the name and URL already filled in - just click Add. Claude flags it as suggested by an external link; that's expected. On Team and Enterprise plans an admin adds it.
Didn't work? Add it manually
- 1 Open Claude → Settings → Connectors
- 2 Click “Add custom connector”
- 3 Paste the URL above, then click Add and complete sign-in
Copies the URL, then opens the empty dialog - just paste. Needs Developer mode on first.
Full click-path
- 1 Settings → Connectors → Advanced settings → Developer mode on
- 2 Back on Connectors, click Create
- 3 Paste the URL, name it, Authentication → OAuth
- 4 Tick the risk box, click Create
- 5 New chat, so the tools menu refreshes
Run this in your terminal - it adds the server to Claude Code.
claude mcp add --transport http --scope user daysurface https://mcp.daysurface.com/mcp
Run it in your terminal, then /mcp in a session to sign in.
Opens Cursor and adds the server. Not working? Copy the URL above and add it under Settings → MCP.
Opens VS Code and adds the server. Requires Copilot agent mode.
Opens Goose and adds the extension over streamable HTTP.
Paste this into Cline - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Or add it by hand: MCP Servers → Remote Servers → Streamable HTTP.
Paste this into Zed - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Or add it by hand: Settings → AI → MCP Servers → Add Remote Server.
Paste this into Windsurf - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Windsurf uses “serverUrl”, not “url” - a snippet copied from another client will fail silently.
Paste this into Any MCP client - it will add the server for you.
Add a remote MCP server, then verify it connects. Name: daysurface Endpoint: https://mcp.daysurface.com/mcp Transport: streamable HTTP (remote, not stdio) Auth: OAuth in the browser, no key to paste Use THIS client's own config keys - they differ: VS Code "servers", Cursor/Cline "mcpServers", Zed "context_servers", Windsurf "serverUrl" not "url". Keep existing servers. Show me the diff, then say what to click to finish sign-in.
Anything that speaks MCP over streamable HTTP works - there is nothing to install.
- Three transports, one codebase
- Headless or interactive tools
- Streamable HTTP, one port
- Open source, self-hostable