personal-fantasy-football-mcp-assistant
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@personal-fantasy-football-mcp-assistantWhat are my fantasy football league standings this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Yahoo Fantasy Football → ChatGPT MCP bridge (read-only)
This starter connects:
ChatGPT → OpenAI Secure MCP Tunnel → this local MCP server → Yahoo Fantasy Sports API
Yahoo credentials and refresh tokens remain on your computer. Every exposed MCP tool performs a GET; there are no lineup, waiver, trade, draft, or roster-changing actions.
0. Confirm ChatGPT eligibility
As of August 30, 2026:
ChatGPT Pro can connect custom MCPs with read/fetch permissions in developer mode.
ChatGPT Business, Enterprise, and Edu support developer mode and full MCP; this starter remains read-only.
Custom MCP apps are available in ChatGPT on the web, not mobile.
If you only have Free, Go, or Plus and do not see developer mode, direct custom-MCP connection is not currently available on that plan.
Related MCP server: Yahoo Fantasy MCP
1. Install Python
Install Python 3.10 or later. Then open Terminal (macOS/Linux) or PowerShell (Windows) in this folder.
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txtWindows PowerShell
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt2. Apply for Yahoo Fantasy Sports API access and obtain OAuth credentials
Yahoo's current Fantasy Sports Developer Portal reviews applications before granting access. The access page says the API currently provides read-only access, which matches this bridge.
Review
YAHOO_APPLICATION_DRAFT.mdand edit it so every statement is truthful.Apply at
https://sports.yahoo.com/developer/access/. Clearly identify this as a personal or single-user, local, non-commercial, read-only tool.The form requires a real website or app-details URL. Use a project page or repository you actually control; do not submit a fake URL.
Existing Yahoo Developer Network users can provide an existing Client ID in the application. New users can leave that field blank; Yahoo's form says access can be provisioned after approval.
After Yahoo approves the application, follow its instructions to obtain a Client ID (Consumer Key) and Client Secret (Consumer Secret), with private Fantasy Sports read access.
If the registration screen asks for an application type, use Installed Application for this personal stand-alone bridge. Use
oob(out of band) as the redirect URI/callback when permitted. If a callback value causesinvalid_grant, Yahoo's OAuth troubleshooting guide recommends leaving the callback blank for an installed application.
Approval is controlled by Yahoo and may not be immediate. The remaining setup can be prepared before approval, but the authorization and smoke-test steps require working Yahoo credentials.
Never send the Client ID, Client Secret, your Yahoo password, authorization code, or generated token file to ChatGPT or anyone else.
3. Configure this project
Copy the example environment file:
macOS / Linux
cp .env.example .envWindows PowerShell
Copy-Item .env.example .envOpen .env and replace:
YAHOO_CLIENT_ID=replace_me
YAHOO_CLIENT_SECRET=replace_meLeave YAHOO_REDIRECT_URI=oob unless your Yahoo app uses a different redirect URI.
4. Authorize Yahoo
With the virtual environment active:
python authorize_yahoo.pyA Yahoo page should open. Sign in on Yahoo, approve access, copy the one-time code, and paste it into the terminal. The script stores .yahoo_token.json locally and automatically refreshes expiring access tokens.
5. Test Yahoo access
python smoke_test.pyA successful result contains Yahoo fantasy_content data and normally includes your NFL team and league keys. League keys resemble 449.l.12345; team keys resemble 449.l.12345.t.1.
Run local unit tests too:
python -m unittest discover -s tests -v6. Inspect the MCP tools locally
The current MCP Python SDK includes an Inspector launcher:
mcp dev server.pyOr launch the Inspector yourself:
npx @modelcontextprotocol/inspector@latestCall list_my_football_teams first. Then test get_league_snapshot with a discovered league_key and get_team_roster with a discovered team_key.
7. Create an OpenAI Secure MCP Tunnel
ChatGPT cannot call a local MCP process directly. Secure MCP Tunnel creates an outbound-only route while leaving this server and its Yahoo secrets private.
Open the OpenAI Platform tunnel settings in the same personal Platform organization associated with your ChatGPT account/workspace.
Create a tunnel, associate it with the target ChatGPT workspace, and note its
tunnel_id.Create or obtain a runtime API key for
tunnel-client. Do not put this key in.envand do not share it.Download the current
tunnel-clientfrom Platform tunnel settings.Print the exact local command for this project:
python print_tunnel_command.pyUse that output as the value of
--mcp-commandbelow.
macOS / Linux example
export CONTROL_PLANE_API_KEY="sk-REPLACE_ME"
tunnel-client init \
--sample sample_mcp_stdio_local \
--profile yahoo-fantasy \
--tunnel-id tunnel_REPLACE_ME \
--mcp-command "/absolute/path/to/.venv/bin/python /absolute/path/to/server.py"
tunnel-client doctor --profile yahoo-fantasy --explain
tunnel-client run --profile yahoo-fantasyWindows PowerShell example
$env:CONTROL_PLANE_API_KEY="sk-REPLACE_ME"
tunnel-client init `
--sample sample_mcp_stdio_local `
--profile yahoo-fantasy `
--tunnel-id tunnel_REPLACE_ME `
--mcp-command '"C:\absolute\path\.venv\Scripts\python.exe" "C:\absolute\path\server.py"'
tunnel-client doctor --profile yahoo-fantasy --explain
tunnel-client run --profile yahoo-fantasyKeep tunnel-client run --profile yahoo-fantasy running whenever ChatGPT needs live Yahoo data. For an always-on setup later, run it on a trusted home server or private VM and protect the Yahoo credential files.
8. Add the MCP app in ChatGPT
Use ChatGPT on the web:
Enable Developer mode under the Apps/Advanced Settings area available to your plan/workspace.
Open the custom app/plugin creation screen and create a developer-mode app.
Choose Tunnel as the connection type.
Select the tunnel or paste its
tunnel_id.Choose no additional MCP authentication for this personal bridge; Yahoo authentication is handled locally by the server.
Scan the tools. Confirm that every tool is labeled/read as non-destructive and read-only.
Create/enable the app.
If the tunnel does not appear, check that it is associated with the target ChatGPT workspace and that the relevant Platform account has Tunnels Read + Use permission.
9. First prompts to use in ChatGPT
Use my Yahoo Fantasy app. List my football teams and identify every league_key and team_key.Use Yahoo Fantasy to pull my league settings, standings, teams, this week's scoreboard, and my roster. Explain the scoring format and identify my three biggest roster weaknesses.Using my Yahoo league settings and current roster, review available RBs and WRs, recent transactions, and this week's matchup. Rank five waiver targets and recommend FAAB percentages. Do not make any roster changes.Included read-only tools
list_my_football_teamslist_my_football_leaguesget_league_metadataget_league_settingsget_league_standingsget_league_teamsget_league_scoreboardget_league_snapshotget_team_rosterget_league_draft_resultsget_recent_transactionsget_available_playersget_player_metadataget_player_statsread_yahoo_fantasy_path(strict, GET-only escape hatch)
Troubleshooting
invalid_grant during Yahoo authorization
Confirm the redirect URI matches exactly. For a personal stand-alone app, use Installed Application and oob; Yahoo's troubleshooting documentation also says a callback value can cause this error and recommends an empty callback in that situation. Recreate the app if necessary.
Yahoo password changed
Yahoo says password changes revoke refresh tokens. Run python authorize_yahoo.py again.
Tool scan works, but calls fail
Run these in order:
python smoke_test.py
tunnel-client doctor --profile yahoo-fantasy --explain
tunnel-client run --profile yahoo-fantasyYahoo returns XML
The client requests JSON but includes a built-in XML-to-dictionary fallback because portions of the Yahoo Fantasy API are legacy.
A Yahoo endpoint is not covered
Use read_yahoo_fantasy_path with a documented relative Fantasy API path. It blocks full URLs, query strings, path traversal, and non-Fantasy prefixes, and the client still performs only GET requests.
Security checklist
Use Yahoo Fantasy Read, not Read/Write.
Never commit
.envor.yahoo_token.json; both are in.gitignore.Never paste Yahoo or OpenAI secrets into ChatGPT.
Keep the project on a trusted computer.
Review MCP tool names, descriptions, schemas, and annotations before enabling the app.
Keep the attribution “Fantasy data provided by Yahoo Fantasy” whenever Yahoo data is displayed; the server includes it in every tool result.
Revoke the Yahoo app from Yahoo account settings if the computer or token file is compromised.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only fantasy analysis for ESPN, Yahoo, and Sleeper leagues via MCP
Read-only ESPN, Sleeper, and Fantrax fantasy leagues for Claude, ChatGPT, and other AI tools.
NFL analytics tools for AI agents: stats, fantasy, injuries, schedules, and advanced analysis.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnect ESPN & Yahoo fantasy leagues to AI assistants via MCP. Read-only tools for rosters, standings, matchups, free agents, and league info across football and baseball.14MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides read-only access to Yahoo Fantasy Sports data, enabling AI assistants to query league standings, player stats, matchups, and rosters.2MIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to Sleeper fantasy football leagues, enabling team snapshots, available players, matchups, trade context, and league history through standardized MCP tools.MIT
- AlicenseBqualityBmaintenanceEnables querying Yahoo Fantasy Sports leagues, rosters, and matchups via an MCP interface (read-only).10MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Utkarshs9924/personal-fantasy-football-mcp-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server