{
  "protocolVersion": "0.3",
  "name": "Mailows Mail Agent",
  "description": "Sends and lists email from mailboxes a person explicitly granted to the calling agent. Deterministic: it executes the skill you name, it does not interpret free-form instructions.",
  "version": "0.9.2",
  "documentationUrl": "https://www.mailows.com/mcp-manual",
  "provider": {
    "organization": "Mailows",
    "url": "https://www.mailows.com"
  },
  "supportedInterfaces": [
    {
      "url": "https://mcp.mailows.com/a2a",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "0.3"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "Same grant as MCP: a person authorises specific mailboxes and can revoke at any time.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://id.namailu.cz/authorize",
          "tokenUrl": "https://id.namailu.cz/token",
          "scopes": {
            "mcp:mail.messages.read": "mcp:mail.messages.read",
            "mcp:mail.read": "mcp:mail.read",
            "mcp:mail.send": "mcp:mail.send"
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth2": [
        "mcp:mail.messages.read",
        "mcp:mail.read",
        "mcp:mail.send"
      ]
    }
  ],
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "send-email",
      "name": "Send an email",
      "description": "Send a message from a granted mailbox. Requires a data part with skill=send-email, to, subject, text, idempotency_key (stable across retries); inbox_id is optional when the grant covers one mailbox.",
      "tags": [
        "email",
        "send"
      ],
      "examples": [
        "{\"skill\": \"send-email\", \"to\": \"a@example.com\", \"subject\": \"Hello\", \"text\": \"Hi there\", \"idempotency_key\": \"hello-001\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list-inbox",
      "name": "List recent messages",
      "description": "List messages in a granted mailbox. Data part with skill=list-inbox and optional inbox_id, folder, integer limit 1–200. Subjects and bodies are not returned by this skill.",
      "tags": [
        "email",
        "read"
      ],
      "examples": [
        "{\"skill\": \"list-inbox\", \"limit\": 10}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}