MFL MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MFL_CONFIG | No | Path to a config file (defaults to ~/.mfl-mcp/config.json). | |
| MFL_SEASON | No | MFL season year. | |
| MFL_API_KEY | No | MFL API key for the current season. | |
| MFL_HTTP_HOST | No | Host to bind for hosted HTTP mode (e.g. 0.0.0.0). | |
| MFL_LEAGUE_ID | No | MFL League ID. | |
| MFL_MCP_SECRET | No | Secret used by hosted mode to protect the server. | |
| MFL_USER_AGENT | No | Your registered MFL API client name (sent as User-Agent). | |
| MFL_CONFIG_JSON | No | JSON string containing the hosted mode configuration. | |
| MFL_FRANCHISE_ID | No | Your team's MFL franchise ID (e.g. 0007). | |
| MFL_PREVIOUS_SEASON_API_KEY | No | MFL API key for the previous season. |
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": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mfl_list_leaguesA | List the MFL leagues and seasons this server is configured for: alias, league ID, your franchise ID, which seasons have an API key, and which league is the default. Call this first when the user mentions a league by nickname, asks about "last season", or when another tool reports an unknown league or missing API key. Never returns API keys. Args:
|
| mfl_get_leagueA | Get a league's name, every franchise (ID, team name, owner, division), roster size, taxi squad and IR slots, starting lineup requirements, and season weeks. Use this to map franchise IDs to team names, or to answer questions about league rules and lineup requirements. Args:
|
| mfl_get_standingsA | Get league standings: head-to-head record, points for, points against, division, division record, streak, and any extra columns the league tracks (all-play, power rating). In leagues with divisions, the markdown output has one table per division (ranked within the division) followed by the overall table, so questions like "standings for each division" need only this tool. Args:
|
| mfl_get_scheduleB | Get fantasy matchups by week, with scores and results for completed weeks. Args:
|
| mfl_get_rosterA | Get the players on a franchise's roster (or every roster in the league), with player name, position (offense and IDP), NFL team, age, roster status (Active, Taxi, IR), and salary/contract fields when the league uses them. Defaults to YOUR franchise when one is configured. Use franchise="all" to see every team (useful for "who owns X", trade targets, or league-wide positional depth). Args:
Examples:
|
| mfl_get_future_draft_picksA | Get the future rookie draft picks each franchise owns (year, round, and whose original pick it is). Essential for dynasty trade analysis. Args:
|
| mfl_get_playersA | Search MFL's player database (all NFL players, offense and IDP) by name, position, NFL team, or player ID. Returns ID, name, position, team, age, draft year/round/pick, college, and (by default) which fantasy team in your league owns each player. Use this to find player IDs for other tools, check ages and draft capital for dynasty decisions, or answer "who owns X?". Args:
At least one filter is recommended; the full database has thousands of players. Combine filters instead of fetching a big list and filtering it yourself:
|
| mfl_get_free_agentsA | List players available (not on any roster) in the league, sorted by year-to-date fantasy points under the league's own scoring rules. Covers offense and IDP. Args:
|
| mfl_get_injuriesA | Get the NFL injury report (status like Out/Doubtful/Questionable/IR, injury details, expected return) filtered to the players you care about. Args:
|
| mfl_get_player_scoresA | Get fantasy points under the league's scoring rules for a week, year-to-date total, or season average. Filter to a franchise's roster, specific players, or a position. Args:
|
| mfl_get_transactionsA | Get recent league transactions (trades, free-agent adds/drops, waiver and blind-bid claims, IR and taxi moves) in plain English, with player names and decoded draft picks. Args:
Examples:
|
| mfl_get_draft_resultsA | Get the league's draft results for a season (rookie/startup draft): round, pick, the team that picked, and the player selected. Unmade picks show as "on the clock / pending". Args:
|
| mfl_get_live_scoringA | Get live (or final) fantasy scores for every matchup in a week, including players yet to play and game time remaining. Args:
|
| mfl_exportA | Read-only escape hatch: call any MyFantasyLeague export request TYPE and get the raw JSON. Use this only when no dedicated mfl_ tool covers the need, for example: projectedScores, tradeBait, pendingTrades, salaries, accounting, playoffBrackets, weeklyResults, topAdds, topDrops, adp, aav, nflSchedule, playerProfile, messageBoard, rules. The league ID and API key are added automatically. Parameter names are CASE SENSITIVE and must match MFL's docs (e.g. W, P, FRANCHISE, POSITION). This tool cannot change anything in MFL. Args:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| mfl_daily_roster_check | Injuries, roster news, and waiver opportunities for my team. Good for a scheduled daily routine. |
| mfl_weekly_recap | Standings, my matchup result, top scorers, and notable transactions for the week. |
| mfl_trade_prep | Compare my roster and draft capital against another team to find trade fits. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools target a distinct MFL resource or action, but mfl_get_free_agents overlaps heavily with mfl_get_players using owner='available' and sort='points'; mfl_get_schedule and mfl_get_live_scoring also share completed-week matchup scoring. Descriptions help, but an agent could reasonably choose either in those cases.
All tools use the mfl_ prefix with snake_case names and a predictable get/list/export verb pattern. The lone generic mfl_export still fits the namespace and read-only retrieval convention.
14 tools is well-scoped for a fantasy-league data server, covering the main domains without obvious filler. The dedicated tools and one escape hatch are reasonable for the breadth of MFL exports.
The surface covers leagues, franchises, players, rosters, schedules, standings, drafts, future picks, transactions, injuries, free agents, scoring, live scoring, and a generic export fallback. For a read-only MFL analytics server, this leaves no major dead ends.