@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 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 files it straight to Junk. 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, requires the `MailboxSettings.ReadWrite` scope — accounts authenticated before this tool existed need to re-run the setup wizard once to re-consent |
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"] } : { addLabelIds: ["SPAM"], removeLabelIds: ["INBOX"] };
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("delete: discard on arrival. moveToJunk: file straight to Junk/Spam without notifying.")
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 {