{
  "name": "MailPal",
  "description": "Free email service for AI agents. Full SMTP/IMAP/JMAP/POP3 email with hardware attestation, CalDAV calendars, CardDAV contacts, and WebDAV file storage. Every agent gets a real @mailpal.com address. Outbound emails can carry cryptographic proof of hardware identity (TPM/PIV/Secure Enclave). Real-time inbox notifications via streaming. Powered by 1id.com hardware-anchored identity.",
  "version": "1.0.0",
  "supported_interfaces": [
    {
      "url": "https://mailpal.com/a2a",
      "protocol_binding": "JSONRPC",
      "protocol_version": "1.0"
    },
    {
      "url": "https://mailpal.com/api/v1",
      "protocol_binding": "REST",
      "protocol_version": "1.0"
    }
  ],
  "provider": {
    "organization": "Crypt Inc.",
    "url": "https://cryptinc.com"
  },
  "documentation_url": "https://mailpal.com/llms.txt",
  "icon_url": "https://mailpal.com/mailpallogo.svg",
  "capabilities": {
    "streaming": true,
    "push_notifications": true,
    "extended_agent_card": true
  },
  "security_schemes": {
    "public": {
      "type": "http",
      "scheme": "none",
      "description": "No authentication required. Used for agent card discovery, status checks, and domain listing."
    },
    "oneid_jwt": {
      "type": "openIdConnect",
      "open_id_connect_url": "https://1id.com/auth/realms/agents/.well-known/openid-configuration",
      "description": "1id.com identity JWT obtained via OAuth2 client_credentials grant. Install: pip install oneid. Obtain token: import oneid; token = oneid.get_token()"
    }
  },
  "security_requirements": [
    { "oneid_jwt": [] }
  ],
  "default_input_modes": [
    "text/plain",
    "application/json"
  ],
  "default_output_modes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "send-email",
      "name": "Send Email",
      "description": "Send an email from the agent's @mailpal.com address. Supports plain text, HTML, CC/BCC, attachments, and in-reply-to threading.",
      "tags": ["email", "smtp", "send", "communication", "messaging"],
      "examples": [
        "Send an email to alice@example.com with the subject 'Meeting Notes'",
        "Email the quarterly report to the finance team"
      ]
    },
    {
      "id": "send-attested-email",
      "name": "Send Hardware-Attested Email",
      "description": "Send an email with cryptographic hardware attestation headers proving the message originated from real hardware (TPM, PIV, or Secure Enclave). Mode 1: CMS SignedData with manufacturer cert chain. Mode 2: SD-JWT signed by 1id.com. Requires sovereign or portable trust tier. Unique to MailPal.",
      "tags": ["email", "attestation", "tpm", "hardware", "trust", "cryptographic-proof", "anti-spam"],
      "examples": [
        "Send an attested email to compliance@bank.com proving my hardware identity",
        "Email the contract with hardware attestation mode 1 (direct TPM proof)"
      ]
    },
    {
      "id": "read-inbox",
      "name": "Read Email Inbox",
      "description": "Check the agent's inbox for messages. Returns summaries: sender, subject, date, snippet, attestation verification results. Supports folder filter, unread-only, pagination.",
      "tags": ["email", "inbox", "imap", "jmap", "receive", "read"],
      "examples": [
        "Check my inbox for new messages",
        "List unread emails from the last 24 hours"
      ]
    },
    {
      "id": "read-message",
      "name": "Read Full Email Message",
      "description": "Retrieve complete content of a specific email by ID. Returns headers, body (text+HTML), attachments list, thread ID, and hardware attestation Authentication-Results.",
      "tags": ["email", "read", "message", "headers", "attachments"],
      "examples": [
        "Read message msg-abc123 in full",
        "Show me the attestation results for this message"
      ]
    },
    {
      "id": "search-email",
      "name": "Search Email",
      "description": "Full-text search across the agent's mailbox. Filter by content, sender, date range, folder. Powered by Stalwart full-text search (17 languages).",
      "tags": ["email", "search", "query", "find", "filter"],
      "examples": [
        "Search for emails from support@example.com about invoice",
        "Find messages containing 'API key' received this week"
      ]
    },
    {
      "id": "reply-to-email",
      "name": "Reply to Email",
      "description": "Reply to a specific email maintaining the conversation thread. Automatically sets In-Reply-To and References headers. Supports reply-all.",
      "tags": ["email", "reply", "thread", "conversation"],
      "examples": [
        "Reply to Bob's email saying 'Acknowledged, will process by Friday'",
        "Reply-all to the team thread with the updated status"
      ]
    },
    {
      "id": "watch-inbox",
      "name": "Watch Inbox for New Email (Streaming)",
      "description": "Subscribe to real-time notifications for new incoming email. Detects new mail in under 1 second via JMAP EventSource. Returns a streaming task that pushes email summaries as they arrive. Can also be configured with push notifications to POST to a webhook URL when new mail arrives. Long-running task -- remains in 'working' state until cancelled.",
      "tags": ["email", "watch", "subscribe", "notifications", "realtime", "push", "events", "streaming"],
      "examples": [
        "Watch my inbox and notify me when new email arrives",
        "Monitor for messages from billing@vendor.com",
        "Push new email notifications to https://myagent.example.com/hook"
      ]
    },
    {
      "id": "activate-account",
      "name": "Activate MailPal Account",
      "description": "Create a free mailpal.com email account. Requires a 1id.com identity. Returns a permanent email address and app password for direct SMTP/IMAP access. Includes Proof-of-Intelligence challenge. Idempotent -- returns existing account if already activated.",
      "tags": ["email", "account", "activate", "setup", "onboarding", "free"],
      "examples": [
        "Create a mailpal.com email account for this agent",
        "Activate my email"
      ],
      "security_requirements": [{ "oneid_jwt": [] }]
    },
    {
      "id": "account-status",
      "name": "Check Account Status",
      "description": "Check account status: trust tier, rate limits, storage quota, attestation capability, send usage.",
      "tags": ["email", "account", "status", "quota", "limits"],
      "examples": [
        "What are my rate limits?",
        "Can I send attested emails?"
      ]
    }
  ]
}
