Files
koios/docs/tools/nike.md
Robert Helewka b7e0dc927f docs(personal): restructure bourdain docs to separate system prompt
Refactor documentation to distinguish character reference from AI
system prompt. Removed user context and persona definitions.
System prompt instructions moved to prompts/personal/bourdain.md.
2026-05-21 06:53:04 -04:00

5.5 KiB

Nike

Live football (soccer) data — teams, players, fixtures, results, standings.

What It Is

Nike is the live football data source — backed by TheSportsDB. 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.