SportsGameOdds · Capability

SportsGameOdds Sports Betting Odds

Unified sports betting odds capability composing SportsGameOdds data to support odds comparison, event monitoring, player prop research, and market discovery across 80+ sportsbooks and 50+ leagues. Used by sports bettors, traders, and fantasy sports analysts.

Run with Naftiko Sports BettingOddsNFLNBAMLBNHLSoccerUFCPlayer Props

What You Can Do

GET
List events — List sporting events with sport, league, and status filters
/v1/events
GET
Get event — Get event with full multi-sportsbook odds
/v1/events/{eventId}
GET
List teams — List teams by sport or league
/v1/teams
GET
Get team — Get team by ID
/v1/teams/{teamId}
GET
List players — List players by team, sport, or league
/v1/players
GET
Get player — Get player by ID
/v1/players/{playerId}
GET
List sports — List all 50+ covered sports
/v1/sports
GET
List leagues — List all leagues with optional sport filter
/v1/leagues
GET
List markets — List available betting markets (moneylines, spreads, totals, props)
/v1/markets
GET
List stats — Retrieve statistical data for events
/v1/stats
GET
Get usage — Get API usage metrics
/v1/account/usage

MCP Tools

list-events

List sporting events with live odds. Filter by sport (NFL, NBA, etc.), league, and status (scheduled/live/completed).

read-only
get-event

Get full odds for a specific event from all 80+ sportsbooks across all markets.

read-only
list-teams

List sports teams for a given sport or league.

read-only
get-team

Get details for a specific sports team by ID.

read-only
list-players

List athletes for player prop research by team, sport, or league.

read-only
get-player

Get player details and props odds by player ID.

read-only
list-sports

List all 50+ sports covered by SportsGameOdds.

read-only
list-leagues

List all covered leagues (NFL, NBA, MLB, NHL, EPL, UCL, UFC, PGA, ATP, etc.).

read-only
list-markets

List available betting market types — moneylines, spreads, totals, team props, and player props.

read-only
list-stats

Retrieve statistical data for events by sport or league.

read-only
get-account-usage

Get current API usage metrics and remaining rate limit quota.

read-only

APIs Used

sportsgameodds

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "SportsGameOdds Sports Betting Odds"
  description: >-
    Unified sports betting odds capability composing SportsGameOdds data to support
    odds comparison, event monitoring, player prop research, and market discovery
    across 80+ sportsbooks and 50+ leagues. Used by sports bettors, traders, and
    fantasy sports analysts.
  tags:
    - Sports Betting
    - Odds
    - NFL
    - NBA
    - MLB
    - NHL
    - Soccer
    - UFC
    - Player Props
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SPORTSGAMEODDS_API_KEY: SPORTSGAMEODDS_API_KEY

capability:
  consumes:
    - import: sportsgameodds
      location: ./shared/sportsgameodds.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: sports-betting-odds-api
      description: "Unified REST API for sports betting odds comparison and research."
      resources:
        - path: /v1/events
          name: events
          description: "Sporting events with live odds from multiple sportsbooks"
          operations:
            - method: GET
              name: list-events
              description: "List sporting events with sport, league, and status filters"
              call: "sportsgameodds.list-events"
              with:
                sport: "rest.sport"
                league: "rest.league"
                status: "rest.status"
                dateFrom: "rest.dateFrom"
                dateTo: "rest.dateTo"
                limit: "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/events/{eventId}
          name: event
          description: "Single sporting event with complete odds across all sportsbooks"
          operations:
            - method: GET
              name: get-event
              description: "Get event with full multi-sportsbook odds"
              call: "sportsgameodds.get-event"
              with:
                eventId: "rest.eventId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/teams
          name: teams
          description: "Sports teams"
          operations:
            - method: GET
              name: list-teams
              description: "List teams by sport or league"
              call: "sportsgameodds.list-teams"
              with:
                sport: "rest.sport"
                league: "rest.league"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/teams/{teamId}
          name: team
          description: "Individual sports team"
          operations:
            - method: GET
              name: get-team
              description: "Get team by ID"
              call: "sportsgameodds.get-team"
              with:
                teamId: "rest.teamId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/players
          name: players
          description: "Athletes for player prop research"
          operations:
            - method: GET
              name: list-players
              description: "List players by team, sport, or league"
              call: "sportsgameodds.list-players"
              with:
                teamId: "rest.teamId"
                sport: "rest.sport"
                league: "rest.league"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/players/{playerId}
          name: player
          description: "Individual athlete with props data"
          operations:
            - method: GET
              name: get-player
              description: "Get player by ID"
              call: "sportsgameodds.get-player"
              with:
                playerId: "rest.playerId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/sports
          name: sports
          description: "Supported sports catalog"
          operations:
            - method: GET
              name: list-sports
              description: "List all 50+ covered sports"
              call: "sportsgameodds.list-sports"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/leagues
          name: leagues
          description: "Supported leagues catalog"
          operations:
            - method: GET
              name: list-leagues
              description: "List all leagues with optional sport filter"
              call: "sportsgameodds.list-leagues"
              with:
                sport: "rest.sport"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/markets
          name: markets
          description: "Betting market types"
          operations:
            - method: GET
              name: list-markets
              description: "List available betting markets (moneylines, spreads, totals, props)"
              call: "sportsgameodds.list-markets"
              with:
                sport: "rest.sport"
                betType: "rest.betType"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/stats
          name: stats
          description: "Game and player statistics"
          operations:
            - method: GET
              name: list-stats
              description: "Retrieve statistical data for events"
              call: "sportsgameodds.list-stats"
              with:
                eventId: "rest.eventId"
                sport: "rest.sport"
                league: "rest.league"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/account/usage
          name: usage
          description: "API usage and rate limit status"
          operations:
            - method: GET
              name: get-usage
              description: "Get API usage metrics"
              call: "sportsgameodds.get-usage"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: sports-betting-odds-mcp
      transport: http
      description: "MCP server for AI-assisted sports betting odds research and comparison."
      tools:
        - name: list-events
          description: "List sporting events with live odds. Filter by sport (NFL, NBA, etc.), league, and status (scheduled/live/completed)."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-events"
          with:
            sport: "tools.sport"
            league: "tools.league"
            status: "tools.status"
            dateFrom: "tools.dateFrom"
            dateTo: "tools.dateTo"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-event
          description: "Get full odds for a specific event from all 80+ sportsbooks across all markets."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.get-event"
          with:
            eventId: "tools.eventId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-teams
          description: "List sports teams for a given sport or league."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-teams"
          with:
            sport: "tools.sport"
            league: "tools.league"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-team
          description: "Get details for a specific sports team by ID."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.get-team"
          with:
            teamId: "tools.teamId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-players
          description: "List athletes for player prop research by team, sport, or league."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-players"
          with:
            teamId: "tools.teamId"
            sport: "tools.sport"
            league: "tools.league"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-player
          description: "Get player details and props odds by player ID."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.get-player"
          with:
            playerId: "tools.playerId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-sports
          description: "List all 50+ sports covered by SportsGameOdds."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-sports"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-leagues
          description: "List all covered leagues (NFL, NBA, MLB, NHL, EPL, UCL, UFC, PGA, ATP, etc.)."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-leagues"
          with:
            sport: "tools.sport"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-markets
          description: "List available betting market types — moneylines, spreads, totals, team props, and player props."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-markets"
          with:
            sport: "tools.sport"
            betType: "tools.betType"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-stats
          description: "Retrieve statistical data for events by sport or league."
          hints:
            readOnly: true
            openWorld: true
          call: "sportsgameodds.list-stats"
          with:
            eventId: "tools.eventId"
            sport: "tools.sport"
            league: "tools.league"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-account-usage
          description: "Get current API usage metrics and remaining rate limit quota."
          hints:
            readOnly: true
            openWorld: false
          call: "sportsgameodds.get-usage"
          outputParameters:
            - type: object
              mapping: "$."