Stats Perform · Capability

Stats Perform Sports Analytics

Unified sports analytics capability using the Stats Perform STATS API for accessing live and historical sports data across all major American sports leagues. Enables sports analysts, media platforms, and fantasy sports applications to access scores, box scores, play-by-play, standings, team and player statistics, and editorial content from a single integration point.

Run with Naftiko Sports AnalyticsSports DataFootballBaseballBasketballHockeySoccerLive ScoresStatisticsEditorial

What You Can Do

GET
List scores — List event scores for a sport and league on a given date.
/v1/scores/{sport}/{league}
GET
Get event score — Get score for a specific event.
/v1/scores/{sport}/{league}/{eventId}
GET
Get box score — Get full box score with player statistics.
/v1/box-scores/{sport}/{league}/{eventId}
GET
Get play by play — Get play-by-play data for an event.
/v1/play-by-play/{sport}/{league}/{eventId}
GET
Get standings — Get standings for a sports league.
/v1/standings/{sport}/{league}
GET
List teams — List teams in a sports league.
/v1/teams/{sport}/{league}
GET
List news — List sports editorial news.
/v1/news/{sport}/{league}

MCP Tools

list-event-scores

List event scores for a sport and league on a specific date.

read-only
get-event-score

Get the live or final score for a specific sports event.

read-only
get-event-box-score

Get the complete box score with all player statistics for a sports event.

read-only
get-event-play-by-play

Get detailed play-by-play sequence for a sports event.

read-only
list-teams

List all teams in a specified sports league.

read-only
get-team

Get detailed team information including roster and statistics.

read-only
get-standings

Get the current standings for a sports league by conference and division.

read-only
list-sports-news

Get editorial news articles, previews, and recaps for a sport and league.

read-only

Capability Spec

sports-analytics.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stats Perform Sports Analytics
  description: Unified sports analytics capability using the Stats Perform STATS API for accessing live and historical sports
    data across all major American sports leagues. Enables sports analysts, media platforms, and fantasy sports applications
    to access scores, box scores, play-by-play, standings, team and player statistics, and editorial content from a single
    integration point.
  tags:
  - Sports Analytics
  - Sports Data
  - Football
  - Baseball
  - Basketball
  - Hockey
  - Soccer
  - Live Scores
  - Statistics
  - Editorial
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    STATS_PERFORM_API_KEY: STATS_PERFORM_API_KEY
capability:
  consumes:
  - type: http
    namespace: stats-perform
    baseUri: https://api.stats.com/v1
    description: Stats Perform STATS API for comprehensive multi-sport data.
    authentication:
      type: apikey
      key: api_key
      value: '{{STATS_PERFORM_API_KEY}}'
      placement: query
    resources:
    - name: event-scores
      path: /stats/{sport}/{leaguePath}/scores/
      description: Event scores for sports leagues.
      operations:
      - name: list-scores
        method: GET
        description: Returns scores for events on a given date.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path identifier.
        - name: date
          in: query
          type: string
          required: false
          description: Date in YYYYMMDD format.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-event-score
        method: GET
        description: Returns score for a specific event.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: eventId
          in: path
          type: string
          required: true
          description: Event identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: event-box-scores
      path: /stats/{sport}/{leaguePath}/box/
      description: Event box scores.
      operations:
      - name: get-event-box-score
        method: GET
        description: Returns the full box score for a specific event.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: eventId
          in: path
          type: string
          required: true
          description: Event identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: event-pbp
      path: /stats/{sport}/{leaguePath}/playbyplay/
      description: Play-by-play event data.
      operations:
      - name: get-event-play-by-play
        method: GET
        description: Returns play-by-play data for a specific event.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: eventId
          in: path
          type: string
          required: true
          description: Event identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: teams
      path: /stats/{sport}/{leaguePath}/teams/
      description: Sports teams.
      operations:
      - name: list-teams
        method: GET
        description: Returns teams in a league.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-team
        method: GET
        description: Returns detailed team information.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: teamId
          in: path
          type: string
          required: true
          description: Team identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: standings
      path: /stats/{sport}/{leaguePath}/standings/
      description: League standings.
      operations:
      - name: get-standings
        method: GET
        description: Returns league standings.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: season
          in: query
          type: string
          required: false
          description: Season year.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: news
      path: /editorial/{sport}/{leaguePath}/news/
      description: Sports editorial news.
      operations:
      - name: list-news
        method: GET
        description: Returns editorial news articles for a sport/league.
        inputParameters:
        - name: sport
          in: path
          type: string
          required: true
          description: Sport category.
        - name: leaguePath
          in: path
          type: string
          required: true
          description: League path.
        - name: count
          in: query
          type: integer
          required: false
          description: Number of articles to return.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: stats-perform-analytics-api
    description: Unified REST API for multi-sport data analytics via Stats Perform.
    resources:
    - path: /v1/scores/{sport}/{league}
      name: scores
      description: Live and historical event scores by sport and league.
      operations:
      - method: GET
        name: list-scores
        description: List event scores for a sport and league on a given date.
        call: stats-perform.list-scores
        with:
          sport: rest.sport
          leaguePath: rest.league
          date: rest.date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scores/{sport}/{league}/{eventId}
      name: event-score
      description: Score for a specific event.
      operations:
      - method: GET
        name: get-event-score
        description: Get score for a specific event.
        call: stats-perform.get-event-score
        with:
          sport: rest.sport
          leaguePath: rest.league
          eventId: rest.eventId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/box-scores/{sport}/{league}/{eventId}
      name: box-score
      description: Full box score for an event.
      operations:
      - method: GET
        name: get-box-score
        description: Get full box score with player statistics.
        call: stats-perform.get-event-box-score
        with:
          sport: rest.sport
          leaguePath: rest.league
          eventId: rest.eventId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/play-by-play/{sport}/{league}/{eventId}
      name: play-by-play
      description: Play-by-play data for an event.
      operations:
      - method: GET
        name: get-play-by-play
        description: Get play-by-play data for an event.
        call: stats-perform.get-event-play-by-play
        with:
          sport: rest.sport
          leaguePath: rest.league
          eventId: rest.eventId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/standings/{sport}/{league}
      name: standings
      description: League standings.
      operations:
      - method: GET
        name: get-standings
        description: Get standings for a sports league.
        call: stats-perform.get-standings
        with:
          sport: rest.sport
          leaguePath: rest.league
          season: rest.season
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{sport}/{league}
      name: teams
      description: Teams in a league.
      operations:
      - method: GET
        name: list-teams
        description: List teams in a sports league.
        call: stats-perform.list-teams
        with:
          sport: rest.sport
          leaguePath: rest.league
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/{sport}/{league}
      name: news
      description: Editorial news articles.
      operations:
      - method: GET
        name: list-news
        description: List sports editorial news.
        call: stats-perform.list-news
        with:
          sport: rest.sport
          leaguePath: rest.league
          count: rest.count
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: stats-perform-analytics-mcp
    transport: http
    description: MCP server for AI-assisted sports analytics using Stats Perform data.
    tools:
    - name: list-event-scores
      description: List event scores for a sport and league on a specific date.
      hints:
        readOnly: true
        openWorld: true
      call: stats-perform.list-scores
      with:
        sport: tools.sport
        leaguePath: tools.league
        date: tools.date
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event-score
      description: Get the live or final score for a specific sports event.
      hints:
        readOnly: true
        openWorld: false
      call: stats-perform.get-event-score
      with:
        sport: tools.sport
        leaguePath: tools.league
        eventId: tools.eventId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event-box-score
      description: Get the complete box score with all player statistics for a sports event.
      hints:
        readOnly: true
        openWorld: false
      call: stats-perform.get-event-box-score
      with:
        sport: tools.sport
        leaguePath: tools.league
        eventId: tools.eventId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-event-play-by-play
      description: Get detailed play-by-play sequence for a sports event.
      hints:
        readOnly: true
        openWorld: false
      call: stats-perform.get-event-play-by-play
      with:
        sport: tools.sport
        leaguePath: tools.league
        eventId: tools.eventId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-teams
      description: List all teams in a specified sports league.
      hints:
        readOnly: true
        openWorld: true
      call: stats-perform.list-teams
      with:
        sport: tools.sport
        leaguePath: tools.league
      outputParameters:
      - type: object
        mapping: $.
    - name: get-team
      description: Get detailed team information including roster and statistics.
      hints:
        readOnly: true
        openWorld: false
      call: stats-perform.get-team
      with:
        sport: tools.sport
        leaguePath: tools.league
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-standings
      description: Get the current standings for a sports league by conference and division.
      hints:
        readOnly: true
        openWorld: false
      call: stats-perform.get-standings
      with:
        sport: tools.sport
        leaguePath: tools.league
        season: tools.season
      outputParameters:
      - type: object
        mapping: $.
    - name: list-sports-news
      description: Get editorial news articles, previews, and recaps for a sport and league.
      hints:
        readOnly: true
        openWorld: true
      call: stats-perform.list-news
      with:
        sport: tools.sport
        leaguePath: tools.league
        count: tools.count
      outputParameters:
      - type: object
        mapping: $.