Files
nike/docs/nike_mcp.md
Robert Helewka cbfa4b1a47
All checks were successful
CVE Scan & Docker Build / security-scan (push) Successful in 31s
CVE Scan & Docker Build / build-and-push (push) Successful in 1m7s
Docs: Nike MCP
2026-05-21 05:51:43 -04:00

178 lines
4.7 KiB
Markdown

# Nike MCP Tools
Nike exposes a [Model Context Protocol](https://modelcontextprotocol.io/) server over HTTP Streamable transport at `/mcp/`. All tools are read-only and pull live football (soccer) data from [TheSportsDB](https://www.thesportsdb.com/).
## 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_id` from `get_fixtures` or `get_match_result` first.
**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](https://www.thesportsdb.com/api.php) 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) |