IMAP MCP Pro
MCPB · IMAP-MCP-PRO-2.39.0.MCPB
Production IMAP & SMTP for Claude: multi-account email search, triage, send, and spam checks.
Available components
Last scanned (18 hours ago)
Scores higher than 93% of MCPB servers
Category Communication
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 Security24
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs were checked across the 178 of 178 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- 47 of 178 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (PolyForm-Noncommercial-1.0.0) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 14 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 14624 tokens (~111/item across 131 items; 131 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- 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 Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 13 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 131 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
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.
- 3 Nov 26 +1
- Stability: 0.97 → pass security
- 2 Nov 26 −1
- Stability: pass → 0.97 functional
- 27 Oct 26 +1
- Stability: 0.97 → pass security
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +2
- MCP protocol: fail → pass ▲ functional
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
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 mcpb/https://github.com/Temple-of-Epiphany/imap-mcp-pro/releases/download/v2.39.0/imap-mcp-pro-2.39.0.mcpb
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Dependencies 178 packages
| Packages resolved | 178 |
|---|---|
| Stale | 47 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
imap_about About ~27
Get comprehensive information about the IMAP MCP Pro service including version, features, and capabilities
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
imap_add_account Add Account ~206
Add a new IMAP account with optional SMTP configuration for current user (from MCP_USER_ID environment variable)
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | yes | IMAP server hostname |
| name | string | yes | Friendly name for the account |
| password | string | yes | Password for authentication |
| port | number | – | IMAP server port (default: 993) |
| smtpHost | string | – | SMTP server hostname (optional, for sending emails) |
| smtpPassword | string | – | SMTP password (defaults to IMAP password if not provided) |
| smtpPort | number | – | SMTP server port (default: 587 for STARTTLS, 465 for SSL) |
| smtpSecure | boolean | – | Use SSL/TLS for SMTP (default: false, uses STARTTLS) |
| smtpUser | string | – | SMTP username (defaults to IMAP user if not provided) |
| tls | boolean | – | Use TLS/SSL (default: true) |
| user | string | yes | Username for authentication |
No output schema declared.
No examples provided.
imap_add_account_auto Add Account Auto ~154
Add a new IMAP account by auto-detecting provider from email address (e.g., @gmail.com → Gmail preset)
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address (provider will be auto-detected from domain) | |
| imapUsername | string | – | Override the IMAP login username. Defaults to the email address. Set this when the provider requires a non-email login form (e.g., "DOMAIN\\user" on Exchange). When set, the same value is also used a… |
| name | string | yes | Friendly name for the account |
| password | string | yes | Password or app-specific password |
| smtpEnabled | boolean | – | Enable SMTP for sending emails (default: false) |
No output schema declared.
No examples provided.
imap_add_account_with_provider Add Account With Provider ~201
Add a new IMAP account using a provider preset (auto-fills IMAP/SMTP settings). Available providers are listed by imap_list_providers.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address | |
| imapUsername | string | – | Override the IMAP login username. Defaults to the email address. Set this when the provider requires a non-email login form (e.g., "DOMAIN\\user" on Exchange, a short username on certain hosting setu… |
| name | string | yes | Friendly name for the account |
| password | string | yes | Password or app-specific password (see provider notes) |
| providerId | string | yes | Provider ID (e.g., "gmail", "outlook", "yahoo"). Use imap_list_providers to see all options. |
| smtpEnabled | boolean | – | Enable SMTP for sending emails (default: false) |
No output schema declared.
No examples provided.
imap_add_keyword Add Keyword ~102
Add a custom keyword to emails. RFC 9051 recommended keywords: $Forwarded, $MDNSent, $Junk, $NotJunk, $Phishing
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folder | string | – | Folder name |
| keyword | string | yes | Keyword to add (e.g., $Forwarded, $Junk, or custom) |
| uids | array | yes | Array of email UIDs |
No output schema declared.
No examples provided.
imap_add_list_entry Add List Entry ~118
Add an entry to a per-user allow or deny list. Value may be an email address or a bare/`@`-prefixed domain (e.g. "a@x.com" or "x.com"). Allow entries protect a sender; deny entries flag one. Normalized + deduped.
| Name | Type | Req | Description |
|---|---|---|---|
| listType | string | yes | allow or deny |
| note | string | – | Optional note |
| userId | string | yes | User ID (UUID or username) |
| value | string | yes | Email address or domain |
No output schema declared.
No examples provided.
imap_add_usercheck_key Add UserCheck Key ~113
Add a UserCheck API key for a user (admin or own user only)
| Name | Type | Req | Description |
|---|---|---|---|
| apiKey | string | yes | UserCheck API key from https://usercheck.com/register?platform=api |
| dailyLimit | number | – | Daily API call limit (default: 1000) |
| notes | string | – | Optional notes about this API key |
| userId | string | yes | User ID — either canonical user_id UUID or username from the users table. Call imap_list_users for valid values. |
No output schema declared.
No examples provided.
imap_analyze_folder_confidence Analyze Folder Confidence ~69
Analyze all emails in a folder and provide confidence statistics. Useful for identifying patterns of suspicious emails.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folder | string | – | Folder name |
| limit | number | – | Maximum number of emails to analyze (default: 100) |
No output schema declared.
No examples provided.
imap_append_message Append Message ~115
Append a raw RFC822 message to a mailbox (useful for importing emails, saving drafts, or copying messages)
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| flags | array | – | Initial flags for the message (e.g., ["\Seen", "\Flagged"]) |
| internalDate | string | – | Internal date for the message (ISO 8601 format) |
| mailbox | string | – | Mailbox name to append to |
| messageContent | string | yes | Raw RFC822 message content (headers + body) |
No output schema declared.
No examples provided.
imap_apply_categories Apply Categories ~124
Apply Quick Categories to emails in a folder. Scans emails and moves them to target folders based on keyword matches. Default limit is 100 to prevent token overflow.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| dryRun | boolean | – | Dry run mode - show matches without moving emails |
| folder | string | – | Folder to scan (default: INBOX) |
| limit | number | – | Maximum number of emails to process (default: 100, max: 200) |
| unreadOnly | boolean | – | Process only unread emails (Issue #82) |
No output schema declared.
No examples provided.
imap_attachment_stage_append Attachment Stage Append ~118
Append one chunk to a staging session. Chunks may arrive out-of-order; duplicate chunkIndex is idempotent. Set isFinal=true on the last chunk to auto-finalize and skip an explicit imap_attachment_stage_finalize call.
| Name | Type | Req | Description |
|---|---|---|---|
| chunkData | string | yes | Base64-encoded chunk bytes. |
| chunkIndex | integer | yes | 0-indexed position in the byte stream. |
| isFinal | boolean | – | If true, finalize after this chunk. |
| stagingId | string | yes | From imap_attachment_stage_init |
No output schema declared.
No examples provided.
imap_attachment_stage_cancel Attachment Stage Cancel ~36
Discard a staging session and reclaim its disk space.
| Name | Type | Req | Description |
|---|---|---|---|
| stagingId | string | yes | From imap_attachment_stage_init |
No output schema declared.
No examples provided.
imap_attachment_stage_finalize Attachment Stage Finalize ~65
Concatenate the uploaded chunks in order, compute SHA-256, mark the session ready for use in imap_send_email via stagedAttachmentIds. Required only if no append call set isFinal=true.
| Name | Type | Req | Description |
|---|---|---|---|
| stagingId | string | yes | From imap_attachment_stage_init |
No output schema declared.
No examples provided.
imap_attachment_stage_init Attachment Stage Init ~229
Begin a chunked attachment upload. Use only when the file exceeds the ~10 MB inline ceiling of imap_send_email's `attachments` form, or when streaming from a source that cannot fit a single MCP request. For small files in a sandbox (Claude Desktop Workspace, Claude.ai /mnt/user-data/outputs/), prefer the inline `attachments` form on imap_send_email — it is a single tool call, no chunking, no allow-list. Returns a stagingId, server-recommended chunkSizeBytes (default 256 KiB), and an expiresAt timestamp (default 1 hour). Subsequent chunks are sent via imap_attachment_stage_append. Per-user disk quota is enforced — the call fails if the session's expectedSize would exceed it.
| Name | Type | Req | Description |
|---|---|---|---|
| contentType | string | – | MIME type. Defaults to application/octet-stream. |
| expectedSize | integer | yes | Total size the client intends to upload, in bytes. |
| filename | string | yes | Original filename (used as the attachment basename). |
| ttlSeconds | integer | – | Override the default 1-hour TTL. |
No output schema declared.
No examples provided.
imap_bulk_check_domains Bulk Check Domains ~32
Check multiple domains against DNS firewall in bulk
| Name | Type | Req | Description |
|---|---|---|---|
| domains | array | yes | Array of domains to check |
No output schema declared.
No examples provided.
imap_bulk_copy_emails Bulk Copy Emails ~67
Bulk copy multiple emails to another folder
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| sourceFolder | string | – | Source folder name |
| targetFolder | string | yes | Target folder name |
| uids | array | yes | Array of email UIDs to copy |
No output schema declared.
No examples provided.
imap_bulk_delete_emails Bulk Delete Emails ~92
Bulk delete multiple emails by UIDs. Automatically uses chunked processing for >50 UIDs to prevent timeouts.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| expunge | boolean | – | Permanently expunge deleted emails (default: false, just marks as deleted) |
| folder | string | – | Folder name |
| uids | array | yes | Array of email UIDs to delete |
No output schema declared.
No examples provided.
imap_bulk_delete_emails_chunked Bulk Delete Emails Chunked ~122
Bulk delete emails with chunking for large operations (1000+ messages). Processes in chunks to avoid timeouts and circuit breaker trips. Returns progress summary.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| chunkSize | number | – | Number of emails to process per chunk (default: 100) |
| expunge | boolean | – | Permanently expunge deleted emails (default: false, just marks as deleted) |
| folder | string | – | Folder name |
| uids | array | yes | Array of email UIDs to delete |
No output schema declared.
No examples provided.
imap_bulk_get_emails Bulk Get Emails ~237
Bulk fetch multiple emails at once. Automatically uses chunked processing for >50 UIDs. Pass responseMode='handle' or 'file' to avoid token-budget truncation on large sets.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| fields | string | – | Fields to fetch: headers (metadata only), body (with text), or full (everything) |
| folder | string | – | Folder name |
| responseMode | string | – | How the result should be returned. 'auto' (default): inline if small (<=20), handle for larger, file for huge (>500). 'inline': force full payload (only safe for small results). 'handle': force resul… |
| storageType | string | – | Storage lifetime when a handle is created. 'temp' (default): expires after the configured TTL (~2h). 'persistent': retained until you explicitly delete via imap_results action='delete'. Choose 'persi… |
| uids | array | yes | Array of email UIDs to fetch |
No output schema declared.
No examples provided.
imap_bulk_get_emails_chunked Bulk Get Emails Chunked ~252
Bulk fetch emails with chunking for large operations (1000+ messages). Defaults responseMode='handle' so large fetches don't blow the token budget.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| chunkSize | number | – | Number of emails to process per chunk (default: 100) |
| fields | string | – | Fields to fetch: headers (metadata only), body (with text), or full (everything) |
| folder | string | – | Folder name |
| responseMode | string | – | How the result should be returned. 'auto' (default): inline if small (<=20), handle for larger, file for huge (>500). 'inline': force full payload (only safe for small results). 'handle': force resul… |
| storageType | string | – | Storage lifetime when a handle is created. 'temp' (default): expires after the configured TTL (~2h). 'persistent': retained until you explicitly delete via imap_results action='delete'. Choose 'persi… |
| uids | array | yes | Array of email UIDs to fetch |
No output schema declared.
No examples provided.
imap_bulk_job_cancel Bulk Job Cancel ~61
Request cancellation of a running/queued bulk job. The worker stops at its next checkpoint (no half-applied state); already-processed items are kept so the job can be resumed later.
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | Job ID to cancel |
No output schema declared.
No examples provided.
imap_bulk_job_resume Bulk Job Resume ~97
Resume a paused, failed, or cancelled bulk job from where it stopped — only unprocessed items are run (already-checked senders are skipped). Re-derives the work from the job's saved params. Returns the full summary if it finishes within ~30s, else the jobId to keep polling.
| Name | Type | Req | Description |
|---|---|---|---|
| budgetMs | number | – | – |
| jobId | string | yes | Job ID from a *_start tool |
No output schema declared.
No examples provided.
imap_bulk_job_status Bulk Job Status ~50
Get one bulk job's detail: status, done/total progress, error count, ETA, and last error.
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | Job ID returned by a *_start tool |
No output schema declared.
No examples provided.
imap_bulk_jobs Bulk Jobs ~93
List persistent bulk-operation jobs (long-running scans) with status and progress. Filter by status; scope to a user. Per-job detail is available from imap_bulk_job_status.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max jobs (default 50, cap 500) |
| status | string | – | Filter by status |
| userId | string | – | Scope to this user (UUID or username); omit for all |
No output schema declared.
No examples provided.
imap_bulk_mark_emails Bulk Mark Emails ~82
Bulk mark multiple emails with standard IMAP flags. Automatically uses chunked processing for >50 UIDs to prevent timeouts.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folder | string | – | Folder name |
| operation | string | yes | Mark operation to perform |
| uids | array | yes | Array of email UIDs to mark |
No output schema declared.
No examples provided.
imap_bulk_mark_emails_chunked Bulk Mark Emails Chunked ~110
Bulk mark emails with chunking for large operations (1000+ messages). Processes in chunks to avoid timeouts and circuit breaker trips. Returns progress summary.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| chunkSize | number | – | Number of emails to process per chunk (default: 100) |
| folder | string | – | Folder name |
| operation | string | yes | Mark operation to perform |
| uids | array | yes | Array of email UIDs to mark |
No output schema declared.
No examples provided.
imap_bulk_move_emails Bulk Move Emails ~71
Bulk move multiple emails to another folder (copy + delete)
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| sourceFolder | string | – | Source folder name |
| targetFolder | string | yes | Target folder name |
| uids | array | yes | Array of email UIDs to move |
No output schema declared.
No examples provided.
imap_bulk_scan_messages Bulk Scan Messages ~101
Scan multiple messages for malicious domains and optionally auto-mark as spam
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| autoMarkSpam | boolean | – | Move messages with malicious domains to the spam folder (default: false) |
| folderName | string | yes | Folder name |
| spamFolder | string | – | Destination folder when autoMarkSpam is true (default: Junk) |
| uids | array | yes | Array of message UIDs to scan |
No output schema declared.
No examples provided.
imap_bulk_score_emails Bulk Score Emails ~105
Analyze multiple emails for spoofing detection. Efficiently processes 100+ emails in < 5 seconds using headers-only analysis. Returns confidence scores and flags for all emails.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folder | string | – | Folder name |
| minScore | number | – | Optional: Only return emails with score <= this value (useful for filtering suspicious emails) |
| uids | array | yes | Array of email UIDs to analyze |
No output schema declared.
No examples provided.
imap_check_address Check Address ~88
Check a sender (a plain address, or a full From header with display name) against the user's allow/deny lists. Returns the verdict (allow / deny / null) and what matched. Email matches beat domain matches; allow beats deny at each level.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | Sender address or From header |
| userId | string | yes | User ID (UUID or username) |
No output schema declared.
No examples provided.
imap_check_domain Check Domain ~118
Check a domain against UserCheck for spam/validity
| Name | Type | Req | Description |
|---|---|---|---|
| allowPublicDomains | boolean | – | Allow public email domains |
| checkBlocklisted | boolean | – | Flag blocklisted domains |
| checkDisposable | boolean | – | Flag disposable/temporary domains |
| checkMx | boolean | – | Check MX records |
| domain | string | yes | Domain to validate (e.g., example.com) |
| userId | string | yes | User ID — either canonical user_id UUID or username from the users table (must have active UserCheck API key). |
No output schema declared.
No examples provided.
imap_check_domain_dns_firewall Check Domain DNS Firewall ~44
Check if a domain is blocked by DNS firewall (Quad9 threat intelligence)
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to check (e.g., example.com) |
No output schema declared.
No examples provided.
imap_check_email_spam Check Email Spam ~141
Check a single email address against UserCheck for spam
| Name | Type | Req | Description |
|---|---|---|---|
| allowPublicDomains | boolean | – | Allow public email domains |
| checkBlocklisted | boolean | – | Flag blocklisted email addresses |
| checkDisposable | boolean | – | Flag disposable email addresses |
| checkMx | boolean | – | Check MX records |
| checkRoleAccount | boolean | – | Flag role-based email accounts |
| string | yes | Email address to check | |
| useCache | boolean | – | Use cached results if available |
| userId | string | yes | User ID — either canonical user_id UUID or username from the users table (must have active UserCheck API key). |
No output schema declared.
No examples provided.
imap_check_emails_spam_bulk Check Emails Spam Bulk ~149
Check multiple email addresses against UserCheck for spam (max 1000)
| Name | Type | Req | Description |
|---|---|---|---|
| allowPublicDomains | boolean | – | Allow public email domains |
| checkBlocklisted | boolean | – | Flag blocklisted email addresses |
| checkDisposable | boolean | – | Flag disposable email addresses |
| checkMx | boolean | – | Check MX records |
| checkRoleAccount | boolean | – | Flag role-based email accounts |
| emails | array | yes | Array of email addresses to check |
| useCache | boolean | – | Use cached results if available |
| userId | string | yes | User ID — either canonical user_id UUID or username from the users table (must have active UserCheck API key). |
No output schema declared.
No examples provided.
imap_check_emails_spam_bulk_start Check Emails Spam Bulk Start ~180
Start a resumable bulk spam check of a list of email addresses (UserCheck) as a tracked job. Dedupes to unique addresses, one check each (cache-first). Returns the full summary if done within ~30s, else a jobId to poll/resume/cancel.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | – | Optional account ID for grouping the job |
| allowPublicDomains | boolean | – | – |
| budgetMs | number | – | – |
| checkBlocklisted | boolean | – | – |
| checkDisposable | boolean | – | – |
| checkMx | boolean | – | – |
| checkRoleAccount | boolean | – | – |
| emails | array | yes | Email addresses to check |
| useCache | boolean | – | – |
| userId | string | yes | User ID (UUID or username) with an active UserCheck API key |
No output schema declared.
No examples provided.
imap_check_folder_spam Check Folder Spam ~166
Check all emails in a folder against UserCheck and return spam messages
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | IMAP account ID |
| allowPublicDomains | boolean | – | Allow public email domains |
| checkBlocklisted | boolean | – | Flag blocklisted email addresses |
| checkDisposable | boolean | – | Flag disposable email addresses |
| checkMx | boolean | – | Check MX records |
| checkRoleAccount | boolean | – | Flag role-based email accounts |
| folder | string | – | Folder to check |
| limit | number | – | Maximum emails to check |
| useCache | boolean | – | Use cached results if available |
| userId | string | yes | User ID — either canonical user_id UUID or username from the users table (must have active UserCheck API key). |
No output schema declared.
No examples provided.
imap_check_skill_updates Check Skill Updates ~128
Check public GitHub for newer skill versions without changing anything on disk. Compares each skill in the bundled manifest against the latest version.json on GitHub. Returns a per-skill status with installed/bundled/available versions and a hasUpdate flag. Skills are instructions to the LLM — review the diff before applying via imap_update_skills.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | – | GitHub ref to check against (branch, tag, or commit SHA). Default: "main". |
| timeoutMs | integer | – | Network timeout per file in milliseconds. Default: 10000. |
No output schema declared.
No examples provided.
imap_clear_list Clear List ~47
Remove ALL entries from a user's allow or deny list. Irreversible.
| Name | Type | Req | Description |
|---|---|---|---|
| listType | string | yes | – |
| userId | string | yes | User ID (UUID or username) |
No output schema declared.
No examples provided.
imap_connect Connect ~29
Connect to an IMAP account
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID to connect to |
No output schema declared.
No examples provided.
imap_copy_email Copy Email ~60
Copy an email to another folder
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| sourceFolder | string | – | Source folder name |
| targetFolder | string | yes | Target folder name |
| uid | number | yes | Email UID to copy |
No output schema declared.
No examples provided.
imap_create_folder Create Folder ~60
Create a new folder/mailbox in an IMAP account
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folderName | string | yes | Name of the folder to create (use "/" for hierarchy, e.g., "Archive/2024") |
No output schema declared.
No examples provided.
imap_create_user Create User ~52
Create a new user (MSP multi-tenant support)
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | User email address | |
| organization | string | – | Organization name |
| username | string | yes | Username (unique identifier) |
No output schema declared.
No examples provided.
imap_db_add_account Db Add Account ~165
Add IMAP account to database (with encryption at rest)
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | yes | IMAP server hostname |
| name | string | yes | Friendly name for the account |
| password | string | yes | IMAP password (will be encrypted) |
| port | number | – | IMAP server port |
| smtpHost | string | – | SMTP server hostname |
| smtpPassword | string | – | SMTP password (will be encrypted) |
| smtpPort | number | – | SMTP server port |
| smtpSecure | boolean | – | SMTP use SSL/TLS |
| smtpUsername | string | – | SMTP username |
| tls | boolean | – | Use TLS/SSL |
| userId | string | yes | User ID who owns this account |
| username | string | yes | IMAP username |
No output schema declared.
No examples provided.
imap_db_get_account Db Get Account ~26
Get decrypted account details
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
No output schema declared.
No examples provided.
imap_db_list_accounts Db List Accounts ~30
List all IMAP accounts for a user
| Name | Type | Req | Description |
|---|---|---|---|
| userId | string | yes | User ID |
No output schema declared.
No examples provided.
imap_db_remove_account Db Remove Account ~30
Remove IMAP account from database
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID to remove |
No output schema declared.
No examples provided.
imap_delete_email Delete Email ~50
Delete an email (moves to trash or expunges)
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folder | string | – | Folder name |
| uid | number | yes | Email UID |
No output schema declared.
No examples provided.
imap_delete_folder Delete Folder ~45
Delete a folder/mailbox from an IMAP account
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID |
| folderName | string | yes | Name of the folder to delete |
No output schema declared.
No examples provided.
imap_delete_usercheck_key Delete UserCheck Key ~33
Delete a UserCheck API key
| Name | Type | Req | Description |
|---|---|---|---|
| keyId | number | yes | UserCheck key ID to delete |
No output schema declared.
No examples provided.
imap_disconnect Disconnect ~29
Disconnect from an IMAP account
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Account ID to disconnect from |
No output schema declared.
No examples provided.
How do I install the IMAP MCP Pro server?
IMAP MCP Pro ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 84d0bb7d13478da5be12f4b02474d9793116caf536dacd2db00e79a605ffafb9; the commands to do that are on this page. If it does not match, do not open it.
mcpb · imap-mcp-pro-2.39.0.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
84d0bb7d13478da5be12f4b02474d9793116caf536dacd2db00e79a605ffafb9
macOS / Linux
echo "84d0bb7d13478da5be12f4b02474d9793116caf536dacd2db00e79a605ffafb9 imap-mcp-pro-2.39.0.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\imap-mcp-pro-2.39.0.mcpb).Hash -eq "84d0bb7d13478da5be12f4b02474d9793116caf536dacd2db00e79a605ffafb9"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the IMAP MCP Pro server?
IMAP MCP Pro is listed in the public MCP registry as io.github.Temple-of-Epiphany/imap-mcp-pro. Production IMAP & SMTP for Claude: multi-account email search, triage, send, and spam checks. This page covers its MCPB bundle (https://github.com/Temple-of-Epiphany/imap-mcp-pro/releases/download/v2.39.0/imap-mcp-pro-2.39.0.mcpb).
Is the IMAP MCP Pro server safe to use?
IMAP MCP Pro scores 60 out of 100 on VerifyMCP. 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 IMAP MCP Pro server expose?
IMAP MCP Pro exposes 131 tools: imap_create_user, imap_list_users, imap_get_user, imap_db_add_account, imap_db_list_accounts, and 126 more. Their descriptions and schemas cost roughly 14,624 tokens of context every time the server is loaded.
What licence is the IMAP MCP Pro server under?
IMAP MCP Pro declares the PolyForm-Noncommercial-1.0.0 licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.