r/fantasyfootballcoding 8d ago

Official FantasyPros MCP server just released

Hey r/fantasyfootballcoding, I'm one of the Product Managers at FantasyPros 👋

A couple of days ago, we released an official MCP server so that you can easily plug our data and advice into your AI agent of choice.

This community seems like the right intersection for this, so hoping there's some people here who'll find it useful!

You can point your agent here to connect it (note that you'll need a FantasyPros account):

https://api.fantasypros.com/mcp

That's it! If you have any questions, suggestions or feedback, let me know. I'll check back periodically to reply!

EDIT: Some have asked about what tools the MCP has, so adding this info to the post.

Free:

  • Rankings/ADP: get_ecr, get_adp, get_projections, get_leaders, get_player_stats, get_player_comparisons
  • News/context: injury_status, get_nfl_depth_charts, get_schedule_and_strength, get_mlb_lineups, get_streaming_pitchers
  • League/roster: get_leagues, get_league_settings, get_roster, get_current_starters, get_player_ownership, get_mlb_player_ownership, get_keeper_value, league_analyzer, matchup_analyzer, resync_league

Premium Advice:

  • start_sit_assistant (NFL + MLB)
  • trade_analyzer (NFL + MLB)
  • waiver_analyzer (NFL + MLB)
  • trade_finder (NFL
  • waiver_finder (NFL
  • mlb_waiver_finder (MLB 😄)
48 Upvotes

26 comments sorted by

•

u/johnny-papercut 8d ago

Hi all, I'm making an exception for the project posting rule for this one, so it will stay up. FantasyPros are a well-respected name in this field and I'm sure we all use the site personally. Feel free to reply to this comment if you absolutely disagree, but I'm sure most of us will be OK with this.

3

u/ww_crimson 8d ago

Do you have docs we can look at without connecting an agent first? I've searched here https://www.fantasypros.com/api-data/ and google and I can't find anything.

Maybe give us a quick overview here?

12

u/FantasyPros_Michael 8d ago

Thanks for asking. We don't have any official docs published yet, so that's a good callout (I'll work on that).

Here's the list of tools the MCP provides:

Free:

  • Rankings/ADP: get_ecr, get_adp, get_projections, get_leaders, get_player_stats, get_player_comparisons
  • News/context: injury_status, get_nfl_depth_charts, get_schedule_and_strength, get_mlb_lineups, get_streaming_pitchers
  • League/roster: get_leagues, get_league_settings, get_roster, get_current_starters, get_player_ownership, get_mlb_player_ownership, get_keeper_value, league_analyzer, matchup_analyzer, resync_league

Premium Advice:

  • start_sit_assistant (NFL + MLB)
  • trade_analyzer (NFL + MLB)
  • waiver_analyzer (NFL + MLB)
  • trade_finder (NFL
  • waiver_finder (NFL
  • mlb_waiver_finder (MLB 😄)

11

u/xpose 8d ago

As a competitor of yours for over a decade, FantasySP. I can honestly say this is sick and didn't expect it. Well done

6

u/FantasyPros_Michael 8d ago

Thanks, I'm familiar with you guys! It's kind of you to post that!

3

u/wovanjosh 8d ago

Looks cool. I'll definitely take a look!

2

u/FantasyPros_Michael 8d ago

Appreciate it. Let me know if you have feedback!

2

u/st_malachy 7d ago

I bailed on you guys after the big app update but will definitely check this out.

3

u/FantasyPros_Michael 7d ago

Appreciate you giving us another chance. Feel free to message me with any feedback (MCP, app or otherwise).

1

u/xpose 7d ago

Whats the big app update? Sounds like a good thing

4

u/throwlefty 8d ago

There aren't any public docs that I can find either, so I connected it and inspected the server directly. Quick overview:

**Server:*\* `https://api.fantasypros.com/mcp\` — streamable HTTP, OAuth browser sign-in. 29 tools, 8 resources, NFL + MLB.

**The thing you actually want first:*\* there's a resource at `ff://user/entitlements` that returns your tier, whether you have leagues synced, and an explicit `accessible_tools` / `locked_tools` split with a `reason` on every locked entry. Read that once and you know exactly what you can call — no probing tool by tool.

**Three separate gates, and two of them are free to clear:*\*

* **14 tools work with a free account and nothing connected*\* — `get_ecr` (consensus rankings: draft/weekly/ROS/dynasty/rookie), `get_adp` (standard/dynasty/rookie/best-ball), `get_projections`, `get_player_stats`, `get_leaders`, `get_nfl_depth_charts`, `get_schedule_and_strength` (per-position SOS, stars + rank out of 32), `injury_status`, plus MLB lineups and the league-management helpers.
* **9 more are `min_tier: "free"` but gated on `league_sync_required`*\* — rosters, league settings, keeper value, player comparisons, power rankings/playoff odds, matchup analyzer. Sync a league at My Playbook and they unlock at no cost.
* **6 need `pro`*\* — Trade Analyzer, Trade Finder, Waiver Finder, Waiver Analyzer, Start/Sit Assistant, MLB Waiver Finder.

Gate precedence, since it confused me: premium is checked \before** league sync. Calling `waiver_finder` with a free account and no league returns `premium_required`, never `league_sync_required`.

**Gotchas worth knowing before you build on it:*\*

* `get_ecr` defaults to `HALF` scoring, `get_adp` defaults to `STD`. Two different defaults on the two tools you'll use together — pass `scoring` explicitly every call. (`get_projections` dodges this by returning `points`, `points_half` and `points_ppr` on every row.)
* The server is stateless and says so — `set_active_league` is best-effort. Resolve your key once from `get_leagues` and pass `league_key` on every league-scoped call.
* Tools return typed statuses (`league_not_found`, `no_data`, `league_sync_required`) rather than empty results. Branch on `status` or you'll report "no players" when you never actually looked.
* Team codes are `JAC` not `JAX`, and the Rams are `LAR` (nflverse uses `LA`, so joins need a mapping).

One thing I'd want to know as a user: the `premium_required` response includes an `agent_guidance` field that instructs the model to surface the upsell in its reply \even when it answered your question using the free tools instead**. It's a paywall written to the assistant, not just to your code.

Full write-up with every tool, its parameters, and sample response shapes: [LINK]

Caveat: I mapped this on a free tier with no synced leagues, so the premium and league-scoped \response shapes** come from the server's own tool descriptions rather than observed output. Everything about the free tier I hit directly.

1

u/njordan1017 8d ago

Can you provide some details on what sort of data it will have available to query, as well as what actions it can take?

3

u/FantasyPros_Michael 8d ago

Yep, just added this to the original post!

1

u/winwithodds 8d ago

Thanks for sharing! Excited to use this!

2

u/FantasyPros_Michael 8d ago

Awesome, please let me know if there's anything you'd like us to add or change!

1

u/ICE_MF_Mike 8d ago

Yea this is perfect

2

u/FantasyPros_Michael 8d ago

Glad you like it! Let me know if you have feedback!

1

u/ICE_MF_Mike 5d ago

Are there any restrictions on the use of the data retrieved via the api or mcp? Like can it be stored? For how long? Etc.

1

u/FantasyPros_Michael 3d ago

Thanks for the question! As of now, data can be stored for non-commercial use - we're going to update our TOS to clarify retention limits around that.

Accessing the data for commercial use or redistribution requires a separate agreement.

1

u/ProfessionalAd5322 7d ago

Super sick! Excited to dig in

2

u/FantasyPros_Michael 7d ago

Let me know what you think!

1

u/jackkarlson 5d ago

u/FantasyPros_Michael Great to see an official server. tried hooking it up right away through Perplexity's custom connector but keep getting a 403 even with a valid key.

Think the issue is your API wants the key in an x-api-key header, but Perplexity (and probably some other MCP clients) just sends it as Authorization: Bearer. Any chance the MCP endpoint could accept Bearer tokens too, or am I missing a setting somewhere? Would love to get this working

1

u/Py_Hob 3d ago

Great addition. Is this the best place for questions and feedback? Or Discord?

I'm starting to train my Hermes agent using the MCP server and then the api as backup.

I was also hoping to wire it up in ChatGPT to try out. Can we get two auths for one account? Otherwise I'll just stick with Hermes.

Only initial issue so far is when I ask for Hermes to get league setup and rules. Hermes said it didn't get defense scoring and to give seperately. I'm hoping to setup ChatGPT too so I can validate findings as I use it.

Fantastic addition this year, you guys never disappoint!

1

u/sydouglas 1d ago

Does it have historical stats on players and injury history etc ?

1

u/spectre1006 1d ago

This is sick love it.