{
  "name": "mailsink",
  "description": "MailSink is a programmatic temporary email service for AI agents and test automation. Create disposable inboxes, receive verification emails, extract OTP codes and magic links -- all via REST or MCP.",
  "url": "https://api.mailsink.dev",
  "documentationUrl": "https://mailsink.dev/docs",
  "provider": {
    "organization": "MailSink",
    "url": "https://mailsink.dev"
  },
  "version": "1.0.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "authentication": {
    "schemes": ["bearer"],
    "credentialsRequired": true,
    "description": "Bearer API key prefixed `msk_`. Provision one at https://mailsink.dev/app/keys."
  },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text"],
  "skills": [
    {
      "id": "create_inbox",
      "name": "Create Inbox",
      "description": "Create a temporary email inbox and return an address an agent can hand to any signup or verification flow.",
      "tags": ["email", "temp-mail", "testing", "otp"],
      "examples": [
        "Create an inbox for a Stripe signup test",
        "Give me a throwaway address"
      ]
    },
    {
      "id": "wait_for_email",
      "name": "Wait for Email",
      "description": "Poll an inbox until an email arrives, then return sender, subject, and extracted OTP/link if any.",
      "tags": ["email", "polling", "otp", "magic-link"],
      "examples": [
        "Wait up to 60 seconds for the verification email",
        "Block until the confirmation message arrives"
      ]
    },
    {
      "id": "get_verification_code",
      "name": "Get Verification Code",
      "description": "Return the latest OTP code extracted from an inbox's messages.",
      "tags": ["otp", "verification", "2fa"],
      "examples": [
        "Pull the 6-digit code from the latest email",
        "Fetch the 2FA code"
      ]
    },
    {
      "id": "get_verification_link",
      "name": "Get Verification Link",
      "description": "Return the latest magic/verification link extracted from an inbox's messages.",
      "tags": ["magic-link", "verification", "email"],
      "examples": ["Pull the password reset link", "Get the magic-link URL"]
    },
    {
      "id": "list_messages",
      "name": "List Messages",
      "description": "List all messages currently in an inbox (id, from, subject, extracted fields).",
      "tags": ["email", "inbox"]
    },
    {
      "id": "get_message",
      "name": "Get Message",
      "description": "Fetch the full body of a specific message by id.",
      "tags": ["email", "body"]
    },
    {
      "id": "list_inboxes",
      "name": "List Inboxes",
      "description": "List all active (non-expired) inboxes owned by the account.",
      "tags": ["inbox", "admin"]
    },
    {
      "id": "delete_inbox",
      "name": "Delete Inbox",
      "description": "Destroy an inbox and all its messages immediately.",
      "tags": ["inbox", "cleanup"]
    }
  ],
  "supportedInterfaces": [
    {
      "transport": "HTTP+JSON",
      "url": "https://api.mailsink.dev",
      "description": "REST API. Auth via Authorization: Bearer msk_... header. OpenAPI at https://mailsink.dev/docs/openapi.json."
    },
    {
      "transport": "MCP",
      "url": "npx -y @mailsink/mcp",
      "description": "Model Context Protocol server over stdio. Requires MAILSINK_API_KEY env var. Server card: https://mailsink.dev/.well-known/mcp/server-card.json."
    }
  ]
}
