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.
5.5 KiB
Nike
Live football (soccer) data — teams, players, fixtures, results, standings.
- MCP server name:
nike - Prompt snippet: prompts/tools/nike.md
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
Matchnode, 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_detailandget_livescoresreturn errors on the free key. Don't try to work around it — surface the limitation to Robert. get_match_detailrequires an event ID. Workflow:get_fixturesfirst to find the event ID, thenget_match_detailwith 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_nameis"Toronto FC". Several tools default to TFC if no team name is given. Be explicit when asking about other teams.