Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ai.spideriq/mail

NPM · @SPIDERIQ/MCP-MAIL

SpiderIQ Mail: SpiderMail mailboxes, messages, threads, send, compose for AI agents

Available components

0 this week 73 Trust /100

Last scanned (22 hours ago)

Scores higher than 46% of npm servers

Category Communication

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 31 of 98 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
  • Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 9 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability79
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 4522 tokens (~77/item across 58 items; 58 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "logout" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 58 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1
    • Stability: 0.97 → pass security
  • 3 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 28 Oct 26 +1
    • Stability: 0.97 → pass security
  • 27 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 21 Oct 26 0
    • Stability: 0.97 → pass security
  • 20 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +2
    • Stability: 0.83 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/@spideriq/mcp-mail@1.4.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 98 packages
Packages resolved 98
Stale 30
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 58 exposed · ~4,522 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
bulk_update_messages ~89

Apply one action to many messages (≤100 ids): mark_read | mark_unread | archive | delete | add_label. delete is irreversible; add_label needs label.

NameTypeReqDescription
actionstringyesBulk action
labelstring–Label name (required for add_label)
message_idsarrayyesMessage ids (1-100)
workspacestring–Workspace name

No output schema declared.

No examples provided.

check_access_status ~152

Check the status of a PAT access request. Returns 'pending', 'active', 'denied', 'expired', or 'revoked' (matches the backend PATRequestStatus enum). Once status==='active', the token is saved to ~/.spideriq/credentials.json automatically. Multi-brand approvals save one entry per workspace under client_id, with the first aliased as 'default' so existing tools (upload_local_file, etc.) keep working without --workspace.

NameTypeReqDescription
api_urlstring–API URL (default: https://spideriq.ai)
poll_tokenstringyesPoll token from request_access
request_idstringyesRequest ID from request_access

No output schema declared.

No examples provided.

compose_assist ~135

AI assistance for composing an email — drafts or transforms copy. Does NOT send. action=write generates a new draft from context/subject; rewrite/expand/shorten/formal/casual/fix_grammar transform the text in "context".

NameTypeReqDescription
actionstringyesAI action (default write)
contextstring–The brief (for write) or the text to transform
subjectstring–Email subject, for context
thread_contextstring–Previous thread messages for context
tonestring–Desired tone (default professional)
workspacestring–Workspace name

No output schema declared.

No examples provided.

create_label ~65

Define a new label (name ≤50 chars + hex colour #RRGGBB, default #6B7280).

NameTypeReqDescription
colorstring–Hex colour #RRGGBB
namestringyesLabel name
workspacestring–Workspace name

No output schema declared.

No examples provided.

create_mailbox ~205

Connect a new email mailbox by its IMAP + SMTP credentials (passwords encrypted at rest). Needs both imap_* and smtp_*; use an app-specific password where the provider requires one (465=SSL, 587=STARTTLS).

NameTypeReqDescription
display_namestring–Sender display name
email_addressstringyesMailbox email address
imap_hoststringyesIMAP server hostname
imap_passwordstringyesIMAP password / app password
imap_portnumber–IMAP port (default 993)
imap_usernamestringyesIMAP login username
providerstringyesEmail provider
smtp_hoststringyesSMTP server hostname
smtp_passwordstringyesSMTP password / app password
smtp_portnumber–SMTP port (default 587)
smtp_usernamestringyesSMTP login username
workspacestring–Workspace name

No output schema declared.

No examples provided.

create_view ~119

Save a named inbox view from a filter_config ({mailboxes[], unread_only, starred_only, has_attachments}). is_shared exposes it team-wide.

NameTypeReqDescription
colorstring–Display colour
filter_configobject–Filter config
is_sharedboolean–Share with the whole client team
namestringyesView name (≤200 chars)
sort_bystring–Sort field (default date)
sort_directionstring–Sort direction (default DESC)
workspacestring–Workspace name

No output schema declared.

No examples provided.

delete_label ~32

Delete a label definition.

NameTypeReqDescription
label_idstringyesLabel id
workspacestring–Workspace name

No output schema declared.

No examples provided.

delete_mailbox ~39

Delete a mailbox and all its data.

NameTypeReqDescription
emailstringyesMailbox email address to delete
workspacestring–Workspace name

No output schema declared.

No examples provided.

delete_outreach_connection ~70

Remove an outreach sidecar (cascades senders/campaigns/health; leaves the api_integrations credential). BRAND-ADMIN only.

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
workspacestring–Workspace name

No output schema declared.

No examples provided.

delete_view ~36

Delete a saved view (creator-only).

NameTypeReqDescription
view_idstringyesSaved view id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_api_info ~33

Get information about the SpiderIQ API and your connection.

NameTypeReqDescription
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

get_auth_status ~33

Check if you are authenticated and get current user info.

NameTypeReqDescription
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

get_inbox ~96

Get inbox messages with optional filtering by mailbox, folder, and read status.

NameTypeReqDescription
folderstring–Folder name (default: inbox)
limitnumber–Max results (default: 20)
mailboxstring–Filter by mailbox email
offsetnumber–Offset for pagination
unread_onlyboolean–Show only unread (default: false)
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_mailbox_stats ~42

Per-mailbox unread/starred/total counts plus client-wide totals.

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_message ~72

Read one message by numeric id (marks it read). Includes attachment previews inline by default.

NameTypeReqDescription
formatstring–Response format
include_attachmentsboolean–Include attachment summaries + previews (default true)
message_idstringyesNumeric message id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_outreach_connection ~63

Get one outreach connection by id (provider, workspace_id, warmup_tag, lemwarm_domains, active).

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_outreach_health_overview ~56

Latest health snapshot per sender for the whole brand — the deliverability/warmup grid for all sending accounts at once.

NameTypeReqDescription
brand_idstringyesNumeric brand id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_outreach_push_status ~96

Quota usage (active_leads / max_active_leads / available) + per-campaign push counts (pushed/skipped/removed) for a connection. Use to see how many leads are in each SmartLead campaign and how much account headroom is left.

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_queue_stats ~48

Get statistics about job queues (pending jobs, consumers, etc.).

NameTypeReqDescription
formatstring–Response format (default: json)
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

get_sender_health ~78

One sender's latest deliverability/warmup snapshot — health_score, sent/inbox/spam/bounce/reply (24h+7d), warmup_enabled, polled_at.

NameTypeReqDescription
brand_idstringyesNumeric brand id
sender_idstringyesOutreach sender id
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_session ~78

One-call mailbox bootstrap: mailbox info + unread count + recent messages. Best first call for a mailbox.

NameTypeReqDescription
emailstringyesMailbox email address
formatstring–Response format
include_recentnumber–Recent messages to include (0-50, default 10)
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_thread ~36

Get a conversation thread with all related messages.

NameTypeReqDescription
thread_idstringyesThread ID
workspacestring–Workspace name

No output schema declared.

No examples provided.

get_view ~51

Get one saved view by id (its filter_config + display config).

NameTypeReqDescription
formatstring–Response format
view_idstringyesSaved view id
workspacestring–Workspace name

No output schema declared.

No examples provided.

health_check ~51

Check if the SpiderIQ API is healthy and responsive.

NameTypeReqDescription
api_urlstring–API URL (default: https://spideriq.ai)
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

list_folders ~67

List a mailbox's folders (INBOX/Sent/Drafts/Trash) with per-folder totals + unread counts. email is required.

NameTypeReqDescription
emailstringyesMailbox email address (required)
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_labels ~49

List label DEFINITIONS (name + colour). Applying a label to a message is update_message / bulk_update_messages.

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_mailboxes ~42

List your SpiderMail mailboxes.

NameTypeReqDescription
formatstring–Response format (default: json)
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

list_messages ~100

List messages in a mailbox.

NameTypeReqDescription
formatstring–Response format (default: json)
mailbox_idstringyesMailbox ID or email address
pagenumber–Page number (default: 1)
per_pagenumber–Results per page (default: 20)
unread_onlyboolean–Show only unread messages (default: false)
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

list_outreach_campaigns ~82

List the SmartLead campaigns this connection can see (scoped by its agency client_id) — use to pick a target before pushing leads. Returns remote_campaign_id, name, status, lead_count.

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_outreach_connections ~62

List a brand's outreach sidecars (Smartlead/lemlist/Instantly): provider, workspace_id, warmup_tag, lemwarm_domains, active.

NameTypeReqDescription
brand_idstringyesNumeric brand id
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_outreach_senders ~55

List every sending account across a brand's outreach connections (email, provider, warmup_enabled, status, mailbox_id).

NameTypeReqDescription
brand_idstringyesNumeric brand id
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_quarantine ~48

List messages auto-quarantined by the inbound prompt-injection scanner (kept out of the inbox).

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_security_events ~61

List mail security events — inbound prompt-injection detections, outbound credential blocks, quarantines, releases.

NameTypeReqDescription
formatstring–Response format
limitnumber–Max events (default 50)
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_snoozed ~44

List messages currently snoozed (hidden until their unsnooze time).

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_views ~44

List saved inbox views (named filter bundles). Apply one via get_inbox view_id.

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

list_workspaces ~19

List all configured workspaces and their authentication status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

logout ~25

Remove stored authentication credentials.

NameTypeReqDescription
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

mail_create_template ~146

Create a Jinja2 email template. template_type: signature | header | layout (has a {{ body }} slot) | full. Variables auto-detect.

NameTypeReqDescription
descriptionstring–Human description
html_sourcestringyesJinja2 HTML source
is_defaultboolean–Set as default for this type
namestringyesUnique name ([a-z0-9-_], lowercased)
template_typestring–Template type (default full)
text_sourcestring–Optional plain-text variant
variablesarray–Variable names (auto-detected if omitted)
workspacestring–Workspace name

No output schema declared.

No examples provided.

mail_delete_template ~36

Delete an email template by id.

NameTypeReqDescription
template_idstringyesInteger template id
workspacestring–Workspace name

No output schema declared.

No examples provided.

mail_get_template ~50

Get one email template's source + detected variables by id.

NameTypeReqDescription
formatstring–Response format
template_idstringyesInteger template id
workspacestring–Workspace name

No output schema declared.

No examples provided.

mail_list_templates ~39

List email templates (signature / header / layout / full).

NameTypeReqDescription
formatstring–Response format
workspacestring–Workspace name

No output schema declared.

No examples provided.

mail_preview_template ~64

Render a template with sample variables and return HTML WITHOUT sending. Use before a real send. Missing variables render empty.

NameTypeReqDescription
template_idstringyesInteger template id
variablesobject–Variable values for the render
workspacestring–Workspace name

No output schema declared.

No examples provided.

mail_update_template ~127

Update an email template (any subset of fields).

NameTypeReqDescription
descriptionstring–New description
html_sourcestring–New Jinja2 source
is_activeboolean–Enable/disable
is_defaultboolean–Set as default for its type
namestring–New name
template_idstringyesInteger template id
template_typestring–Template type
text_sourcestring–New plain-text variant
variablesarray–New variable list
workspacestring–Workspace name

No output schema declared.

No examples provided.

push_outreach_leads ~188

Push a SpiderIQ campaign's verified leads into a chosen SmartLead campaign. Idempotent (won't re-add). Returns added/skipped counts + account leads used. 409 if the per-account lead cap would be exceeded (pass `limit` to trim instead). BRAND-ADMIN only.

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
limitnumber–Optional: add at most N new leads (also trims to the account cap instead of erroring)
remote_campaign_idstringyesTarget SmartLead campaign id (from list_outreach_campaigns)
smartlead_campaign_namestring–Optional target campaign name (for the confirmation notification)
spideriq_campaign_idstringyesSource SpiderIQ campaign id (its verified leads are pushed)
workspacestring–Workspace name

No output schema declared.

No examples provided.

read_message ~64

Read a specific email message.

NameTypeReqDescription
formatstring–Response format (default: json)
mailbox_idstringyesMailbox ID or email address
message_idstringyesMessage ID
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

release_message ~50

Release a quarantined message back into the inbox (only after a human judges it safe).

NameTypeReqDescription
message_idstringyesNumeric id of the quarantined message
workspacestring–Workspace name

No output schema declared.

No examples provided.

remove_outreach_leads ~136

Remove tracked leads from a SmartLead campaign (frees account lead credits). Scope by spideriq_campaign_id and/or an explicit email list; with neither, removes ALL leads SpiderIQ pushed to that campaign. BRAND-ADMIN only.

NameTypeReqDescription
brand_idstringyesNumeric brand id
connection_idstringyesOutreach connection id
emailsarray–Optional: only remove these specific lead emails
remote_campaign_idstringyesTarget SmartLead campaign id
spideriq_campaign_idstring–Optional: only remove leads from this source campaign
workspacestring–Workspace name

No output schema declared.

No examples provided.

request_access ~120

Request access to SpiderIQ API. This sends an approval email to the admin. After calling this, use check_access_status to poll for approval. Once approved, the token is automatically saved for subsequent API calls.

NameTypeReqDescription
api_urlstring–API URL (default: https://spideriq.ai)
emailstringyesAdmin email address (the person who will approve access)
projectstring–Project name (shown in approval email)
scopesarray–Requested permission scopes (default: jobs:submit, jobs:read)

No output schema declared.

No examples provided.

search_mail ~152

Full-text search one mailbox (subject + body) + filters. `email` (the mailbox to search) is REQUIRED — there is no all-mailbox search.

NameTypeReqDescription
beforestring–Only messages before this ISO-8601 date
emailstringyesMailbox email address to search (required)
fromstring–Filter by sender address (substring)
limitnumber–Max results (default: 20)
querystringyesFull-text query over subject + body
sincestring–Only messages on/after this ISO-8601 date
subjectstring–Filter by subject (substring)
workspacestring–Workspace name

No output schema declared.

No examples provided.

send_email ~210

Send, reply to, or forward an email through a registered mailbox. Actions: send (new email), reply (respond to existing), forward (pass along). Emails are sent via the SpiderMail worker queue.

NameTypeReqDescription
actionstring–Email action (default: send)
body_htmlstring–HTML email body (optional)
body_textstringyesPlain text email body (required)
ccarray–CC recipients
from_emailstringyesSender email (must be a registered mailbox)
reply_allboolean–Reply to all recipients (only for reply action)
reply_to_message_idnumber–Message ID to reply to (required for reply/forward)
subjectstring–Subject line (required for send)
testboolean–Route to test queue (default: false)
toarray–Recipient email addresses (required for send/forward)
workspacestring–Workspace name (default: default)

No output schema declared.

No examples provided.

Install

How do I install the ai.spideriq/mail MCP server?

ai.spideriq/mail runs locally as an npm package, launched with npx -y @spideriq/mcp-mail. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @spideriq/mcp-mail

# add to Claude Code
claude mcp add ai-spideriq-mail -- npx -y @spideriq/mcp-mail
Common questions

What is the ai.spideriq/mail MCP server?

ai.spideriq/mail is an MCP server listed in the public MCP registry as ai.spideriq/mail. SpiderIQ Mail: SpiderMail mailboxes, messages, threads, send, compose for AI agents. This page covers its npm package (@spideriq/mcp-mail).

Is the ai.spideriq/mail MCP server safe to use?

ai.spideriq/mail scores 73 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ai.spideriq/mail MCP server expose?

ai.spideriq/mail exposes 58 tools: request_access, check_access_status, get_auth_status, logout, list_workspaces, and 53 more. Their descriptions and schemas cost roughly 4,522 tokens of context every time the server is loaded.

Is the ai.spideriq/mail MCP server still maintained?

ai.spideriq/mail is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the ai.spideriq/mail MCP server under?

ai.spideriq/mail declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.