Skip to main content
Glama
jedi-knights

jk-mcp-mls

by jedi-knights

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoBind address (HTTP transport only)0.0.0.0
PORTNoTCP port (HTTP transport only)8000
API_HOSTNoESPN API base URLhttps://site.api.espn.com
MCP_PATHNoURL path (HTTP transport only)/mcp/mls
LOG_LEVELNoDEBUG, INFO, WARNING, or ERRORINFO
MCP_TRANSPORTNoTransport mode: stdio or streamable-httpstdio
MCP_AUTH_ENABLEDNoRequire RS256 bearer tokens on streamable-http
MCP_AUTH_ISSUER_URLNoAuth-server origin (required when auth is on)
MCP_TRACING_ENABLEDNoBootstrap the OpenTelemetry SDK
MCP_AUTH_RESOURCE_URLNoThis server's public URL for the aud claim

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_teamsA

Get all active MLS 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 MLS 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 MLS match scores and status for a date or date range.

With no arguments, returns matches for the current matchweek. With date only, returns matches for that single day. With both date and end_date, returns every match in the inclusive range.

Args: date: Optional start date in YYYYMMDD format (e.g. "20260418"). end_date: Optional end date in YYYYMMDD format. Requires date.

get_rosterA

Get the active roster for an MLS 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 MLS 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 MLS 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 MLS 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 MLS standings, grouped by conference.

MLS is split into Eastern and Western Conferences (15 teams each in the current alignment). The response renders each conference as a separate numbered 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 tier_size, bottom tier_size, and everyone in between. Lets you ask "how does this team do against the top of the table?" without scanning every result manually.

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 avg_opponent_ppg / league_average_ppg, so values above raw PPG indicate the team has earned points against a tougher schedule than league average.

Args: team_id: ESPN numeric team ID.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jedi-knights/jk-mcp-mls'

If you have feedback or need assistance with the MCP directory API, please join our Discord server