@marlinjai/email-mcp 1.4.3 → 1.4.4
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 +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +2 -2
- package/dist/setup/wizard.js +1 -1
- package/dist/setup/wizard.js.map +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -165,7 +165,7 @@ All batch tools accept a `sourceFolder` parameter for IMAP/iCloud and include a
|
|
|
165
165
|
|------|-------------|
|
|
166
166
|
| `email_report_spam` | Report an email as spam/junk, training the provider's own filter — the same signal the "Report Junk" button sends in Gmail/Outlook. This is different from `email_delete`, which removes the message but teaches the filter nothing. **Not** an abuse report to the provider's security team; it only trains this account's filter |
|
|
167
167
|
| `email_batch_report_spam` | Report multiple emails as spam/junk at once |
|
|
168
|
-
| `email_create_block_rule` | Create a standing rule that intercepts future mail matching a pattern (sender domain/address, subject, or arbitrary header content) and either deletes it or
|
|
168
|
+
| `email_create_block_rule` | Create a standing rule that intercepts future mail matching a pattern (sender domain/address, subject, or arbitrary header content) and either deletes it or moves it. Use `headerContains` (e.g. a Reply-To domain) to block a spam template family whose visible "From" domain rotates — matching the rotating domain directly stops working within days. **Not supported on iCloud/generic IMAP** (no standard server-side rule mechanism exists across IMAP servers). On Outlook, `moveToJunk` files straight to the Junk Email folder and requires the `MailboxSettings.ReadWrite` scope. On Gmail, `moveToJunk` skips the inbox (archives) rather than literally filing to Spam — Gmail's filter API rejects the SPAM label on standing rules (only Gmail's own classifier can apply it; `email_report_spam` still can, since that's a direct per-message action, not a filter) — and requires the `gmail.settings.basic` scope. Accounts authenticated before these scopes existed need to re-run the setup wizard once to re-consent |
|
|
169
169
|
| `email_list_block_rules` | List the standing block rules on an account, for auditing or before deleting one |
|
|
170
170
|
| `email_delete_block_rule` | Delete a standing block rule — use to undo a rule that turned out too broad |
|
|
171
171
|
|
package/dist/index.js
CHANGED
|
@@ -7492,7 +7492,7 @@ var init_adapter = __esm({
|
|
|
7492
7492
|
criteria.query = rule.value;
|
|
7493
7493
|
break;
|
|
7494
7494
|
}
|
|
7495
|
-
const action = rule.action === "delete" ? { addLabelIds: ["TRASH"] } : {
|
|
7495
|
+
const action = rule.action === "delete" ? { addLabelIds: ["TRASH"] } : { removeLabelIds: ["INBOX"] };
|
|
7496
7496
|
const res = await gmail.users.settings.filters.create({
|
|
7497
7497
|
userId: "me",
|
|
7498
7498
|
requestBody: { criteria, action }
|
|
@@ -33766,7 +33766,9 @@ function registerModerationTools(server, accountManager) {
|
|
|
33766
33766
|
"senderDomain/senderAddress: match the From address. subjectContains: match the subject. headerContains: match any header's raw content \u2014 the right choice for a stable element (e.g. a Reply-To domain) when the From domain rotates."
|
|
33767
33767
|
),
|
|
33768
33768
|
value: external_exports3.string().describe("The domain, address, or text to match"),
|
|
33769
|
-
action: external_exports3.enum(BLOCK_RULE_ACTIONS).describe(
|
|
33769
|
+
action: external_exports3.enum(BLOCK_RULE_ACTIONS).describe(
|
|
33770
|
+
"delete: discard on arrival. moveToJunk: on Outlook, files straight to the Junk Email folder; on Gmail, skips the inbox (archives) \u2014 Gmail's filter API cannot proactively apply the SPAM label, only its own classifier can, so this is the closest a standing rule can actually do there."
|
|
33771
|
+
)
|
|
33770
33772
|
},
|
|
33771
33773
|
async (args) => {
|
|
33772
33774
|
try {
|