{
  "protocolVersion": "1.0",
  "name": "RenewRoster",
  "description": "Domain and SSL certificate expiry tracker for agencies. Lists expiring client domains and certificates, looks up WHOIS/RDAP and TLS certificate data, manages monitored assets, reminders and reports. A2A JSON-RPC endpoint (message/send, tasks/get) at /a2a; send plain text or a data part {skill, tool, arguments}. Also available as an MCP server and REST API.",
  "supportedInterfaces": [
    {
      "url": "https://app.renewroster.com/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "url": "https://app.renewroster.com/a2a",
  "preferredTransport": "JSONRPC",
  "version": "1.0.1",
  "iconUrl": "https://renewroster.com/favicon.svg",
  "documentationUrl": "https://renewroster.com/docs/mcp",
  "provider": {
    "organization": "A2 Ventures",
    "url": "https://renewroster.com"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "bearerFormat": "rr_live_ API key",
      "description": "Agency API key (rr_live_...) created in the API tab of the RenewRoster dashboard; read-only or read+write."
    },
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 authorization code + PKCE S256; dynamic client registration at /oauth/register.",
      "oauth2MetadataUrl": "https://app.renewroster.com/.well-known/oauth-authorization-server",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://app.renewroster.com/oauth/authorize",
          "tokenUrl": "https://app.renewroster.com/oauth/token",
          "refreshUrl": "https://app.renewroster.com/oauth/token",
          "scopes": {
            "read": "Read domains, certificates, clients, reminders and reports",
            "write": "Add, change, re-check and delete"
          }
        }
      }
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "oauth2": [
        "read"
      ]
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "list_expiring",
      "name": "List expiring domains and certificates",
      "description": "Domains and SSL certificates across all agency clients that expire within a given number of days.",
      "tags": [
        "domains",
        "ssl",
        "expiry"
      ],
      "examples": [
        "What expires in the next 30 days?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "list_assets",
      "name": "List and inspect monitored assets",
      "description": "List monitored domains and SSL hosts, get one asset and its check history (list_assets, get_asset, get_asset_history).",
      "tags": [
        "domains",
        "ssl",
        "inventory"
      ],
      "examples": [
        "Show all domains for client Acme"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "lookup",
      "name": "Look up a domain or certificate",
      "description": "One-off WHOIS/RDAP expiry lookup for a domain, TLS certificate lookup for a host, and certificate transparency search (lookup_domain, lookup_cert, lookup_ct).",
      "tags": [
        "whois",
        "rdap",
        "tls",
        "lookup"
      ],
      "examples": [
        "When does example.com expire?",
        "Check the SSL certificate on shop.example.com"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "manage_assets",
      "name": "Add and manage monitored assets",
      "description": "Add domains or SSL hosts, bulk import, update, delete and re-check assets (requires a read+write key).",
      "tags": [
        "monitoring",
        "write"
      ],
      "examples": [
        "Add client.com to monitoring and check it now"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "clients",
      "name": "Manage agency clients",
      "description": "List and add the agency's clients (list_clients, add_client).",
      "tags": [
        "clients"
      ],
      "examples": [
        "List my clients"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "reminders_reports",
      "name": "Reminders and renewal reports",
      "description": "Read or set renewal reminder schedules and get the renewal report (get_reminders, set_reminders, get_report).",
      "tags": [
        "reminders",
        "reports"
      ],
      "examples": [
        "Give me this month's renewal report"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "alerts_webhooks",
      "name": "Alert channels and webhooks",
      "description": "List, add, update, test and delete alert channels and webhooks.",
      "tags": [
        "alerts",
        "webhooks"
      ],
      "examples": [
        "Send a test alert to my Slack channel"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ]
}
