Server definition
- Hash
- sha256:bbe25a091370a819d780289f8aca1b1f90dfabc59088e82a3f73f40e6efe3858
- What it is
- What a remote MCP server returned when asked what it offers: 56 tools
The blob, as servednamed by its sha256
{
"instructions": "EmailMCP exposes hosted email tools over MCP. Tool calls may require configured email provider credentials.",
"tools": [
{
"description": "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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Customer domain (e.g. company.com)",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "add_sending_domain",
"outputSchema": null
},
{
"description": "Check if email providers are configured, guide setup if needed",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "check_email_config",
"outputSchema": null
},
{
"description": "Check the status of a pending WireGuard IP provisioning request",
"inputSchema": {
"properties": {
"request_id": {
"description": "Request ID from request_email_ip (omit to check saved request)",
"optional": true,
"type": "string"
}
},
"type": "object"
},
"name": "check_ip_status",
"outputSchema": null
},
{
"description": "Configure Mailgun email provider with step-by-step guidance",
"inputSchema": {
"properties": {
"api_key": {
"description": "Mailgun API Key (starts with \"key-\")",
"type": "string"
},
"domain": {
"description": "Mailgun domain (e.g., mg.yourdomain.com)",
"type": "string"
},
"from_email": {
"description": "From email address (e.g., [email protected])",
"type": "string"
}
},
"required": [
"api_key",
"domain",
"from_email"
],
"type": "object"
},
"name": "configure_mailgun",
"outputSchema": null
},
{
"description": "Create an email account with SMTP credentials. Returns SMTP password once — save it. The account can then send/receive via this server.",
"inputSchema": {
"properties": {
"address": {
"description": "Email address (e.g. [email protected])",
"type": "string"
},
"display_name": {
"description": "Display name for the account",
"optional": true,
"type": "string"
},
"domain": {
"description": "Sending domain (auto-derived from address if omitted)",
"optional": true,
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "create_email_account",
"outputSchema": null
},
{
"description": "Create a rule that triggers actions when incoming emails match conditions. Actions: forward, auto_reply, webhook, flag, move, mcp_tool, log, reject.",
"inputSchema": {
"properties": {
"actions": {
"description": "Actions to execute when rule matches",
"items": {
"properties": {
"args": {
"additionalProperties": true,
"description": "For mcp_tool: arguments to pass",
"type": "object"
},
"body": {
"description": "For auto_reply: reply body text",
"type": "string"
},
"flag": {
"description": "For flag: flag name (default: important)",
"type": "string"
},
"folder": {
"description": "For move: target folder",
"type": "string"
},
"reason": {
"description": "For reject: rejection reason",
"type": "string"
},
"subject": {
"description": "For auto_reply: reply subject",
"type": "string"
},
"to": {
"description": "For forward: recipient address",
"type": "string"
},
"tool": {
"description": "For mcp_tool: MCP tool name to invoke",
"type": "string"
},
"type": {
"enum": [
"forward",
"auto_reply",
"webhook",
"flag",
"move",
"mcp_tool",
"log",
"reject"
],
"type": "string"
},
"url": {
"description": "For webhook: URL to POST to",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"description": {
"description": "What this rule does",
"optional": true,
"type": "string"
},
"match": {
"description": "Match conditions (ALL must match). Use from, domain, subject, subject_regex, body_contains, has_attachments, to, header.",
"properties": {
"body_contains": {
"description": "Body contains text",
"type": "string"
},
"domain": {
"description": "Sender domain",
"type": "string"
},
"from": {
"description": "Sender address or pattern (*@domain.com)",
"type": "string"
},
"has_attachments": {
"description": "Has attachments",
"type": "boolean"
},
"subject": {
"description": "Subject contains text",
"type": "string"
},
"subject_regex": {
"description": "Subject regex pattern",
"type": "string"
},
"to": {
"description": "Recipient address or pattern",
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "Rule name (unique)",
"type": "string"
},
"priority": {
"description": "Priority (lower = evaluated first, default 100)",
"optional": true,
"type": "number"
},
"stop": {
"description": "Stop processing further rules after this one matches (default: false)",
"optional": true,
"type": "boolean"
}
},
"required": [
"name",
"match",
"actions"
],
"type": "object"
},
"name": "create_email_rule",
"outputSchema": null
},
{
"description": "Create a new local mailbox for receiving email (autonomous mode). Each address gets its own inbox accessible via MCP tools.",
"inputSchema": {
"properties": {
"address": {
"description": "Email address for the mailbox (e.g. [email protected])",
"type": "string"
},
"display_name": {
"description": "Display name for the mailbox",
"optional": true,
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "create_mailbox",
"outputSchema": null
},
{
"description": "Delete an email account and revoke its SMTP credentials",
"inputSchema": {
"properties": {
"address": {
"description": "Email address of the account to delete",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "delete_email_account",
"outputSchema": null
},
{
"description": "Delete an email rule by ID",
"inputSchema": {
"properties": {
"rule_id": {
"description": "Rule ID to delete",
"type": "string"
}
},
"required": [
"rule_id"
],
"type": "object"
},
"name": "delete_email_rule",
"outputSchema": null
},
{
"description": "Delete a local mailbox and all its stored emails (autonomous mode)",
"inputSchema": {
"properties": {
"address": {
"description": "Email address of the mailbox to delete",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "delete_mailbox",
"outputSchema": null
},
{
"description": "Get full conversation context for a specific thread",
"inputSchema": {
"properties": {
"maxEmails": {
"default": 10,
"description": "Maximum number of emails to include in context",
"type": "number"
},
"threadId": {
"description": "Thread ID to get conversation for",
"type": "string"
}
},
"required": [
"threadId"
],
"type": "object"
},
"name": "get_conversation_context",
"outputSchema": null
},
{
"description": "Get conversation threads with forwarded emails",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Maximum number of threads to return",
"type": "number"
},
"participant": {
"description": "Filter threads by participant email address",
"type": "string"
},
"since": {
"description": "Filter threads active since this date (ISO string)",
"type": "string"
},
"subject": {
"description": "Filter threads by subject content",
"type": "string"
}
},
"type": "object"
},
"name": "get_conversation_threads",
"outputSchema": null
},
{
"description": "Generate all required DNS records (A, MX, SPF, DKIM, DMARC) for autonomous email. Outputs copyable records for your DNS provider.",
"inputSchema": {
"properties": {
"dkim_selector": {
"description": "DKIM selector (default: emailmcp)",
"optional": true,
"type": "string"
},
"dmarc_policy": {
"description": "DMARC policy (default: reject)",
"enum": [
"none",
"quarantine",
"reject"
],
"optional": true,
"type": "string"
},
"domain": {
"description": "Your email domain (e.g. company.com)",
"type": "string"
},
"ipv4": {
"description": "Your dedicated IPv4 address (from WireGuard provisioning)",
"type": "string"
},
"mail_hostname": {
"description": "Mail server hostname (default: mail.domain)",
"optional": true,
"type": "string"
}
},
"required": [
"domain",
"ipv4"
],
"type": "object"
},
"name": "get_dns_records",
"outputSchema": null
},
{
"description": "Get the DNS records a customer needs to add for a sending domain",
"inputSchema": {
"properties": {
"domain": {
"description": "Customer domain",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "get_domain_dns_records",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain to filter on",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "get_domain_verification_emails",
"outputSchema": null
},
{
"description": "Show active verification windows, the receiver state, and TTLs.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_domain_verification_status",
"outputSchema": null
},
{
"description": "Get email usage statistics — delivery rate, bounce rate, per-domain breakdown, top bounce reasons. Reads from persistent stats.",
"inputSchema": {
"properties": {
"account": {
"description": "Filter stats by account address",
"optional": true,
"type": "string"
},
"domain": {
"description": "Filter stats by domain",
"optional": true,
"type": "string"
},
"period": {
"default": "day",
"description": "Time period for usage statistics",
"enum": [
"hour",
"day",
"week",
"month"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_email_usage",
"outputSchema": null
},
{
"description": "Retrieve forwarded emails with optional filtering",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"description": "Maximum number of emails to return",
"type": "number"
},
"originalSender": {
"description": "Filter by original sender email address",
"type": "string"
},
"since": {
"description": "Filter emails since this date (ISO string)",
"type": "string"
},
"threadId": {
"description": "Filter by conversation thread ID",
"type": "string"
}
},
"type": "object"
},
"name": "get_forwarded_emails",
"outputSchema": null
},
{
"description": "Get current health status of the email server — tunnel, SMTP, DNS, IP blocklist checks",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_health_status",
"outputSchema": null
},
{
"description": "Get status of IMAP IDLE watchers — which accounts are being watched, connection status, new email counts",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_idle_status",
"outputSchema": null
},
{
"description": "Get status information for an email mailbox. If IMAP is configured in .env, no credentials needed. Use \"account\" to pick a named account.",
"inputSchema": {
"properties": {
"account": {
"description": "Named account (e.g. \"work\", \"personal\"). Omit for default.",
"optional": true,
"type": "string"
},
"imap_config": {
"properties": {
"email": {
"format": "email",
"type": "string"
},
"host": {
"type": "string"
},
"password": {
"type": "string"
},
"port": {
"default": 993,
"type": "number"
},
"secure": {
"default": true,
"type": "boolean"
}
},
"required": [
"host",
"email",
"password"
],
"type": "object"
},
"mailbox": {
"default": "INBOX",
"description": "Mailbox to check",
"type": "string"
}
},
"type": "object"
},
"name": "get_mailbox_status",
"outputSchema": null
},
{
"description": "Get the current status of the SMTP forward receiver",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_smtp_receiver_status",
"outputSchema": null
},
{
"description": "View all addresses on the bounce suppression list — these addresses will be rejected on send",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_suppression_list",
"outputSchema": null
},
{
"description": "Get all conversation threads involving a specific sender",
"inputSchema": {
"properties": {
"senderAddress": {
"description": "Email address of the sender",
"type": "string"
}
},
"required": [
"senderAddress"
],
"type": "object"
},
"name": "get_threads_for_sender",
"outputSchema": null
},
{
"description": "List supported cloud providers with pricing, regions, and PTR support info",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_cloud_providers",
"outputSchema": null
},
{
"description": "List all configured IMAP email accounts. Shows default and named accounts (work, personal, etc.).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_email_accounts",
"outputSchema": null
},
{
"description": "List all email accounts with SMTP credentials (optionally filtered by domain)",
"inputSchema": {
"properties": {
"domain": {
"description": "Filter by domain",
"optional": true,
"type": "string"
}
},
"type": "object"
},
"name": "list_email_accounts_managed",
"outputSchema": null
},
{
"description": "List all email rules with their match conditions, actions, and hit counts",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_email_rules",
"outputSchema": null
},
{
"description": "List all local mailboxes on this server (autonomous mode)",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_local_mailboxes",
"outputSchema": null
},
{
"description": "List all available mailboxes for an email account. If IMAP is configured in .env, no credentials needed. Use \"account\" to pick a named account.",
"inputSchema": {
"properties": {
"account": {
"description": "Named account (e.g. \"work\", \"personal\"). Omit for default.",
"optional": true,
"type": "string"
},
"imap_config": {
"properties": {
"email": {
"format": "email",
"type": "string"
},
"host": {
"type": "string"
},
"password": {
"type": "string"
},
"port": {
"default": 993,
"type": "number"
},
"secure": {
"default": true,
"type": "boolean"
}
},
"required": [
"host",
"email",
"password"
],
"type": "object"
}
},
"type": "object"
},
"name": "list_mailboxes",
"outputSchema": null
},
{
"description": "List all configured sending domains with their verification status",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_sending_domains",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "provision_resume",
"outputSchema": null
},
{
"description": "Phase 1: Create a cloud VPS with dedicated IP. Generates WireGuard config. Returns the IP and instructions to connect. Supports DigitalOcean, Vultr, Hetzner, OVH.",
"inputSchema": {
"properties": {
"cloud_api_key": {
"description": "Cloud provider API key",
"type": "string"
},
"cloud_provider": {
"description": "Cloud provider",
"enum": [
"digitalocean",
"vultr",
"hetzner",
"ovh"
],
"type": "string"
},
"region": {
"description": "Cloud region (e.g. nyc1, ewr, nbg1, GRA11). Omit for default.",
"optional": true,
"type": "string"
},
"service_domain": {
"description": "Domain you own for the email service (e.g. emailrelay.xyz). NS will point here.",
"type": "string"
}
},
"required": [
"cloud_provider",
"cloud_api_key",
"service_domain"
],
"type": "object"
},
"name": "provision_start",
"outputSchema": null
},
{
"description": "Show current provisioning state — which phases are complete, what to do next",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "provision_status",
"outputSchema": null
},
{
"description": "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.).",
"inputSchema": {
"properties": {
"account": {
"description": "Named account to read from (e.g. \"work\", \"personal\"). Omit for default account.",
"optional": true,
"type": "string"
},
"filter": {
"properties": {
"before": {
"description": "Only emails before this date (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"body_contains": {
"description": "Filter by text in email body",
"type": "string"
},
"flagged": {
"description": "Only return flagged emails",
"type": "boolean"
},
"from": {
"description": "Filter by sender email address",
"type": "string"
},
"limit": {
"default": 10,
"description": "Maximum number of emails to read",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"mailbox": {
"default": "INBOX",
"description": "Mailbox to read from",
"type": "string"
},
"since": {
"description": "Only emails after this date (YYYY-MM-DD)",
"format": "date",
"type": "string"
},
"subject_contains": {
"description": "Filter by text in subject line",
"type": "string"
},
"to": {
"description": "Filter by recipient email address",
"type": "string"
},
"unread_only": {
"default": false,
"description": "Only return unread emails",
"type": "boolean"
}
},
"type": "object"
},
"imap_config": {
"description": "Optional if IMAP is configured in .env (IMAP_HOST, IMAP_EMAIL, IMAP_PASSWORD)",
"properties": {
"email": {
"description": "Email address for authentication",
"type": "string"
},
"host": {
"description": "IMAP server hostname (e.g., imap.gmail.com)",
"type": "string"
},
"password": {
"description": "Password or app-specific password",
"type": "string"
},
"port": {
"default": 993,
"description": "IMAP server port (default: 993 for SSL)",
"type": "number"
},
"secure": {
"default": true,
"description": "Use SSL/TLS connection",
"type": "boolean"
}
},
"type": "object"
},
"options": {
"properties": {
"include_attachments": {
"default": false,
"description": "Include attachment information",
"type": "boolean"
},
"include_body": {
"default": true,
"description": "Include email body content",
"type": "boolean"
},
"mark_as_read": {
"default": false,
"description": "Mark emails as read after fetching",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"name": "read_inbox",
"outputSchema": null
},
{
"description": "Regenerate the complete DNS zone file for the service domain including all customer subdomains. Use after adding/removing domains.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "regenerate_zone_file",
"outputSchema": null
},
{
"description": "Remove an address from the bounce suppression list (manual override to allow sending again)",
"inputSchema": {
"properties": {
"address": {
"description": "Email address to unblock",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "remove_from_suppression",
"outputSchema": null
},
{
"description": "Remove a sending domain and its DKIM keys",
"inputSchema": {
"properties": {
"domain": {
"description": "Customer domain to remove",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "remove_sending_domain",
"outputSchema": null
},
{
"description": "Request a dedicated WireGuard IP for email sending. Submits to the provisioning queue.",
"inputSchema": {
"properties": {
"account_id": {
"description": "Optional account identifier",
"optional": true,
"type": "string"
},
"email_domain": {
"description": "Your email domain (e.g. company.com)",
"type": "string"
}
},
"required": [
"email_domain"
],
"type": "object"
},
"name": "request_email_ip",
"outputSchema": null
},
{
"description": "Reset the SMTP password for an email account. Returns new password once.",
"inputSchema": {
"properties": {
"address": {
"description": "Email address of the account",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "reset_account_password",
"outputSchema": null
},
{
"description": "Send an email with text or HTML content",
"inputSchema": {
"properties": {
"attachments": {
"description": "Array of file attachments",
"items": {
"properties": {
"content": {
"type": "string"
},
"encoding": {
"default": "base64",
"type": "string"
},
"filename": {
"type": "string"
}
},
"type": "object"
},
"optional": true,
"type": "array"
},
"bcc": {
"description": "Array of BCC recipient email addresses",
"items": {
"type": "string"
},
"optional": true,
"type": "array"
},
"bulk_mode": {
"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).",
"enum": [
"individual",
"bcc",
"to"
],
"optional": true,
"type": "string"
},
"cc": {
"description": "Array of CC recipient email addresses",
"items": {
"type": "string"
},
"optional": true,
"type": "array"
},
"from": {
"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.",
"optional": true,
"type": "string"
},
"html": {
"description": "HTML content of the email",
"optional": true,
"type": "string"
},
"provider": {
"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.",
"optional": true,
"type": "string"
},
"subject": {
"description": "Email subject line",
"type": "string"
},
"text": {
"description": "Plain text content of the email",
"type": "string"
},
"to": {
"description": "Array of recipient email addresses",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"to",
"subject",
"text"
],
"type": "object"
},
"name": "send_email",
"outputSchema": null
},
{
"description": "Send an email using a predefined template",
"inputSchema": {
"properties": {
"bulk_mode": {
"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).",
"enum": [
"individual",
"bcc",
"to"
],
"optional": true,
"type": "string"
},
"provider": {
"description": "Send via a specific provider instead of the default (e.g. smtp, mailgun, sendgrid, ses, gmail, resend)",
"optional": true,
"type": "string"
},
"subject": {
"description": "Email subject (can override template subject)",
"optional": true,
"type": "string"
},
"template": {
"description": "Template name or path",
"type": "string"
},
"to": {
"description": "Array of recipient email addresses",
"items": {
"type": "string"
},
"type": "array"
},
"variables": {
"additionalProperties": true,
"description": "Template variables to replace",
"type": "object"
}
},
"required": [
"to",
"template"
],
"type": "object"
},
"name": "send_template_email",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"address": {
"description": "Address of the existing account (must already be created via create_email_account)",
"type": "string"
},
"imap_host": {
"description": "e.g. imap.mail.me.com, imap.gmail.com, imap.fastmail.com",
"type": "string"
},
"imap_password": {
"description": "IMAP password (often same as SMTP)",
"type": "string"
},
"imap_port": {
"description": "Default 993",
"type": "number"
},
"imap_user": {
"description": "IMAP username — usually the full email address",
"type": "string"
},
"sent_folder": {
"description": "Override Sent folder name. Auto-discovered via SPECIAL-USE if omitted.",
"optional": true,
"type": "string"
},
"smtp_host": {
"description": "e.g. smtp.mail.me.com (iCloud), smtp.gmail.com, smtp.fastmail.com",
"type": "string"
},
"smtp_password": {
"description": "SMTP password or app-specific password",
"type": "string"
},
"smtp_port": {
"description": "Default 587",
"type": "number"
},
"smtp_user": {
"description": "SMTP username — usually the full email address",
"type": "string"
}
},
"required": [
"address",
"smtp_host",
"smtp_user",
"smtp_password",
"imap_host",
"imap_user",
"imap_password"
],
"type": "object"
},
"name": "set_personal_email_credentials",
"outputSchema": null
},
{
"description": "Auto-configure DKIM, SPF, and DMARC for autonomous email. Generates DKIM keys, creates DNS records, and outputs everything needed.",
"inputSchema": {
"properties": {
"dkim_selector": {
"description": "DKIM selector (default: emailmcp)",
"optional": true,
"type": "string"
},
"dmarc_policy": {
"description": "DMARC policy (default: reject)",
"enum": [
"none",
"quarantine",
"reject"
],
"optional": true,
"type": "string"
},
"domain": {
"description": "Your email domain",
"type": "string"
},
"ipv4": {
"description": "Your dedicated IPv4 address",
"type": "string"
}
},
"required": [
"domain",
"ipv4"
],
"type": "object"
},
"name": "setup_autonomous_security",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain whose MX is being temporarily redirected (must be a POC we own in setipio-api)",
"type": "string"
},
"forward_to": {
"description": "Address where verification mails are relayed in real time",
"type": "string"
},
"real_mx_target": {
"description": "Optional. If provided, on teardown the MX is set to this target (e.g. apple.com) instead of restoring the pre-window snapshot.",
"type": "string"
},
"ttl_minutes": {
"description": "Auto-teardown after this many minutes (default 60)",
"type": "number"
}
},
"required": [
"domain",
"forward_to"
],
"type": "object"
},
"name": "start_domain_verification",
"outputSchema": null
},
{
"description": "Start monitoring the provisioned email server — checks tunnel, SMTP, DNS, and IP reputation every 60 seconds. Auto-restarts on failure.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "start_health_monitor",
"outputSchema": null
},
{
"description": "Start real-time IMAP IDLE watching on email accounts. Get push notifications when new emails arrive. Works with Gmail, iCloud, Office365, etc.",
"inputSchema": {
"properties": {
"account": {
"description": "Account name to watch (e.g. \"work\", \"personal\"). Omit to watch all configured accounts.",
"optional": true,
"type": "string"
}
},
"type": "object"
},
"name": "start_idle_watch",
"outputSchema": null
},
{
"description": "Start the SMTP server to receive forwarded corporate emails",
"inputSchema": {
"properties": {
"allowedForwarders": {
"default": [],
"description": "IP addresses allowed to forward emails (empty = allow all)",
"items": {
"type": "string"
},
"type": "array"
},
"enableThreading": {
"default": true,
"description": "Enable conversation threading",
"type": "boolean"
},
"port": {
"default": 2525,
"description": "Port to listen on (default: 2525)",
"type": "number"
},
"receivingDomains": {
"default": [],
"description": "Domains to accept emails for (empty = accept all)",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "start_smtp_receiver",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain to tear down",
"type": "string"
},
"real_mx_target": {
"description": "Optional final MX target (e.g. apple.com). Overrides the snapshot restore.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "stop_domain_verification",
"outputSchema": null
},
{
"description": "Stop IMAP IDLE watching on an account (or all accounts)",
"inputSchema": {
"properties": {
"account": {
"description": "Account to stop watching. Omit to stop all.",
"optional": true,
"type": "string"
}
},
"type": "object"
},
"name": "stop_idle_watch",
"outputSchema": null
},
{
"description": "Stop the SMTP forward receiver server",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "stop_smtp_receiver",
"outputSchema": null
},
{
"description": "Test email configuration by sending a test email",
"inputSchema": {
"properties": {
"test_email": {
"description": "Email address to send test email to (optional, defaults to from_email)",
"type": "string"
}
},
"type": "object"
},
"name": "test_email_config",
"outputSchema": null
},
{
"description": "Update an existing email rule (enable/disable, change match/actions/priority)",
"inputSchema": {
"properties": {
"actions": {
"description": "New actions",
"optional": true,
"type": "array"
},
"enabled": {
"description": "Enable or disable the rule",
"optional": true,
"type": "boolean"
},
"match": {
"description": "New match conditions",
"optional": true,
"type": "object"
},
"priority": {
"description": "New priority",
"optional": true,
"type": "number"
},
"rule_id": {
"description": "Rule ID to update",
"type": "string"
},
"stop": {
"description": "Stop after match",
"optional": true,
"type": "boolean"
}
},
"required": [
"rule_id"
],
"type": "object"
},
"name": "update_email_rule",
"outputSchema": null
},
{
"description": "Validate email addresses and check deliverability",
"inputSchema": {
"properties": {
"check_mx": {
"default": true,
"description": "Check MX records for domain",
"type": "boolean"
},
"check_smtp": {
"default": false,
"description": "Perform SMTP validation",
"type": "boolean"
},
"emails": {
"description": "Array of email addresses to validate",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"emails"
],
"type": "object"
},
"name": "validate_email",
"outputSchema": null
},
{
"description": "Verify that autonomous email is properly configured: DNS records, DKIM, SMTP send/receive",
"inputSchema": {
"properties": {
"domain": {
"description": "Your email domain to verify",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "verify_autonomous_setup",
"outputSchema": null
},
{
"description": "Verify IP whitelisting and email provider configuration",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain to check for DNS records (required if include_dns is true)",
"type": "string"
},
"include_dns": {
"default": false,
"description": "Include DNS record verification",
"type": "boolean"
},
"provider": {
"description": "Email provider to verify, or \"all\" for all configured providers",
"enum": [
"sendgrid",
"mailgun",
"ses",
"resend",
"all"
],
"type": "string"
},
"test_email": {
"description": "Optional test email address to verify delivery",
"format": "email",
"type": "string"
}
},
"required": [
"provider"
],
"type": "object"
},
"name": "verify_email_setup",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:bbe25a091370a819d780289f8aca1b1f90dfabc59088e82a3f73f40e6efe3858 | sha256sum