mailwarden
Advanced tools
+27
-0
@@ -81,2 +81,29 @@ /** | ||
| /** | ||
| * Where the project lives. Kept next to the line that prints it, and held against package.json's | ||
| * `bugs.url` by a test, because a link that has quietly rotted is worse than no link: it sends a | ||
| * user who already has a problem to a 404. | ||
| */ | ||
| export const REPO_URL = "https://github.com/csitte/mailwarden"; | ||
| /** | ||
| * The one line that names where the docs and the issue tracker are. | ||
| * | ||
| * mailwarden is installed far more often than it is visited — `npx` puts it to work without anyone | ||
| * ever seeing the repository, and until now nothing in a run said where to look when something was | ||
| * unclear or wrong. This is that missing signpost, not a promotion: it appears only at the end of | ||
| * the two modes a human sits and watches (`--auth`, `--check`), once, and never in server mode, | ||
| * where stderr belongs to the host's log and a link would be noise in a machine's transcript. | ||
| * | ||
| * It points at the repository rather than the product page on purpose. The README ships with the | ||
| * package and is corrected in the same commit as the code; a mirrored page can lag behind a fix by | ||
| * days, and the one thing a signpost must not do is lead somewhere out of date. | ||
| * | ||
| * `problem` adds the issue tracker. Someone whose setup just failed is the one person who both | ||
| * needs it and has something worth reporting — offering it after a clean run instead would be | ||
| * asking for noise from the people with nothing to say. | ||
| */ | ||
| export function helpFooter(state) { | ||
| const docs = `Docs: ${REPO_URL}#readme`; | ||
| return state === "problem" ? `${docs} — report a problem: ${REPO_URL}/issues` : docs; | ||
| } | ||
| /** | ||
| * A bare positional argument, if any — i.e. a token that is neither a flag nor the value of | ||
@@ -83,0 +110,0 @@ * `--account`. `mailwarden --auth work` is almost certainly a forgotten `--account`, and silently |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} |
+2
-0
@@ -14,2 +14,3 @@ /** | ||
| import { CRED_PATH, tokenPath, activeAccount, discoverAccounts, checkCredentials, readGrantedScopes, tokenFileState, getAuth, } from "./auth.js"; | ||
| import { helpFooter } from "./cli.js"; | ||
| import { Gmail } from "./gmail.js"; | ||
@@ -234,4 +235,5 @@ import { authScopesForTiers, missingScopes, resolveEnabledTiers } from "./tiers.js"; | ||
| console.error(`\n${code === 0 ? "✓ Setup looks good." : "✗ Setup has problems — see the ✗ lines above."}`); | ||
| console.error(helpFooter(code === 0 ? "ok" : "problem")); | ||
| return code; | ||
| } | ||
| //# sourceMappingURL=doctor.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"} |
+3
-1
@@ -12,3 +12,3 @@ #!/usr/bin/env node | ||
| import { runDoctor } from "./doctor.js"; | ||
| import { CliError, debugEnabled, findStrayPositional, readAccountArg, resolveMode } from "./cli.js"; | ||
| import { CliError, debugEnabled, findStrayPositional, helpFooter, readAccountArg, resolveMode, } from "./cli.js"; | ||
| const VERSION = createRequire(import.meta.url)("../package.json").version; | ||
@@ -76,5 +76,7 @@ function makeServer() { | ||
| } | ||
| console.error(helpFooter("ok")); | ||
| } | ||
| catch (err) { | ||
| console.error("⚠ Token was stored, but a test call to Gmail failed:", err instanceof Error ? err.message : err); | ||
| console.error(helpFooter("problem")); | ||
| process.exitCode = 1; | ||
@@ -81,0 +83,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "mailwarden", | ||
| "version": "0.11.0", | ||
| "version": "0.12.0", | ||
| "description": "A reliable, native Gmail MCP server with full mailbox control — search, labels, archive, trash, attachments, and snooze.", | ||
@@ -5,0 +5,0 @@ "mcpName": "io.github.csitte/mailwarden", |
+19
-15
@@ -47,20 +47,24 @@ # mailwarden | ||
| Most Gmail MCP servers cover the same read/label/send surface. Two capabilities are still unique to `mailwarden` among Gmail MCP servers (mailbox-side snooze, search re-verification), and one deliberate omission is a security feature, not a gap. Google's own server is also narrower than it looks: draft-only, and no trash, filters or unsubscribe. | ||
| Most Gmail MCP servers cover the same read/label/send surface. Two capabilities are still unique to `mailwarden` (mailbox-side snooze, search re-verification), and one deliberate omission is a security feature, not a gap. Google's own server is also narrower than it looks: draft-only, and no trash, filters or unsubscribe. | ||
| | Capability | **mailwarden** | [taylorwilsdon](https://github.com/taylorwilsdon/google_workspace_mcp) | [Google official](https://developers.google.com/workspace/gmail/api/guides/configure-mcp-server) | mcpemails.com | | ||
| |---|:--:|:--:|:--:|:--:| | ||
| | **Mailbox-side snooze** — archive now, resurface in the inbox on a date/time or preset | ✅ | — | — | — | | ||
| | **Search-result re-verification** — drops the index's false positives against live labels | ✅ | — | — | — | | ||
| | **Sweep / bulk over a query** — one action across every matching thread | ✅ 1000/req, partial-success | — | — | ⚠️ bulk organize (no query re-verification) | | ||
| | **Unsubscribe** — per-sender overview + RFC 8058 one-click opt-out, no send scope needed | ✅ | — | — | — | | ||
| | **No send tools — by design** — a prompt-injected mail has no exfiltration path | ✅ no compose at all | ❌ sends | ⚠️ draft-only | ❌ sends | | ||
| | **Least-privilege tool tiers** — OAuth scopes derived from the tools you enable | ✅ | — | ⚠️ scope split | ⚠️ scoped keys | | ||
| | **Token encryption at rest** (optional) | ✅ AES-256-GCM | ✅ | n/a (hosted) | ✅ AES-256-GCM | | ||
| | **Runs fully local — no cloud copy of your mail** | ✅ | ✅ | ❌ hosted | ❌ SaaS | | ||
| | **Structured outputs** — every tool declares an `outputSchema` | ✅ | — | — | — | | ||
| <!-- comparison-table-verified: 2026-08-16 --> | ||
| <sub>Snapshot as of August 2026, from each project's public docs/repo; `—` = not offered / not documented. Send capability is listed as a security property: `mailwarden`'s lack of it is intentional (see [Security & privacy](#security--privacy)).</sub> | ||
| | Capability | **mailwarden** | [Google official](https://developers.google.com/workspace/gmail/api/guides/configure-mcp-server) | [taylorwilsdon](https://github.com/taylorwilsdon/google_workspace_mcp) | [a-bonus](https://github.com/a-bonus/google-docs-mcp) | [klodr](https://github.com/klodr/gmail-mcp) | | ||
| |---|:--:|:--:|:--:|:--:|:--:| | ||
| | **Mailbox-side snooze** — archive now, resurface in the inbox on a date/time or preset | ✅ | — | — | — | — | | ||
| | **Search-result re-verification** — drops the thread index's false positives against live labels | ✅ | — | — | — | — | | ||
| | **Sweep / bulk over a query** — one action across every thread a search returns | ✅ 1000/req, partial-success | — | ⚠️ batch by explicit ids | — | ⚠️ batch by explicit ids | | ||
| | **Unsubscribe** — per-sender overview + RFC 8058 one-click opt-out, no send scope needed | ✅ | — | ⚠️ header shown, no action | — | — | | ||
| | **Inbox triage overview** — one call that buckets what is waiting | ✅ sender/label/age + header signals | — | — | ✅ heuristic flags + stats | — | | ||
| | **Server-side filters** — rules that keep triaging with no assistant in the loop | ✅ never forwarding | — | ✅ | — | ✅ | | ||
| | **No send tools — by design** — a prompt-injected mail has no exfiltration path | ✅ no compose at all | ⚠️ draft-only | ❌ sends | ❌ sends | ❌ sends | | ||
| | **Least-privilege tool tiers** — OAuth scopes derived from the tools you enable | ✅ | ⚠️ scope split | — | — | ⚠️ inverse: tools gated by granted scopes | | ||
| | **Token encryption at rest** (optional) | ✅ AES-256-GCM | n/a (hosted) | ✅ | — | — | | ||
| | **No vendor cloud — you operate the server** | ✅ | ❌ Google-hosted | ✅ | ✅ | ✅ | | ||
| | **Structured outputs** — every tool declares an `outputSchema` | ✅ | — | — | — | — | | ||
| The moat isn't any single row — it's **snooze + live re-verification together**: an actual inbox-workflow layer that acts on the mailbox's *current* state, not a cached snapshot. Where competitors have caught up (bulk actions, at-rest encryption) it's noted honestly above. | ||
| <sub>Snapshot as of 16 August 2026, from each project's public docs and source; `—` = not offered / not documented. Columns are the servers a reader is most likely to reach for — Google's first-party one, plus the two largest community servers — and `klodr`, which comes closest to `mailwarden`'s own least-privilege design. Send capability is listed as a security property: `mailwarden`'s lack of it is intentional (see [Security & privacy](#security--privacy)). The last row asks who *operates* the server, not where it happens to run: self-hosting is common ground here, and every community server on this table offers some remote deployment except `klodr` (stdio only) — `mailwarden` via `--http`, `taylorwilsdon` over streamable HTTP with OAuth 2.1, `a-bonus` on Cloud Run. Running one of them on your own host is not a cloud copy; running it on the vendor's is.</sub> | ||
| The moat isn't any single row — it's **snooze + live re-verification together**: an actual inbox-workflow layer that acts on the mailbox's *current* state, not a cached snapshot. Where others have caught up it's noted honestly above: at-rest encryption (`taylorwilsdon`), scope-driven tool gating (`klodr`), a richer per-message triage heuristic (`a-bonus`), and bulk organize over a mailbox (the hosted mcpemails.com, which has no snooze either). What none of them do is act on a *query* and check the mailbox's answer before acting on it. | ||
| ### Why re-verification matters — a concrete case | ||
@@ -440,3 +444,3 @@ | ||
| Working and used in daily mailbox automation. Core Gmail tools + snooze implemented against `googleapis`, covered by a vitest suite (769 tests — `npm run coverage`). Current version: see the npm badge above, the [changelog](https://github.com/csitte/mailwarden/blob/main/CHANGELOG.md), or [releases](https://github.com/csitte/mailwarden/releases). PRs welcome. | ||
| Working and used in daily mailbox automation. Core Gmail tools + snooze implemented against `googleapis`, covered by a vitest suite (789 tests — `npm run coverage`). Current version: see the npm badge above, the [changelog](https://github.com/csitte/mailwarden/blob/main/CHANGELOG.md), or [releases](https://github.com/csitte/mailwarden/releases). PRs welcome. | ||
@@ -443,0 +447,0 @@ ## License |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
430937
0.88%4468
0.7%448
0.9%