_ registry / mcp streamable-http · checked 4h ago

emailmcp

https://mcp.setip.io

Registry code: b375d4099caf5903

api record

EmailMCP exposes hosted email tools over MCP. Tool calls may require configured email provider credentials.

endpoint
https://mcp.setip.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing
karma
0 · newcomer
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
528ms

last good check

priced tools
0

of 56 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ used through this hub 30 days

The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.

accounts
0

distinct, expensive to fake

calls served
0

successful, last 30 days

_ what it can do 56 tools
1 open1 auth-required 54 never probed 2 of 56 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_conversation_threads open 4h ago

    Get conversation threads with forwarded emails

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number",
          "default": 20,
          "description": "Maximum number of threads to return"
        },
        "since": {
          "type": "string",
          "description": "Filter threads active since this date (ISO string)"
        },
        "subject": {
          "type": "string",
          "description": "Filter threads by subject content"
        },
        "participant": {
          "type": "string",
          "description": "Filter threads by participant email address"
        }
      }
    }
    arguments 22 lines
  • get_domain_verification_status auth-required 4h ago

    Show active verification windows, the receiver state, and TTLs.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • start_smtp_receiver unknown never probed

    Start the SMTP server to receive forwarded corporate emails

    mcp-tool

    {
      "type": "object",
      "properties": {
        "port": {
          "type": "number",
          "default": 2525,
          "description": "Port to listen on (default: 2525)"
        },
        "enableThreading": {
          "type": "boolean",
          "default": true,
          "description": "Enable conversation threading"
        },
        "receivingDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "Domains to accept emails for (empty = accept all)"
        },
        "allowedForwarders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "IP addresses allowed to forward emails (empty = allow all)"
        }
      }
    }
    arguments 31 lines
  • validate_email unknown never probed

    Validate email addresses and check deliverability

    mcp-tool

    {
      "type": "object",
      "required": [
        "emails"
      ],
      "properties": {
        "emails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of email addresses to validate"
        },
        "check_mx": {
          "type": "boolean",
          "default": true,
          "description": "Check MX records for domain"
        },
        "check_smtp": {
          "type": "boolean",
          "default": false,
          "description": "Perform SMTP validation"
        }
      }
    }
    arguments 25 lines
  • verify_autonomous_setup unknown never probed

    Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Your email domain to verify"
        }
      }
    }
    arguments 12 lines
  • regenerate_zone_file unknown never probed

    Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_suppression_list unknown never probed

    View all addresses on the bounce suppression list — these addresses will be rejected on send

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_sending_domains unknown never probed

    List all configured sending domains with their verification status

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • send_email unknown never probed

    Send an email with text or HTML content

    mcp-tool

    {
      "type": "object",
      "required": [
        "to",
        "subject",
        "text"
      ],
      "properties": {
        "cc": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "optional": true,
          "description": "Array of CC recipient email addresses"
        },
        "to": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of recipient email addresses"
        },
        "bcc": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "optional": true,
          "description": "Array of BCC recipient email addresses"
        },
        "from": {
          "type": "string",
          "optional": true,
          "description": "Personal account address to send from. If set and matching account has personal SMTP/IMAP credentials (via set_personal_email_credentials), sends via that account and IMAP-APPENDs a copy to its Sent folder. If exactly one personal account exists and from is omitted, it is used. If multiple personal accounts exist and from is omitted, the call errors and lists choices."
        },
        "html": {
          "type": "string",
          "optional": true,
          "description": "HTML content of the email"
        },
        "text": {
          "type": "string",
          "description": "Plain text content of the email"
        },
        "subject": {
          "type": "string",
          "description": "Email subject line"
        },
        "provider": {
          "type": "string",
          "optional": true,
          "description": "Send via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend). Requires that provider's credentials in env."
        },
        "bulk_mode": {
          "enum": [
            "individual",
            "bcc",
            "to"
          ],
          "type": "string",
          "optional": true,
          "description": "Required when sending to multiple recipients. \"individual\": sends a separate email to each recipient (safest). \"bcc\": puts first recipient in TO:, rest in BCC. \"to\": puts all in TO: (exposes addresses — use only when intended, e.g. team threads)."
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              },
              "encoding": {
                "type": "string",
                "default": "base64"
              },
              "filename": {
                "type": "string"
              }
            }
          },
          "optional": true,
          "description": "Array of file attachments"
        }
      }
    }
    arguments 86 lines
  • send_template_email unknown never probed

    Send an email using a predefined template

    mcp-tool

    {
      "type": "object",
      "required": [
        "to",
        "template"
      ],
      "properties": {
        "to": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of recipient email addresses"
        },
        "subject": {
          "type": "string",
          "optional": true,
          "description": "Email subject (can override template subject)"
        },
        "provider": {
          "type": "string",
          "optional": true,
          "description": "Send via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend)"
        },
        "template": {
          "type": "string",
          "description": "Template name or path"
        },
        "bulk_mode": {
          "enum": [
            "individual",
            "bcc",
            "to"
          ],
          "type": "string",
          "optional": true,
          "description": "Required when sending to multiple recipients. \"individual\": sends a separate email to each recipient (safest). \"bcc\": puts first recipient in TO:, rest in BCC. \"to\": puts all in TO: (exposes addresses — use only when intended)."
        },
        "variables": {
          "type": "object",
          "description": "Template variables to replace",
          "additionalProperties": true
        }
      }
    }
    arguments 45 lines
  • get_email_usage unknown never probed

    Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "domain": {
          "type": "string",
          "optional": true,
          "description": "Filter stats by domain"
        },
        "period": {
          "enum": [
            "hour",
            "day",
            "week",
            "month"
          ],
          "type": "string",
          "default": "day",
          "description": "Time period for usage statistics"
        },
        "account": {
          "type": "string",
          "optional": true,
          "description": "Filter stats by account address"
        }
      }
    }
    arguments 26 lines
  • verify_email_setup unknown never probed

    Verify IP whitelisting and email provider configuration

    mcp-tool

    {
      "type": "object",
      "required": [
        "provider"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain to check for DNS records (required if include_dns is true)"
        },
        "provider": {
          "enum": [
            "sendgrid",
            "mailgun",
            "ses",
            "resend",
            "all"
          ],
          "type": "string",
          "description": "Email provider to verify, or \"all\" for all configured providers"
        },
        "test_email": {
          "type": "string",
          "format": "email",
          "description": "Optional test email address to verify delivery"
        },
        "include_dns": {
          "type": "boolean",
          "default": false,
          "description": "Include DNS record verification"
        }
      }
    }
    arguments 33 lines
  • list_email_accounts unknown never probed

    List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • read_inbox unknown never probed

    Read emails from an inbox via IMAP with filtering options. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account (work, personal, etc.).

    mcp-tool

    {
      "type": "object",
      "properties": {
        "filter": {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "description": "Filter by recipient email address"
            },
            "from": {
              "type": "string",
              "description": "Filter by sender email address"
            },
            "limit": {
              "type": "number",
              "default": 10,
              "maximum": 100,
              "minimum": 1,
              "description": "Maximum number of emails to read"
            },
            "since": {
              "type": "string",
              "format": "date",
              "description": "Only emails after this date (YYYY-MM-DD)"
            },
            "before": {
              "type": "string",
              "format": "date",
              "description": "Only emails before this date (YYYY-MM-DD)"
            },
            "flagged": {
              "type": "boolean",
              "description": "Only return flagged emails"
            },
            "mailbox": {
              "type": "string",
              "default": "INBOX",
              "description": "Mailbox to read from"
            },
            "unread_only": {
              "type": "boolean",
              "default": false,
              "description": "Only return unread emails"
            },
            "body_contains": {
              "type": "string",
              "description": "Filter by text in email body"
            },
            "subject_contains": {
              "type": "string",
              "description": "Filter by text in subject line"
            }
          }
        },
        "account": {
          "type": "string",
          "optional": true,
          "description": "Named account to read from (e.g. \"work\", \"personal\"). Omit for default account."
        },
        "options": {
          "type": "object",
          "properties": {
            "include_body": {
              "type": "boolean",
              "default": true,
              "description": "Include email body content"
            },
            "mark_as_read": {
              "type": "boolean",
              "default": false,
              "description": "Mark emails as read after fetching"
            },
            "include_attachments": {
              "type": "boolean",
              "default": false,
              "description": "Include attachment information"
            }
          }
        },
        "imap_config": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string",
              "description": "IMAP server hostname (e.g., imap.gmail.com)"
            },
            "port": {
              "type": "number",
              "default": 993,
              "description": "IMAP server port (default: 993 for SSL)"
            },
            "email": {
              "type": "string",
              "description": "Email address for authentication"
            },
            "secure": {
              "type": "boolean",
              "default": true,
              "description": "Use SSL/TLS connection"
            },
            "password": {
              "type": "string",
              "description": "Password or app-specific password"
            }
          },
          "description": "Optional if IMAP is configured in .env (IMAP_HOST, IMAP_EMAIL, IMAP_PASSWORD)"
        }
      }
    }
    arguments 110 lines
  • get_mailbox_status unknown never probed

    Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "account": {
          "type": "string",
          "optional": true,
          "description": "Named account (e.g. \"work\", \"personal\"). Omit for default."
        },
        "mailbox": {
          "type": "string",
          "default": "INBOX",
          "description": "Mailbox to check"
        },
        "imap_config": {
          "type": "object",
          "required": [
            "host",
            "email",
            "password"
          ],
          "properties": {
            "host": {
              "type": "string"
            },
            "port": {
              "type": "number",
              "default": 993
            },
            "email": {
              "type": "string",
              "format": "email"
            },
            "secure": {
              "type": "boolean",
              "default": true
            },
            "password": {
              "type": "string"
            }
          }
        }
      }
    }
    arguments 43 lines
  • list_mailboxes unknown never probed

    List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use "account" to pick a named account.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "account": {
          "type": "string",
          "optional": true,
          "description": "Named account (e.g. \"work\", \"personal\"). Omit for default."
        },
        "imap_config": {
          "type": "object",
          "required": [
            "host",
            "email",
            "password"
          ],
          "properties": {
            "host": {
              "type": "string"
            },
            "port": {
              "type": "number",
              "default": 993
            },
            "email": {
              "type": "string",
              "format": "email"
            },
            "secure": {
              "type": "boolean",
              "default": true
            },
            "password": {
              "type": "string"
            }
          }
        }
      }
    }
    arguments 38 lines
  • stop_smtp_receiver unknown never probed

    Stop the SMTP forward receiver server

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_smtp_receiver_status unknown never probed

    Get the current status of the SMTP forward receiver

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_forwarded_emails unknown never probed

    Retrieve forwarded emails with optional filtering

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number",
          "default": 50,
          "description": "Maximum number of emails to return"
        },
        "since": {
          "type": "string",
          "description": "Filter emails since this date (ISO string)"
        },
        "threadId": {
          "type": "string",
          "description": "Filter by conversation thread ID"
        },
        "originalSender": {
          "type": "string",
          "description": "Filter by original sender email address"
        }
      }
    }
    arguments 22 lines
  • get_conversation_context unknown never probed

    Get full conversation context for a specific thread

    mcp-tool

    {
      "type": "object",
      "required": [
        "threadId"
      ],
      "properties": {
        "threadId": {
          "type": "string",
          "description": "Thread ID to get conversation for"
        },
        "maxEmails": {
          "type": "number",
          "default": 10,
          "description": "Maximum number of emails to include in context"
        }
      }
    }
    arguments 17 lines
  • get_threads_for_sender unknown never probed

    Get all conversation threads involving a specific sender

    mcp-tool

    {
      "type": "object",
      "required": [
        "senderAddress"
      ],
      "properties": {
        "senderAddress": {
          "type": "string",
          "description": "Email address of the sender"
        }
      }
    }
    arguments 12 lines
  • check_email_config unknown never probed

    Check if email providers are configured, guide setup if needed

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • configure_mailgun unknown never probed

    Configure Mailgun email provider with step-by-step guidance

    mcp-tool

    {
      "type": "object",
      "required": [
        "api_key",
        "domain",
        "from_email"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Mailgun domain (e.g., mg.yourdomain.com)"
        },
        "api_key": {
          "type": "string",
          "description": "Mailgun API Key (starts with \"key-\")"
        },
        "from_email": {
          "type": "string",
          "description": "From email address (e.g., [email protected])"
        }
      }
    }
    arguments 22 lines
  • test_email_config unknown never probed

    Test email configuration by sending a test email

    mcp-tool

    {
      "type": "object",
      "properties": {
        "test_email": {
          "type": "string",
          "description": "Email address to send test email to (optional, defaults to from_email)"
        }
      }
    }
    arguments 9 lines
  • create_mailbox unknown never probed

    Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Email address for the mailbox (e.g. [email protected])"
        },
        "display_name": {
          "type": "string",
          "optional": true,
          "description": "Display name for the mailbox"
        }
      }
    }
    arguments 17 lines
  • delete_mailbox unknown never probed

    Delete a local mailbox and all its stored emails (autonomous mode)

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Email address of the mailbox to delete"
        }
      }
    }
    arguments 12 lines
  • list_local_mailboxes unknown never probed

    List all local mailboxes on this server (autonomous mode)

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • request_email_ip unknown never probed

    Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.

    mcp-tool

    {
      "type": "object",
      "required": [
        "email_domain"
      ],
      "properties": {
        "account_id": {
          "type": "string",
          "optional": true,
          "description": "Optional account identifier"
        },
        "email_domain": {
          "type": "string",
          "description": "Your email domain (e.g. company.com)"
        }
      }
    }
    arguments 17 lines
  • check_ip_status unknown 4h ago

    Check the status of a pending WireGuard IP provisioning request

    mcp-tool

    {
      "type": "object",
      "properties": {
        "request_id": {
          "type": "string",
          "optional": true,
          "description": "Request ID from request_email_ip (omit to check saved request)"
        }
      }
    }
    arguments 10 lines
  • get_dns_records unknown never probed

    Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain",
        "ipv4"
      ],
      "properties": {
        "ipv4": {
          "type": "string",
          "description": "Your dedicated IPv4 address (from WireGuard provisioning)"
        },
        "domain": {
          "type": "string",
          "description": "Your email domain (e.g. company.com)"
        },
        "dmarc_policy": {
          "enum": [
            "none",
            "quarantine",
            "reject"
          ],
          "type": "string",
          "optional": true,
          "description": "DMARC policy (default: reject)"
        },
        "dkim_selector": {
          "type": "string",
          "optional": true,
          "description": "DKIM selector (default: emailmcp)"
        },
        "mail_hostname": {
          "type": "string",
          "optional": true,
          "description": "Mail server hostname (default: mail.domain)"
        }
      }
    }
    arguments 37 lines
  • setup_autonomous_security unknown never probed

    Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain",
        "ipv4"
      ],
      "properties": {
        "ipv4": {
          "type": "string",
          "description": "Your dedicated IPv4 address"
        },
        "domain": {
          "type": "string",
          "description": "Your email domain"
        },
        "dmarc_policy": {
          "enum": [
            "none",
            "quarantine",
            "reject"
          ],
          "type": "string",
          "optional": true,
          "description": "DMARC policy (default: reject)"
        },
        "dkim_selector": {
          "type": "string",
          "optional": true,
          "description": "DKIM selector (default: emailmcp)"
        }
      }
    }
    arguments 32 lines
  • create_email_rule unknown never probed

    Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name",
        "match",
        "actions"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Rule name (unique)"
        },
        "stop": {
          "type": "boolean",
          "optional": true,
          "description": "Stop processing further rules after this one matches (default: false)"
        },
        "match": {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "description": "Recipient address or pattern"
            },
            "from": {
              "type": "string",
              "description": "Sender address or pattern (*@domain.com)"
            },
            "domain": {
              "type": "string",
              "description": "Sender domain"
            },
            "subject": {
              "type": "string",
              "description": "Subject contains text"
            },
            "body_contains": {
              "type": "string",
              "description": "Body contains text"
            },
            "subject_regex": {
              "type": "string",
              "description": "Subject regex pattern"
            },
            "has_attachments": {
              "type": "boolean",
              "description": "Has attachments"
            }
          },
          "description": "Match conditions (ALL must match). Use from, domain, subject, subject_regex, body_contains, has_attachments, to, header."
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "to": {
                "type": "string",
                "description": "For forward: recipient address"
              },
              "url": {
                "type": "string",
                "description": "For webhook: URL to POST to"
              },
              "args": {
                "type": "object",
                "description": "For mcp_tool: arguments to pass",
                "additionalProperties": true
              },
              "body": {
                "type": "string",
                "description": "For auto_reply: reply body text"
              },
              "flag": {
                "type": "string",
                "description": "For flag: flag name (default: important)"
              },
              "tool": {
                "type": "string",
                "description": "For mcp_tool: MCP tool name to invoke"
              },
              "type": {
                "enum": [
                  "forward",
                  "auto_reply",
                  "webhook",
                  "flag",
                  "move",
                  "mcp_tool",
                  "log",
                  "reject"
                ],
                "type": "string"
              },
              "folder": {
                "type": "string",
                "description": "For move: target folder"
              },
              "reason": {
                "type": "string",
                "description": "For reject: rejection reason"
              },
              "subject": {
                "type": "string",
                "description": "For auto_reply: reply subject"
              }
            }
          },
          "description": "Actions to execute when rule matches"
        },
        "priority": {
          "type": "number",
          "optional": true,
          "description": "Priority (lower = evaluated first, default 100)"
        },
        "description": {
          "type": "string",
          "optional": true,
          "description": "What this rule does"
        }
      }
    }
    arguments 125 lines
  • list_email_rules unknown never probed

    List all email rules with their match conditions, actions, and hit counts

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • delete_email_rule unknown never probed

    Delete an email rule by ID

    mcp-tool

    {
      "type": "object",
      "required": [
        "rule_id"
      ],
      "properties": {
        "rule_id": {
          "type": "string",
          "description": "Rule ID to delete"
        }
      }
    }
    arguments 12 lines
  • update_email_rule unknown never probed

    Update an existing email rule (enable/disable, change match/actions/priority)

    mcp-tool

    {
      "type": "object",
      "required": [
        "rule_id"
      ],
      "properties": {
        "stop": {
          "type": "boolean",
          "optional": true,
          "description": "Stop after match"
        },
        "match": {
          "type": "object",
          "optional": true,
          "description": "New match conditions"
        },
        "actions": {
          "type": "array",
          "optional": true,
          "description": "New actions"
        },
        "enabled": {
          "type": "boolean",
          "optional": true,
          "description": "Enable or disable the rule"
        },
        "rule_id": {
          "type": "string",
          "description": "Rule ID to update"
        },
        "priority": {
          "type": "number",
          "optional": true,
          "description": "New priority"
        }
      }
    }
    arguments 37 lines
  • start_idle_watch unknown never probed

    Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "account": {
          "type": "string",
          "optional": true,
          "description": "Account name to watch (e.g. \"work\", \"personal\"). Omit to watch all configured accounts."
        }
      }
    }
    arguments 10 lines
  • stop_idle_watch unknown never probed

    Stop IMAP IDLE watching on an account (or all accounts)

    mcp-tool

    {
      "type": "object",
      "properties": {
        "account": {
          "type": "string",
          "optional": true,
          "description": "Account to stop watching. Omit to stop all."
        }
      }
    }
    arguments 10 lines
  • get_idle_status unknown never probed

    Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • provision_start unknown never probed

    Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cloud_provider",
        "cloud_api_key",
        "service_domain"
      ],
      "properties": {
        "region": {
          "type": "string",
          "optional": true,
          "description": "Cloud region (e.g. nyc1, ewr, nbg1, GRA11). Omit for default."
        },
        "cloud_api_key": {
          "type": "string",
          "description": "Cloud provider API key"
        },
        "cloud_provider": {
          "enum": [
            "digitalocean",
            "vultr",
            "hetzner",
            "ovh"
          ],
          "type": "string",
          "description": "Cloud provider"
        },
        "service_domain": {
          "type": "string",
          "description": "Domain you own for the email service (e.g. emailrelay.xyz). NS will point here."
        }
      }
    }
    arguments 33 lines
  • provision_resume unknown never probed

    Resume provisioning from where you left off. Automatically detects the current phase and advances: WireGuard connection → DNS setup → TLS → verification. Run this after each user action (connecting WireGuard, adding DNS records).

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • provision_status unknown never probed

    Show current provisioning state — which phases are complete, what to do next

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • list_cloud_providers unknown never probed

    List supported cloud providers with pricing, regions, and PTR support info

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • start_health_monitor unknown never probed

    Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • get_health_status unknown never probed

    Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • add_sending_domain unknown never probed

    Add a customer sending domain. Generates DKIM keys and returns the 4 DNS records the customer needs to add. Works like SendGrid domain authentication — self-hosted.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Customer domain (e.g. company.com)"
        }
      }
    }
    arguments 12 lines
  • remove_sending_domain unknown never probed

    Remove a sending domain and its DKIM keys

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Customer domain to remove"
        }
      }
    }
    arguments 12 lines
  • get_domain_dns_records unknown never probed

    Get the DNS records a customer needs to add for a sending domain

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Customer domain"
        }
      }
    }
    arguments 12 lines
  • create_email_account unknown never probed

    Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "optional": true,
          "description": "Sending domain (auto-derived from address if omitted)"
        },
        "address": {
          "type": "string",
          "description": "Email address (e.g. [email protected])"
        },
        "display_name": {
          "type": "string",
          "optional": true,
          "description": "Display name for the account"
        }
      }
    }
    arguments 22 lines
  • delete_email_account unknown never probed

    Delete an email account and revoke its SMTP credentials

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Email address of the account to delete"
        }
      }
    }
    arguments 12 lines
  • list_email_accounts_managed unknown never probed

    List all email accounts with SMTP credentials (optionally filtered by domain)

    mcp-tool

    {
      "type": "object",
      "properties": {
        "domain": {
          "type": "string",
          "optional": true,
          "description": "Filter by domain"
        }
      }
    }
    arguments 10 lines
  • reset_account_password unknown never probed

    Reset the SMTP password for an email account. Returns new password once.

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Email address of the account"
        }
      }
    }
    arguments 12 lines
  • start_domain_verification unknown never probed

    Begin a domain-verification window: temporarily set the target domain's MX to verify.setip.io, start (or reuse) the EmailMCP SMTP receiver on :25, and forward any inbound mail for *@domain to forward_to so a human can grab a verification code from the provider (Apple/Google/etc). Auto-tears down after ttl_minutes.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain",
        "forward_to"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain whose MX is being temporarily redirected (must be a POC we own in setipio-api)"
        },
        "forward_to": {
          "type": "string",
          "description": "Address where verification mails are relayed in real time"
        },
        "ttl_minutes": {
          "type": "number",
          "description": "Auto-teardown after this many minutes (default 60)"
        },
        "real_mx_target": {
          "type": "string",
          "description": "Optional. If provided, on teardown the MX is set to this target (e.g. apple.com) instead of restoring the pre-window snapshot."
        }
      }
    }
    arguments 25 lines
  • stop_domain_verification unknown never probed

    Tear down an active domain-verification window: restore MX (snapshot or supplied real_mx_target), remove the per-domain forwarder. Stops the receiver if no other windows remain.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain to tear down"
        },
        "real_mx_target": {
          "type": "string",
          "description": "Optional final MX target (e.g. apple.com). Overrides the snapshot restore."
        }
      }
    }
    arguments 16 lines
  • get_domain_verification_emails unknown never probed

    List mails received in the verification window for a given domain (e.g. to find Apple's verification code without checking the forward_to mailbox).

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain to filter on"
        }
      }
    }
    arguments 12 lines
  • set_personal_email_credentials unknown never probed

    Attach a personal account's own SMTP + IMAP credentials (iCloud, Gmail app password, Fastmail, Office365, etc.) to an existing account. Once set, send_email with from=<address> sends via that SMTP and IMAP-APPENDs a copy to its Sent folder. Passwords are AES-256-GCM encrypted at rest with EMAILMCP_SECRET.

    mcp-tool

    {
      "type": "object",
      "required": [
        "address",
        "smtp_host",
        "smtp_user",
        "smtp_password",
        "imap_host",
        "imap_user",
        "imap_password"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Address of the existing account (must already be created via create_email_account)"
        },
        "imap_host": {
          "type": "string",
          "description": "e.g. imap.mail.me.com, imap.gmail.com, imap.fastmail.com"
        },
        "imap_port": {
          "type": "number",
          "description": "Default 993"
        },
        "imap_user": {
          "type": "string",
          "description": "IMAP username — usually the full email address"
        },
        "smtp_host": {
          "type": "string",
          "description": "e.g. smtp.mail.me.com (iCloud), smtp.gmail.com, smtp.fastmail.com"
        },
        "smtp_port": {
          "type": "number",
          "description": "Default 587"
        },
        "smtp_user": {
          "type": "string",
          "description": "SMTP username — usually the full email address"
        },
        "sent_folder": {
          "type": "string",
          "optional": true,
          "description": "Override Sent folder name. Auto-discovered via SPECIAL-USE if omitted."
        },
        "imap_password": {
          "type": "string",
          "description": "IMAP password (often same as SMTP)"
        },
        "smtp_password": {
          "type": "string",
          "description": "SMTP password or app-specific password"
        }
      }
    }
    arguments 55 lines
  • remove_from_suppression unknown never probed

    Remove an address from the bounce suppression list (manual override to allow sending again)

    mcp-tool

    {
      "type": "object",
      "required": [
        "address"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Email address to unblock"
        }
      }
    }
    arguments 12 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/b375d4099caf5903/badge.svg)](https://brick.blue/agent/b375d4099caf5903)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.