jk-mcp-wsl
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Bind address (HTTP transport only) | 0.0.0.0 |
| PORT | No | TCP port (HTTP transport only) | 8000 |
| API_HOST | No | ESPN API base URL | https://site.api.espn.com |
| MCP_PATH | No | URL path (HTTP transport only) | /mcp/wsl |
| LOG_LEVEL | No | DEBUG, INFO, WARNING, or ERROR | INFO |
| MCP_TRANSPORT | No | Transport mode: stdio or streamable-http | stdio |
| MCP_AUTH_ENABLED | No | Require RS256 bearer tokens on streamable-http (optional) | |
| MCP_AUTH_ISSUER_URL | No | Auth-server origin (required when auth is on) | |
| MCP_TRACING_ENABLED | No | Bootstrap the OpenTelemetry SDK (optional) | |
| MCP_AUTH_RESOURCE_URL | No | This server's public URL for the aud claim |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_teamsA | Get all active Women's Super League teams. Returns a numbered list of teams with their ID, full name, abbreviation, and home city. Use the ID or abbreviation with get_team to retrieve detailed information about a specific team. |
| get_teamA | Get details for a specific Women's Super League team. Returns full team information including display name, abbreviation, and location. Use the numeric ID returned by get_teams. Args: team_id: ESPN numeric team ID (e.g. "18418" for Atlanta United FC). |
| get_scoreboardA | Get Women's Super League match scores and status for a date or date range. With no arguments, returns matches for the current matchweek. With
Args:
date: Optional start date in YYYYMMDD format (e.g. "20260418").
end_date: Optional end date in YYYYMMDD format. Requires |
| get_rosterA | Get the active roster for an Women's Super League team. Returns each player's jersey number, name, position, citizenship, and age. Use the team ID returned by get_teams. Args: team_id: ESPN numeric team ID (e.g. "18418" for Atlanta United FC). |
| get_match_detailsA | Get detailed information for a single Women's Super League match. Returns the score, venue, attendance, and a chronological list of key events (goals, substitutions, cards). Use the match ID returned by get_scoreboard or get_team_schedule. Args: match_id: ESPN numeric event ID (e.g. "401853883"). |
| get_team_scheduleA | Get all matches for a single Women's Super League team in the current season. Returns scheduled, in-progress, and completed matches for the team — with opponent, date, score (if played), and status. Args: team_id: ESPN numeric team ID (e.g. "18418" for Atlanta United FC). |
| get_newsA | Get recent Women's Super League news articles. Returns each article's headline, publication date, summary, and link to the full ESPN story. Args: limit: Maximum number of articles to return (default 10). |
| get_standingsA | Get the current Women's Super League standings. Returns the 14-team table ordered by points descending, with win/loss/tie record, goals for, goals against, and goal differential. |
| get_strength_of_scheduleA | Get a team's strength of schedule based on opponents already faced. Returns the average current points-per-game of every opponent the team has played in completed matches, plus a per-opponent breakdown. Useful early in the season for "who has played the tougher schedule so far?" questions. Args: team_id: ESPN numeric team ID (e.g. "18418" for Atlanta United FC). |
| get_results_by_opponent_tierA | Get a team's W-L-T splits against current top-tier, middle, and bottom-tier teams. Tiers are derived from the live league standings: top Args: team_id: ESPN numeric team ID. tier_size: Number of teams in each of the top and bottom tiers. Defaults to 5. Must be at least 1, and 2*tier_size must not exceed the league size. |
| get_adjusted_points_per_gameA | Get a team's raw points-per-game alongside an opponent-quality-adjusted PPG. Adjusted PPG scales raw PPG by Args: team_id: ESPN numeric team ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct resource (standings, teams, team details, scoreboard, roster, match details, schedule, news, advanced stats) with clear boundaries. Even the analytical tools (strength of schedule, tier splits, adjusted PPG) are distinct in purpose.
All tools follow the same get_noun or get_phrase pattern using snake_case. The names clearly describe the return type (standings, teams, scoreboard) and are uniformly prefixed with 'get_'.
11 tools is well-scoped for a sports data server covering league tables, teams, matches, rosters, news, and derived analytics. Each tool serves a unique purpose without bloat.
The surface covers the main data consumers expect: standings, teams, rosters, matches, schedules, news, and advanced statistics. Minor gaps exist (e.g., no player-specific stats, no historical season data), but these are not critical for the apparent purpose.