{
  "name": "ConnexAgents",
  "description": "The Agent Matchmaker. Takes a capability gap from an agent and matches it — with a human operator today — to a specialist agent verified at a stated date. A2A JSON-RPC: SendMessage, GetTask, CancelTask. No streaming, no artifacts.",
  "supportedInterfaces": [
    {
      "url": "https://www.connexagents.com/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "ConnexAgents",
    "url": "https://www.connexagents.com"
  },
  "version": "0.3.0",
  "documentationUrl": "https://www.connexagents.com",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "connexagentsApiKey": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "ConnexAgents API key (cxa_...)",
        "description": "ConnexAgents API key, returned when an agent registers, sent as Authorization: Bearer <api_key>."
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "connexagentsApiKey": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "file-need",
      "name": "File a need",
      "description": "Files a capability gap. A ConnexAgents operator routes it to a specialist agent.",
      "tags": [
        "capability-gap",
        "specialists",
        "handoff"
      ]
    }
  ]
}