@n24q02m/better-email-mcp 1.32.3-beta.1 → 1.32.3-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -10
- package/build/src/docs/help.md +1 -1
- package/package.json +1 -1
- package/build/src/docs/setup.md +0 -42
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
mcp-name: io.github.n24q02m/better-email-mcp
|
|
4
4
|
|
|
5
|
-
**IMAP/SMTP email server for AI agents --
|
|
5
|
+
**IMAP/SMTP email server for AI agents -- 7 composite tools with multi-account and auto-discovery**
|
|
6
6
|
|
|
7
7
|
<!-- Badge Row 1: Status -->
|
|
8
8
|
[](https://github.com/n24q02m/better-email-mcp/actions/workflows/ci.yml)
|
|
@@ -48,6 +48,7 @@ mcp-name: io.github.n24q02m/better-email-mcp
|
|
|
48
48
|
- [Status](#status)
|
|
49
49
|
- [Documentation](#documentation)
|
|
50
50
|
- [Tools](#tools)
|
|
51
|
+
- [Comparison](#comparison)
|
|
51
52
|
- [Remote (HTTP Mode)](#remote-http-mode)
|
|
52
53
|
- [Outlook OAuth Device Code (HTTP mode)](#outlook-oauth-device-code-http-mode)
|
|
53
54
|
- [Configuration](#configuration)
|
|
@@ -66,7 +67,7 @@ mcp-name: io.github.n24q02m/better-email-mcp
|
|
|
66
67
|
|
|
67
68
|
- **Multi-account support** -- manage 6+ email accounts (Gmail, Outlook, Yahoo, iCloud, Zoho, ProtonMail, custom IMAP)
|
|
68
69
|
- **App Passwords** -- no OAuth2 setup required for most providers; clone and run in 1 minute
|
|
69
|
-
- **
|
|
70
|
+
- **7 composite tools** with 20 actions -- search, read, send, reply, forward, organize, credential setup in single calls
|
|
70
71
|
- **Auto-discovery** -- provider settings detected from email address, custom IMAP host supported
|
|
71
72
|
- **Thread-aware** -- reply/forward maintains In-Reply-To and References headers
|
|
72
73
|
- **Tiered token optimization** -- compressed descriptions + on-demand `help` tool + MCP Resources
|
|
@@ -93,7 +94,7 @@ mcp-name: io.github.n24q02m/better-email-mcp
|
|
|
93
94
|
|
|
94
95
|
## Documentation
|
|
95
96
|
|
|
96
|
-
Full docs at **[mcp.n24q02m.com/servers/better-email-mcp/](https://mcp.n24q02m.com/servers/better-email-mcp/)**:
|
|
97
|
+
Full docs at **[mcp.n24q02m.com/servers/better-email-mcp/setup/](https://mcp.n24q02m.com/servers/better-email-mcp/setup/)**:
|
|
97
98
|
|
|
98
99
|
- [Setup](https://mcp.n24q02m.com/servers/better-email-mcp/setup/) -- install methods for Claude Code, Codex, Gemini CLI, Cursor, Windsurf, mcp.json
|
|
99
100
|
- [Modes overview](https://mcp.n24q02m.com/get-started/modes-overview/) -- stdio / local-relay / remote-relay / remote-oauth
|
|
@@ -112,7 +113,8 @@ Full docs at **[mcp.n24q02m.com/servers/better-email-mcp/](https://mcp.n24q02m.c
|
|
|
112
113
|
| `folders` | `list` | List mailbox folders |
|
|
113
114
|
| `attachments` | `list`, `download` | List and download email attachments |
|
|
114
115
|
| `send` | `new`, `reply`, `forward` | Compose, reply, and forward emails |
|
|
115
|
-
| `
|
|
116
|
+
| `config` | `status`, `setup_start`, `setup_reset`, `setup_complete`, `set`, `cache_clear` | Credential setup via browser relay, status check, reset, re-resolve, cache clear |
|
|
117
|
+
| `config__open_relay` | - | Open the relay configuration form in the browser and return the relay URL |
|
|
116
118
|
| `help` | - | Get full documentation for any tool |
|
|
117
119
|
|
|
118
120
|
### MCP Resources
|
|
@@ -123,8 +125,23 @@ Full docs at **[mcp.n24q02m.com/servers/better-email-mcp/](https://mcp.n24q02m.c
|
|
|
123
125
|
| `email://docs/folders` | Folder operations reference |
|
|
124
126
|
| `email://docs/attachments` | Attachment operations reference |
|
|
125
127
|
| `email://docs/send` | Send/compose reference |
|
|
128
|
+
| `email://docs/config` | Credential setup and runtime configuration reference |
|
|
126
129
|
| `email://docs/help` | Full documentation |
|
|
127
130
|
|
|
131
|
+
## Comparison
|
|
132
|
+
|
|
133
|
+
How better-email-mcp stacks up against direct competitors in each pillar:
|
|
134
|
+
|
|
135
|
+
| Capability | better-email-mcp | [email-mcp](https://github.com/codefuturist/email-mcp) | [Gmail-MCP-Server](https://github.com/GongRzhe/Gmail-MCP-Server) | [mcp-mail-server](https://github.com/yunfeizhu/mcp-mail-server) |
|
|
136
|
+
|---|---|---|---|---|
|
|
137
|
+
| IMAP/SMTP (provider-agnostic) | Yes | Yes | No (Gmail API only) | Yes |
|
|
138
|
+
| Multi-account | Yes (comma-separated creds) | Yes | No (single global credential) | No (single account per instance) |
|
|
139
|
+
| App Passwords | Yes (no OAuth setup) | Yes | No (OAuth2 only) | Yes |
|
|
140
|
+
| Auto-discovery from email address | Yes | Yes (8 providers) | n/a (Gmail only) | No (manual host/port) |
|
|
141
|
+
| Bundled Outlook OAuth (no user Azure app) | Yes (device-code, Thunderbird-pattern client) | partial (OAuth2 XOAUTH2, experimental) | No (user-supplied Google OAuth) | No |
|
|
142
|
+
| Attachments (list + download) | Yes | Yes | Yes | Yes |
|
|
143
|
+
| HTTP multi-user mode (per-JWT-sub) | Yes (OAuth 2.1, self-hostable) | No (stdio only) | No (stdio only) | No (stdio only) |
|
|
144
|
+
|
|
128
145
|
## Remote (HTTP Mode)
|
|
129
146
|
|
|
130
147
|
Run as a multi-user HTTP server with OAuth 2.1 authentication:
|
|
@@ -171,11 +188,9 @@ In **stdio mode**, Outlook accounts use an **App Password** instead (Outlook Acc
|
|
|
171
188
|
|
|
172
189
|
| Variable | Required | Default | Description |
|
|
173
190
|
|:---------|:---------|:--------|:------------|
|
|
174
|
-
| `
|
|
175
|
-
| `EMAIL_USER` |
|
|
176
|
-
| `EMAIL_APP_PASSWORD` |
|
|
177
|
-
| `EMAIL_IMAP_HOST` | No (custom only) | - | Custom IMAP hostname when `EMAIL_PROVIDER=custom` |
|
|
178
|
-
| `EMAIL_CREDENTIALS` | Alternative (multi-account) | - | Legacy `user@gmail.com:app-password` (comma-separated for multi-account) |
|
|
191
|
+
| `EMAIL_CREDENTIALS` | Yes (stdio) | - | Email credentials, `email:app-password` per account, comma-separated for multi-account. Optional custom IMAP host/port: `email:password:imap_host:imap_port` |
|
|
192
|
+
| `EMAIL_USER` | Alternative (stdio, single-account) | - | Email address. Used with `EMAIL_APP_PASSWORD` as a per-field alternative to `EMAIL_CREDENTIALS`; merged into `EMAIL_CREDENTIALS` at boot |
|
|
193
|
+
| `EMAIL_APP_PASSWORD` | Alternative (stdio, single-account) | - | App password (Gmail/Yahoo/iCloud) or Outlook App Password; used with `EMAIL_USER` |
|
|
179
194
|
| `PUBLIC_URL` | No (http) | - | Server's public URL for relay / OAuth redirect links |
|
|
180
195
|
| `CREDENTIAL_SECRET` | No (http) | auto-generated | Secret used to encrypt the per-user credential store; if unset, a random 32-byte secret is generated and persisted to a 0600 file |
|
|
181
196
|
| `PORT` | No | `0` (OS-assigned) | Server port (http mode); set explicitly (e.g. `8080`) to bind a fixed port |
|
|
@@ -248,7 +263,7 @@ bun run dev
|
|
|
248
263
|
|
|
249
264
|
## Trust Model
|
|
250
265
|
|
|
251
|
-
This plugin implements **TC-NearZK** (in-memory, ephemeral). See [mcp-core
|
|
266
|
+
This plugin implements **TC-NearZK** (in-memory, ephemeral). See the [mcp-core trust model](https://mcp.n24q02m.com/servers/mcp-core/trust-model/) for full classification.
|
|
252
267
|
|
|
253
268
|
| Mode | Storage | Encryption | Who can read your data? |
|
|
254
269
|
|---|---|---|---|
|
package/build/src/docs/help.md
CHANGED
|
@@ -8,7 +8,7 @@ Get full documentation for any email MCP tool. Returns detailed usage instructio
|
|
|
8
8
|
|
|
9
9
|
- Use when the compressed tool description is insufficient
|
|
10
10
|
- Returns markdown documentation for the requested tool
|
|
11
|
-
- Available for: messages, folders, attachments, send
|
|
11
|
+
- Available for: messages, folders, attachments, send, config, help
|
|
12
12
|
|
|
13
13
|
## Actions
|
|
14
14
|
|
package/package.json
CHANGED
package/build/src/docs/setup.md
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# Setup Tool
|
|
2
|
-
|
|
3
|
-
Manage email credential setup and relay configuration.
|
|
4
|
-
|
|
5
|
-
### Description
|
|
6
|
-
This tool allows you to check the status of your email credentials, manually trigger the interactive relay setup process, reset your configuration, or signal completion of external setup.
|
|
7
|
-
|
|
8
|
-
### Actions
|
|
9
|
-
|
|
10
|
-
#### 1. status
|
|
11
|
-
Check current credential state.
|
|
12
|
-
```json
|
|
13
|
-
{
|
|
14
|
-
"action": "status"
|
|
15
|
-
}
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
#### 2. start
|
|
19
|
-
Trigger the relay setup session and return the setup URL.
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"action": "start",
|
|
23
|
-
"force": true
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
* `force`: (Optional) boolean. Set to `true` to force restarting the relay setup even if one is already in progress.
|
|
27
|
-
|
|
28
|
-
#### 3. reset
|
|
29
|
-
Clear all saved credentials and reset to awaiting_setup state.
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"action": "reset"
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
#### 4. complete
|
|
37
|
-
Re-check credential state after external config changes (e.g. relay submission).
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"action": "complete"
|
|
41
|
-
}
|
|
42
|
-
```
|