# Nike > Live football (soccer) data — teams, players, fixtures, results, standings. - **MCP server name:** `nike` - **Prompt snippet:** [prompts/tools/nike.md](../../prompts/tools/nike.md) ## What It Is Nike is the live football data source — backed by [TheSportsDB](https://www.thesportsdb.com/). All tools are **read-only**: team profiles, rosters, player info, fixtures, results, standings, match detail, live scores. Transport is HTTP Streamable at `/mcp/`. Named for the Greek goddess of victory, fitting for a tool whose job is to track who's winning. Nike sits next to Cristiano's Neo4j domain rather than overlapping with it. Nike provides the **canonical live data** — current standings, who's playing tomorrow, who scored on what date. Cristiano's Neo4j `Match`, `Team`, `Player` nodes hold the **interpretation** — what Robert thought of a match, which players he's following, tactical observations. The two stores serve different purposes. ## MCP Tools All tools are read-only. The set below reflects what's currently exposed. ### Teams and rosters | Tool | Purpose | |---|---| | `get_team_info` | Team profile — stadium, capacity, location, founded year, colors, short description | | `get_roster` | Current squad grouped by position (Goalkeepers → Defenders → Midfielders → Attackers) | ### Players | Tool | Purpose | |---|---| | `get_player_info` | Player profile — position, nationality, DOB, current team, status; with premium key adds height, weight, squad number, biography | ### Fixtures and results | Tool | Purpose | |---|---| | `get_fixtures` | Recent results and upcoming matches for a team (filter: `all`, `upcoming`, or `past`) | | `get_match_result` | Result of a match for a team on a specific date — score, venue, referee, attendance, status | | `get_match_detail` | Full match detail — statistics, lineups, substitutes, minute-by-minute timeline (goals, cards, subs). **Premium required.** | ### Standings and live scores | Tool | Purpose | |---|---| | `get_standings` | League table — points, goal difference, current form. League aliases supported (see below). | | `get_livescores` | Live scores worldwide, grouped by league. **Premium required.** | ### Prompts | Prompt | Purpose | |---|---| | `football_analyst` | Primes the assistant with football analyst context — platform description, followed teams, tool summary. Use at session start to skip manual setup. | ## League Aliases `get_standings` accepts league aliases — useful when the underlying name is verbose. | Alias | League | |---|---| | `MLS`, `Major League Soccer`, `American Major League Soccer` | MLS (ID 4346) | | `EPL`, `Premier League`, `English Premier League` | Premier League (ID 4328) | For other leagues, pass the full name and Nike will attempt to resolve it automatically. ## Season Format Season format varies by league: - **MLS:** single year — `"2026"` - **European leagues (Premier League, etc.):** hyphenated season — `"2025-2026"` Get this wrong and the standings call returns nothing useful. ## Premium vs. Free Tier Nike uses a TheSportsDB API key set via the `SPORTSDB_KEY` environment variable. The free key is `3`. Some tools require a premium key. | Tool | Free tier | Premium required | |---|---|---| | `get_team_info` | ✓ | | | `get_roster` | Cached data only | Live V2 squad | | `get_player_info` | Basic profile | Height, weight, number, bio | | `get_fixtures` | ✓ | | | `get_standings` | ✓ | | | `get_match_result` | ✓ | | | `get_match_detail` | — | ✓ (required) | | `get_livescores` | — | ✓ (required) | When a premium-required tool is called on a free key, it returns an error message rather than silently degrading. ## Who Uses Nike - **Cristiano** — exclusive. Football is Cristiano's domain; Nike is his live-data source. Other agents reference football work through Cristiano (via the messaging system) rather than calling Nike directly. ## What It's Good For - Looking up the actual current standings before talking about a league - Pulling fixtures for a team to know what's coming up - Confirming a match result rather than relying on training data (which may be stale) - Walking through a specific match in detail — lineups, timeline, statistics (premium) - Live scores during active match windows (premium) ## What It's Not Good For - Storage — Nike is read-only; what Robert thought of a match goes in Cristiano's Neo4j `Match` node, not back into Nike - Cross-team or cross-domain reads — Nike is single-purpose for football - Tactical analysis — Nike returns the data; Cristiano interprets it - Anything beyond football ## Known Gotchas - **Get the season format right.** MLS uses `"2026"`; European leagues use `"2025-2026"`. Wrong format → empty results. - **Free tier limits.** `get_match_detail` and `get_livescores` return errors on the free key. Don't try to work around it — surface the limitation to Robert. - **`get_match_detail` requires an event ID.** Workflow: `get_fixtures` first to find the event ID, then `get_match_detail` with that ID. - **TheSportsDB data quality varies by league.** Top European leagues are well-covered; smaller leagues may have gaps or stale data. If something looks wrong, sanity-check against another source via Argos. - **Rosters are cached on the free tier.** If a transfer just happened, the free-tier roster may not reflect it yet. Premium has the live V2 squad data. - **Default `team_name` is `"Toronto FC"`.** Several tools default to TFC if no team name is given. Be explicit when asking about other teams.