Mailly
site.maillyPublished by mailly.siteOfficial publisherv0.3.1Updated Oct 31, 2026
A real inbox for agents: read mail, draft replies you approve, wait for verification codes.
Overview
Mailly gives an assistant a real email inbox: read mail, draft replies for your approval, and wait for verification codes.
- What you can do
- Read and search mail in a Mailly inbox
- Create and manage drafts, and send mail
- Wait for incoming messages such as verification codes
- Manage sending domains, contacts and templates
- Work with campaigns, workflows and webhooks
- Show email and draft cards in an optional MCP Apps UI
- When to use it
- Useful when an assistant needs to act on real email: triaging an inbox, preparing replies you review before sending, or waiting for a sign-up or login code to arrive. Also relevant if you run Mailly campaigns and want contacts, templates or workflows handled from a chat client.
- Requirements
- A remote MCP endpoint added to the client, plus a Mailly account signed in through OAuth; the hosted OAuth flow only works at the official hosted endpoint. Self-hosted copies need Node.js and a Mailly API key sent as a Bearer token, and reach Mailly's REST API over the internet.
Installation
In SourceWeft
- Open Mailly in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/site.mailly%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"mailly": {
"type": "http",
"url": "https://mcp.mailly.site/mcp"
}
}
}README
mailly-mcp
The MCP server behind Mailly's connector, plus the Mailly plugin for Claude and Codex.
src/: the MCP server, a Cloudflare Worker. It offers typed tools for Mailly mail, drafts, sending, domains, contacts, templates, campaigns, workflows and webhooks. Every tool calls the Mailly REST API with the caller's Mailly API key, so authentication, billing and workspace isolation all stay in the API.ui/: the MCP Apps UI (email and draft cards), bundled intoui://resources. It is off unlessMCP_APPS=1.plugins/mailly: the plugin for Claude (claude.ai, Cowork and Claude Code) and Codex. It points at the hosted server and adds a skill for working with email safely.plugins/openai/mailly: the public ChatGPT/Codex update package, based on the published 0.3.1 release, with its existing listing, review cases, demo link, skill, and PNG icon retained.
Use the hosted server
Add https://mcp.mailly.site/mcp as a remote MCP server and sign in with your Mailly account (OAuth). In
ChatGPT, add the published Mailly plugin.
In Claude Code you can install the plugin instead:
This server is an OAuth protected resource. Mailly's API (https://api.mailly.site/api/auth) is the authorization
server: clients find it through /.well-known/oauth-protected-resource, sign the user in there, and send the
access token here. The server passes the token, or an API key, unchanged to Mailly's REST API, which checks it and
the scopes it carries. The tool list is narrowed to the same scopes (GET /me).
Keep ChatGPT and Codex connections authorized
The public OpenAI configuration in plugins/openai/mailly/mcp.json and the Codex compatibility
configuration in plugins/mailly/.codex-plugin/mcp.json request
offline_access in extensions.com.openai.auth.baseScopes. Mailly issues a refresh token only when
that scope is granted. Resource discovery and tool scopes describe Mailly data permissions; they do not
request offline access on the client's behalf. Without it, sign-in succeeds but access ends when the
one-hour access token expires.
For a published OpenAI plugin, upload the updated plugin package to the existing plugin, confirm that
the saved MCP authentication settings include offline_access, then reconnect the account and rescan.
Deploying the Worker alone does not update those saved settings. Reconnecting with the old settings
will still produce a connection without a refresh token. For manually configured clients, include
offline_access alongside the desired Mailly scopes when starting OAuth authorization.
Package the contents of plugins/openai/mailly as the upload root. Do not include the repository,
marketplace, or the installed plugin's Portal-generated .app.json and apps binding in a public
upload. Keep those generated bindings in the installed release; the submission portal owns them.
The package version is 0.3.2. Separately, the Worker declares all three tool annotation booleans
explicitly, including destructiveHint: false for read-only tools; that server update requires a
Worker deployment and rescan. The MCP Registry listing is unchanged.
Run it yourself
Call /mcp with Authorization: Bearer <your Mailly API key> (from https://mailly.site/app/developers).
Without the MAILLY_API service binding it calls MAILLY_API_URL (default https://api.mailly.site) over
the internet. To host your own copy, change the mcp.mailly.site route in wrangler.jsonc. OAuth sign-in only
works at https://mcp.mailly.site/mcp, because Mailly issues tokens for that resource; elsewhere use an API key.
Develop
The Mailly server repository runs its OAuth and end-to-end tests against dist/worker.js from a sibling
checkout of this repository.
server.json is the listing in the MCP Registry as
site.mailly/mcp. The site.mailly namespace is proven by a DNS TXT record on mailly.site, so publish with
mcp-publisher login dns --domain mailly.site --private-key <key> and mcp-publisher publish from a machine that
holds the key. Bump version for each release.
License
MIT
Source: README.md at commit c9f3a3b
Tools
0Version history
1- v0.3.1LatestOct 17, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts