4.7 KiB
Nike MCP Tools
Nike exposes a Model Context Protocol server over HTTP Streamable transport at /mcp/. All tools are read-only and pull live football (soccer) data from TheSportsDB.
Connecting
| Setting | Value |
|---|---|
| Transport | HTTP Streamable |
| Endpoint | http://<host>:<port>/mcp/ |
| Default port | 8000 |
Tools
get_team_info
Get a team's profile: stadium, capacity, location, founded year, colors, and a short description.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
team_name |
string | "Toronto FC" |
Team name — e.g. "Arsenal", "TFC" |
Example
get_team_info("Arsenal")
get_roster
Get the current squad for a team, grouped by position (Goalkeepers → Defenders → Midfielders → Attackers).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
team_name |
string | "Toronto FC" |
Team name |
Notes
- Requires a premium TheSportsDB key for live V2 squad data.
- Falls back to the locally cached roster when no premium key is configured.
get_player_info
Get a player's profile: position, nationality, date of birth, current team, and status.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
player_name |
string | (required) | Player name |
Notes
- With a premium key, also returns height, weight, squad number, and a biography.
get_fixtures
Get recent results and upcoming matches for a team.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
team_name |
string | "Toronto FC" |
Team name |
status |
string | "all" |
"all", "upcoming", or "past" |
get_standings
Get the league table with points, goal difference, and current form.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
league |
string | "American Major League Soccer" |
League name (see aliases below) |
season |
string | "2026" |
Season — "2026" for MLS, "2025-2026" for European leagues |
Supported league aliases
| 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 league name and Nike will attempt to resolve it automatically.
get_match_result
Get the result of a match for a team on a specific date.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
team_name |
string | (required) | Team name |
match_date |
string | (required) | Date in YYYY-MM-DD format |
Example
get_match_result("Toronto FC", "2026-03-09")
Returns the score, venue, referee, attendance, and match status.
get_match_detail
Get deep detail for a specific match: full statistics, starting lineups, substitutes, and a minute-by-minute timeline (goals, cards, substitutions).
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
event_id |
integer | (required) | TheSportsDB event ID |
Notes
- Requires a premium TheSportsDB key — returns an error message otherwise.
- Obtain
event_idfromget_fixturesorget_match_resultfirst.
Typical workflow
# Step 1 — find the event ID
get_fixtures("Toronto FC", "past")
# Step 2 — get the full detail
get_match_detail(1896543)
get_livescores
Get current live soccer scores worldwide, grouped by league.
Parameters: none
Notes
- Requires a premium TheSportsDB key — returns an error message otherwise.
Prompt
football_analyst
Primes the assistant with football analyst context: a description of the Nike platform, the list of followed teams, and a summary of available tools.
Use this prompt at the start of a session to get role-appropriate behaviour without having to describe the tools manually.
Premium vs. free tier
Some tools require a premium TheSportsDB API key (set via SPORTSDB_KEY environment variable). The free key is 3.
| 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) |