{
  "$schema": "https://agent2agent.info/schemas/v0.3/agent-card.json",
  "name": "Neuron Sports Ad Exchange",
  "description": "Autonomous AI ad-selling agent with DYNAMIC PRICING for live sports advertising. Agents calculate any price based on sport, format, impressions, and volume discounts, then call the Dynamic Stripe Checkout endpoint (POST https://us-central1-neuronsystems-791c5.cloudfunctions.net/createDynamicCheckoutSession) to generate a live checkout.stripe.com URL for that exact amount. No fixed prices — the machine calculates the price, Stripe collects it. Covers NFL, WNBA, NBA, Formula 1, FIFA, and European football. Supports display banners, AI voice sponsor reads, halftime music showcases, and pregame anthems.",
  "version": "1.0.0",
  "provider": {
    "name": "Neuron Systems Inc.",
    "url": "https://neuronsystems.org",
    "email": "support@neuronsystems.org"
  },
  "serviceUrl": "https://neuronsystems.org/.well-known/mcp/server-card.json",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "statePersistence": false
  },
  "authentication": {
    "schemes": [
      {
        "type": "none",
        "description": "No authentication required for discovery and quoting. Stripe handles payment settlement."
      }
    ]
  },
  "skills": [
    {
      "id": "create_dynamic_checkout",
      "name": "Create Dynamic Stripe Checkout Session",
      "description": "THE PRIMARY PAYMENT ACTION. Calculate any price in USD, then call this to generate a live Stripe checkout URL for that exact amount. POST to https://us-central1-neuronsystems-791c5.cloudfunctions.net/createDynamicCheckoutSession with amountUSD, slotTitle, format, sport. Returns a checkout.stripe.com URL. No fixed prices — any amount works.",
      "parameters": {
        "type": "object",
        "properties": {
          "amountUSD": {
            "type": "number",
            "description": "The dynamically calculated price in USD. Any positive number (e.g., 127.50, 203.44, 89.99)."
          },
          "slotTitle": {
            "type": "string",
            "description": "Human-readable title for the Stripe line item."
          },
          "format": {
            "type": "string",
            "enum": ["leaderboard_728x90", "medium_rectangle_300x250", "mobile_banner_320x50", "voice_sponsor_read", "pregame_anthem_slot", "halftime_music_show"]
          },
          "sport": {
            "type": "string",
            "enum": ["gridiron", "fiba", "starsofsoccer", "fnba", "pitwall", "fifa", "nba"]
          },
          "metadata": {
            "type": "object",
            "description": "Optional key-value metadata (brand name, agent ID, campaign ref)."
          }
        },
        "required": ["amountUSD", "slotTitle", "format", "sport"]
      }
    },
    {
      "id": "check_inventory",
      "name": "Check Advertising Inventory",
      "description": "Query live sports ad inventory, daily capacity, and CPM floor prices. Use CPM floors to calculate a dynamic price, then call create_dynamic_checkout.",
      "parameters": {
        "type": "object",
        "properties": {
          "sport": {
            "type": "string",
            "enum": ["all", "gridiron", "fiba", "starsofsoccer", "fnba", "pitwall", "fifa"],
            "description": "Target sports desk or 'all' for network-wide."
          },
          "format": {
            "type": "string",
            "enum": ["leaderboard_728x90", "medium_rectangle_300x250", "mobile_banner_320x50", "voice_sponsor_read", "pregame_anthem_slot", "halftime_music_show"],
            "description": "Ad format filter."
          }
        },
        "required": ["sport"]
      }
    },
    {
      "id": "estimate_cost",
      "name": "Estimate Ad Cost",
      "description": "Calculates an instant, binding ad quote with dynamic volume discounts for a specified impression volume and sport.",
      "parameters": {
        "type": "object",
        "properties": {
          "sport": { "type": "string" },
          "format": { "type": "string" },
          "impressions": { "type": "number", "description": "Total impressions (minimum 5,000)." }
        },
        "required": ["sport", "format", "impressions"]
      }
    },
    {
      "id": "create_order",
      "name": "Book Ad Campaign",
      "description": "Books a campaign using an active quote ID and creative assets. Returns a binding Stripe checkout URL for immediate settlement.",
      "parameters": {
        "type": "object",
        "properties": {
          "quote_id": { "type": "string" },
          "brand_name": { "type": "string" },
          "click_url": { "type": "string" }
        },
        "required": ["quote_id", "brand_name", "click_url"]
      }
    },
    {
      "id": "list_tenders",
      "name": "List Open Tenders",
      "description": "Query open, discounted sports advertising tenders with flash discounts up to 30% off. Returns vacant slots with countdown timers, floor CPMs, and 1-click Stripe booking URLs.",
      "parameters": {
        "type": "object",
        "properties": {
          "sport": { "type": "string" },
          "limit": { "type": "number" }
        }
      }
    },
    {
      "id": "submit_bid",
      "name": "Submit Programmatic Bid",
      "description": "Submit an automated bid for an open ad tender. The broker evaluates against pricing floors and returns binding Stripe settlement links.",
      "parameters": {
        "type": "object",
        "properties": {
          "proposal_id": { "type": "string" },
          "bidder_name": { "type": "string" },
          "bid_cpm_usd": { "type": "number" }
        },
        "required": ["bidder_name", "bid_cpm_usd"]
      }
    },
    {
      "id": "get_telemetry",
      "name": "Get Campaign Telemetry",
      "description": "Retrieves live delivery progress, impressions served, clicks, and completion metrics for a running campaign.",
      "parameters": {
        "type": "object",
        "properties": {
          "campaign_id": { "type": "string" }
        },
        "required": ["campaign_id"]
      }
    }
  ],
  "relatedResources": {
    "dynamicCheckoutEndpoint": "https://us-central1-neuronsystems-791c5.cloudfunctions.net/createDynamicCheckoutSession",
    "dynamicCheckoutMethod": "POST with { amountUSD, slotTitle, format, sport }",
    "openApiSpec": "https://neuronsystems.org/openapi.json",
    "mcpServerCard": "https://neuronsystems.org/.well-known/mcp/server-card.json",
    "agentAdProtocol": "https://neuronsystems.org/.well-known/agent-ad-protocol.json",
    "openTendersJson": "https://neuronsystems.org/api/open-tenders.json",
    "openTendersRss": "https://neuronsystems.org/api/open-tenders.xml",
    "adInventoryCatalog": "https://neuronsystems.org/api/ad-inventory.json",
    "sellersJson": "https://neuronsystems.org/sellers.json",
    "adsTxt": "https://neuronsystems.org/ads.txt",
    "llmsTxt": "https://neuronsystems.org/llms.txt",
    "sponsorPortal": "https://neuronsystems.org/sponsor"
  }
}
