Production-grade MCP server and AI tools for the Godot engine
PrizePicks API is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
PrizePicks props, tiers, recorded line history, graded results and sportsbook comparisons.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http prizepicks-api-mcp https://prizepicksapi.com/api/mcp
# 2 — ask your agent for something these tools do
# get_coverage, get_projections, get_line_history and 27 more
PrizePicks API costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http prizepicks-api-mcp https://prizepicksapi.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take Authorization header (Optional for public search/fetch; supply Bearer followed by your API key for authenticated data tools.) if you want to set it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
30 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Start here. Every league on the board now, with offer counts and available stats, plus which have history and graded results.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
The first place to get current PrizePicks lines, with goblin and demon tiers labeled. Filter by one league or comma-separated leagues (NBA,NFL,NHL), stat, player or team search, and tier (standard, goblin, demon). Exact league codes only. Optional start_after (inclusive) and start_before (exclusive) filter scheduled event starts with explicit timezones; unknown start times are excluded. Rows are c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | One league code or up to 10 comma-separated codes, for example NBA,NFL,NHL. Exact leagues only; NBA does not include NBA1Q. |
| search | string | no | Case-insensitive player name search. |
| stat | string | no | Exact market label. For league=NHL, aliases faceoff_wins, shots_on_goal and goalie_saves map to Faceoffs Won, Shots On Goal and Goalie Saves. |
| tier | string | no | Match either selection tier. |
| status | string | no | Live active results must appear in the latest successful scope response and be confirmed within 30 minutes. all includes retained, potentially stale observations. |
| start_after | string | no | Scheduled event.starts_at at or after this ISO instant, with explicit timezone. Unknown starts excluded. Available on projections only. |
| start_before | string | no | Scheduled event.starts_at before this ISO instant, with explicit timezone. Use the user timezone to convert local noon, respecting daylight saving time. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| view | string | no | compact returns flat player, league, stat, period, line and starts_at fields; full uses nested player, market and event objects. Both preserve exact league codes and projection IDs. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Every recorded change to one projection, oldest first. Use an id from get_projections. Developer required. Free evaluation uses the fixed training-set sample.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Change feed across the board: new, changed, pulled and restored lines. Save next_cursor and pass it back to read only what moved since. This is the cheap way to stay current. Developer required. Free evaluation uses the fixed training-set sample.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | Optional league filter. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
The board as it stood at a past instant (as_of, ISO 8601 with a time zone). For backtests and point-in-time questions. Developer required. Free evaluation uses the fixed training-set sample.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| as_of | string | yes | ISO 8601 timestamp with a time zone, for example 2026-10-28T01:00:00Z. Must be at or after collection start (meta.collection_started_at) and not in the future; otherwise 400 invalid_query. |
| league | string | no | League code, for example NBA. |
| search | string | no | Case-insensitive player name search. |
| stat | string | no | Exact stat name, case-insensitive. |
| tier | string | no | Match either selection tier. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Past lines supplied by third parties, not recorded by this API. Every row carries provenance. Empty until meta.available_datasets is above 0. Never present these as lines this API observed. Free plan: games from the last 7 days.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | League code, for example NFL. |
| stat | string | no | Exact stat name, case-insensitive. |
| player | string | no | Partial player name. |
| tier | string | no | Line tier. |
| line_kind | string | no | What the line is. |
| provenance | string | no | Kind of supplier. |
| from | string | no | Earliest game date, US Eastern, YYYY-MM-DD. |
| to | string | no | Latest game date, US Eastern, YYYY-MM-DD. |
| limit | integer | no | Maximum rows per page. |
| cursor | string | no | meta.next_cursor from the preceding page. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Lines graded against final box scores, NBA and the leagues in meta.leagues_graded: closing line, actual value, over, under, push or void. Developer required. Free evaluation uses the fixed training-set sample.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | League code. meta.leagues_graded lists the leagues graded now. |
| date | string | no | US Eastern game date. |
| player | string | no | Case-insensitive substring of the PrizePicks player name. Up to 100 characters. |
| stat | string | no | Exact PrizePicks stat name, case-insensitive, for example Points or Pts+Rebs+Asts. |
| result | string | no | Filter by outcome. |
| status | string | no | Filter by grading status. |
| cursor | string | no | meta.next_cursor from the preceding page (numeric sequence). |
| limit | integer | no | Maximum rows per page. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
How often one player has gone over, per stat, across their last graded games. Free plan: the last 10 games, with per-game rows from the last 7 days.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| player | string | no | Exact player name, case-insensitive. Required unless player_id is sent. |
| player_id | string | no | PrizePicks player ID. Required unless player is sent. |
| stat | string | no | Exact stat name, case-insensitive. Omit to return every graded stat for the player. |
| league | string | no | League code. |
| tier | string | no | Which More-side tier to count. |
| last | integer | no | Number of most recent graded games per stat. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
A player's box score line for each past game, newest first: minutes, opponent, home or away, and every stat. Use for recent form and for prop model features. Pass player_id (from get_projections or find_players), or player and league, with last for the most recent N games. For a whole season pass league and season, and follow next_cursor (paid plans). Free plan: the last 10 games per player, and n
| Parameter | Type | Required | Notes |
|---|---|---|---|
| player_id | string | no | A player_id (pl_...) from /players or /projections, or a stats_player_id (sp_...) from /results. A pl_ id needs no league. An sp_ id needs league. |
| player | string | no | Exact player name, case-insensitive. Needs league. A name shared by two players returns 400 listing their ids. |
| league | string | no | League code, for example NBA. meta.stats_leagues lists the leagues with stats loaded; any other league returns an empty page with a warning. A segment league from a projection row (NBA1Q) reads as its |
| season | string | no | Season label, as listed in meta.coverage.seasons: 2025-26, or 2026 in single-year leagues. |
| season_type | string | no | regular, postseason, play_in or preseason, where the league has them. |
| date | string | no | One game date, league local. |
| start_date | string | no | Games on or after this league-local date. |
| end_date | string | no | Games on or before this league-local date. For a feature as it stood before a game, set this to the day before. |
| team | string | no | Only this team's players: a code (BOS) or team id (tm_...). Needs a season or date range unless a player or opponent is also sent. |
| opponent | string | no | Only games against this team: a code or team id. |
| position | string | no | Position as the box score lists it, for example G, F or C. |
| last | integer | no | The player's most recent N rows matching the filters. Needs one player. limit and cursor are ignored. |
| include_dnp | boolean | no | true: also return games the player was listed for and did not play. |
| view | string | no | compact is a flat row for bulk reads and allows limit up to 1000. full adds ids, scores and game context, with limit up to 200. |
| limit | integer | no | Rows per page: up to 200 with view=full, up to 1000 with view=compact. |
| cursor | string | no | meta.next_cursor from the preceding page. Send the same filters. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
A team's stats per game with the opponent's beside them, or group_by=season for per-game averages and totals. Needs league, one of meta.stats_leagues. Send team, or a season to read every team. Free plan: one team, its last 10 games.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | yes | League code, for example NBA. meta.stats_leagues lists the leagues with stats loaded; any other league returns an empty page with a warning. A segment league from a projection row (NBA1Q) reads as its |
| group_by | string | no | game or season. |
| season | string | no | Season label, as listed in meta.coverage.seasons: 2025-26, or 2026 in single-year leagues. |
| season_type | string | no | regular, postseason, play_in or preseason, where the league has them. |
| date | string | no | One game date, league local. |
| start_date | string | no | Games on or after this league-local date. |
| end_date | string | no | Games on or before this league-local date. For a feature as it stood before a game, set this to the day before. |
| team | string | no | A team code (BOS) or team id (tm_...). |
| opponent | string | no | Only games against this team. |
| last | integer | no | The team's most recent N games. Needs team. limit and cursor are ignored. |
| view | string | no | group_by=game only: compact is flat and allows limit up to 1000. |
| limit | integer | no | group_by=game: rows, up to 200 with view=full and 1000 with view=compact. group_by=season: teams, up to 100. |
| cursor | string | no | meta.next_cursor from the preceding page. Send the same filters. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
What a team gives up per game to opposing teams, or by=position for what each position records against it. Needs league, one of meta.stats_leagues. Send team, or a season to read every team. Set end_date to read it as of a past day. Free plan: one team, its last 10 games.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | yes | League code, for example NBA. meta.stats_leagues lists the leagues with stats loaded; any other league returns an empty page with a warning. A segment league from a projection row (NBA1Q) reads as its |
| by | string | no | team or position. |
| season | string | no | Season label, as listed in meta.coverage.seasons: 2025-26, or 2026 in single-year leagues. |
| season_type | string | no | regular, postseason, play_in or preseason, where the league has them. |
| date | string | no | One game date, league local. |
| start_date | string | no | Games on or after this league-local date. |
| end_date | string | no | Games on or before this league-local date. For a feature as it stood before a game, set this to the day before. |
| team | string | no | The team whose defense you are reading: a code (BOS) or team id (tm_...). |
| position | string | no | by=position only: return one position. |
| last | integer | no | That team's most recent N games, as one row with season null. Needs team. |
| limit | integer | no | Teams per page: up to 100 with by=team, up to 10 with by=position. |
| cursor | string | no | meta.next_cursor from the preceding page. Send the same filters. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
One flat row per graded line for building a prop model: opening and closing line, tier, opponent, home or away, rest days, minutes, actual value, result. Voids left out unless include_void=true. Page with cursor; save rows as you go rather than holding them in the conversation. Free plan: one page, a labeled sample of up to 100 rows from the last 7 days.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | League code. meta.leagues_graded on /results lists the leagues graded now. |
| date | string | no | US Eastern game date. Use this or from and to. |
| from | string | no | First US Eastern game date, inclusive. |
| to | string | no | Last US Eastern game date, inclusive. |
| player | string | no | Case-insensitive substring of the PrizePicks player name. |
| player_id | string | no | PrizePicks player id (pp_player_id). |
| stat | string | no | Exact PrizePicks stat name, case-insensitive. |
| tier | string | no | Line tier. |
| include_void | boolean | no | true also returns void rows, with reason. Default false. |
| limit | integer | no | Rows per page. |
| cursor | string | no | meta.next_cursor from the previous page, or the X-Next-Cursor header on CSV. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
PrizePicks lines beside offered sportsbook prices for a league. Use it to see where a line differs from the market. Free plan: prices run 5 minutes behind, and as_of is off.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | NBA, NFL or NHL, or several comma-separated, for example NBA,NFL,NHL, to read them in one call. |
| view | string | no | compact: one flat row with each price as book, side, line and number, and limit up to 1000. full: every field, limit up to 50. |
| player | string | no | Case-insensitive substring of the PrizePicks player name. |
| stat | string | no | Exact PrizePicks stat name, case-insensitive, for example Points. |
| book | string | no | betrivers, kalshi or both comma-separated. Default both. |
| priced_only | boolean | no | true: only projections with at least one linked book price. |
| alt_lines | boolean | no | false: only prices at the PrizePicks line plus each book main over/under line. |
| limit | integer | no | Projections per page. Up to 50, or up to 1000 with view=compact. |
| cursor | string | no | meta.next_cursor from the preceding page. |
| as_of | string | no | The board and the prices as they stood at this instant (ISO 8601 with a time zone). Not combinable with priced_only. On a delayed plan it must be older than the delay; the earliest value is in the err |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Developer or Production: latest source-pushed game scores, period, clock and status. Optional league and source filters. Use source=prizepicks for PrizePicks game state; default is polymarket. These are game updates, not projection lines. Always report observed_at and meta.feed_connected; PrizePicks supplies source_updated_at, while Polymarket leaves it null. A connected socket does not mean each
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | Optional league code, for example NBA or NFL. |
| source | string | no | Game feed. Defaults to polymarket for compatibility. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
PrizePicks lines (NBA, NFL, NHL, before the game) where the BetRivers or Kalshi price for the same player and stat moved materially while the PrizePicks line stayed. Each row has the line, the book move in probability points, when it moved, how long the line has stayed since, and observed_at for both sides. Information about prices, not a prediction or betting advice: say so when you relay it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | NBA, NFL or NHL. |
| book | string | no | betrivers, kalshi or both comma-separated. Default both. |
| player | string | no | Case-insensitive substring of the PrizePicks player name. |
| stat | string | no | Exact PrizePicks stat name, case-insensitive, for example Points. |
| min_move | integer | no | Smallest move in the book over probability, in percentage points. |
| lookback_minutes | integer | no | The move is measured against the value this many minutes earlier. |
| max_age_minutes | integer | no | Only moves first seen within this many minutes. |
| include_reverted | boolean | no | true also lists moves the book has since undone (book.still_moved false). |
| limit | integer | no | Rows, newest move first. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Current lines by reported pick count, or with sort=change by how fast the count is rising. Most lines report no count. For screens and alerts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | Optional league code, for example NBA. |
| sort | string | no | count: highest count first. change: biggest rise over window_minutes first; lines with no sample that far back come last. |
| window_minutes | integer | no | How far back change is measured. |
| limit | integer | no | Maximum rows. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
The reported pick count of one line every 15 minutes, and its value at the start. Use an id from get_projections.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| limit | integer | no | Maximum rows. |
| cursor | string | no | next_cursor from the preceding page. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
PrizePicks lines and book prices grouped by fixture. Needs fixture_id or league.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| fixture_id | string | no | One fixture. |
| league | string | no | League code. Sibling leagues fold onto their game: NBA1Q lines belong to the NBA fixture. |
| date | string | no | US Eastern calendar date of the start, YYYY-MM-DD. |
| status | string | no | Fixture status. |
| market | string | no | A market_id, for example player_points. |
| player | string | no | A player_id (pl_...) or a PrizePicks player id. |
| main_only | boolean | no | true: only standard (main) lines. |
| limit | integer | no | Fixtures per page. |
| cursor | string | no | Opaque cursor from meta.next_cursor. |
| books | string | no | Books for book_odds: betrivers, kalshi, both comma-separated (default), or none. |
| book_lines | string | no | pickem (default): only book lines at a number PrizePicks currently offers for that player and stat. all: every alternate line. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Stable player ids by name, league or team.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| search | string | no | Case-insensitive name substring, at least 2 characters. |
| league | string | no | League code. |
| team | string | no | Team code as PrizePicks prints it, or a team id. |
| person_key | string | no | Every player id of one person across split leagues. Use person_key from a player or from source_fields. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Games with lines on the board, by league, date or status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | League code. Sibling leagues fold onto their game: NBA1Q lines belong to the NBA fixture. |
| date | string | no | US Eastern calendar date of the start, YYYY-MM-DD. |
| status | string | no | Fixture status. |
| start_after | string | no | Only fixtures starting at or after this instant. |
| start_before | string | no | Only fixtures starting before this instant. |
| resolved | boolean | no | true: only fixtures resolved to a scoreboard event. false: only unresolved. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
One fixture by id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
| include | string | no | game_state_history adds every recorded in-play state of the game. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Current third-party injury reports for NBA, NFL, NHL and WNBA.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | NBA, NFL, NHL or WNBA. Omit for all. |
| team | string | no | Team code (KC), stats team id, or part of the team name. |
| limit | integer | no | Maximum rows. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Standard PrizePicks payout tables with per-leg break-even rates.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Fictional sample rows in the live response shape, for trying the API without a key. Never present these as real lines.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| league | string | no | One league code or up to 10 comma-separated codes, for example NBA,NFL,NHL. Exact leagues only; NBA does not include NBA1Q. |
| search | string | no | Case-insensitive player name search. |
| stat | string | no | Exact market label. For league=NHL, aliases faceoff_wins, shots_on_goal and goalie_saves map to Faceoffs Won, Shots On Goal and Goalie Saves. |
| tier | string | no | Match either selection tier. |
| status | string | no | Live active results must appear in the latest successful scope response and be confirmed within 30 minutes. all includes retained, potentially stale observations. |
| start_after | string | no | Scheduled event.starts_at at or after this ISO instant, with explicit timezone. Unknown starts excluded. Available on projections only. |
| start_before | string | no | Scheduled event.starts_at before this ISO instant, with explicit timezone. Use the user timezone to convert local noon, respecting daylight saving time. |
| limit | integer | no | Maximum rows per page. Up to 1000 on /projections with view=compact. |
| cursor | string | no | Opaque cursor from the preceding page. Changes and history use numeric sequence cursors. |
| user_request | string | yes | The current user task for this call, 3 to 500 characters in one sentence, close to their words. Required on every data call, including follow-ups and pagination. Reuse it while working on the same tas |
Find a player, league, guide or answer on prizepicksapi.com. Needs no key. Then call fetch with a result id. Use this when no API key is connected.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Words to look for, for example a player name, a league or a question. |
The full text of one search result: a player's current lines and recent graded results, a league summary, a guide or an answer. Needs no key. Quote the read time when you state a line.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | An id from search. |
Starts getting a free API key. Say what data your user wants and what they want to do with it; ask them if you do not know, and do not guess. Returns a link for your user to approve in the browser. Show them the link and code, then call finish_signup.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| data_wanted | string | yes | What data they are looking for: leagues, stats, tiers, history, refresh speed. 3 to 1000 characters. |
| use_case | string | yes | What they want to do with it. 3 to 1000 characters. |
| found_us | string | yes | How your user found this API, or how you did if you found it yourself, for example a web search or a recommendation. Ask if you do not know, and do not guess. Up to 300 characters. |
| details | object | no | Any other fields worth telling us, with any names you like, for example language, schedule or team_size. Up to 20. |
| agent | string | no | Your agent or client name. |
Call with device_code from start_signup, every few seconds, until your user has approved. Returns the key once. Store it as an environment variable, never in a repo.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| device_code | string | yes | — |
Required once per account before the data tools work. Say what data your user is looking for and what they want to do with it, in your own words. Ask your user if you do not already know; do not guess or make it up. Costs no quota. Leave out personal data.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| data_wanted | string | yes | What data they are looking for: leagues, stats, tiers, history, refresh speed. 3 to 1000 characters. |
| use_case | string | yes | What they want to do with it. 3 to 1000 characters. |
| found_us | string | yes | How your user found this API, or how you did if you found it yourself, for example a web search or a recommendation. Ask if you do not know, and do not guess. Up to 300 characters. |
| details | object | no | Any other fields worth telling us, with any names you like, for example language, schedule or team_size. Up to 20. |
| agent | string | no | Your agent or client name. |
Report data or a feature you needed and could not get, wrong data, or anything confusing. Be specific about league, stat, field and what you were trying to do. Leave out personal data. Needs no key and costs no quota.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | What you needed or what went wrong, 3 to 2000 characters. |
| kind | string | no | — |
| endpoint | string | no | The tool or endpoint involved. |
| use_case | string | no | What is being built, up to 500 characters. |
| blocking | boolean | no | True if this stops the task. |
| agent | string | no | Your agent or client name. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install PrizePicks API or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| get_coverage | no tags | |
| get_projections | no tags | |
| get_line_history | no tags | |
| get_changes | no tags | |
| get_board_at | no tags | |
| get_imported_lines | no tags | |
| get_results | no tags | |
| get_hit_rates | no tags | |
| get_game_logs | no tags | |
| get_team_stats | no tags | |
| get_opponent_stats | no tags | |
| get_training_set | no tags | |
| compare_lines | no tags | |
| get_live_sports | no tags | |
| get_stale_lines | no tags | |
| get_trending | no tags | |
| get_line_popularity | no tags | |
| get_odds | no tags | |
| find_players | no tags | |
| get_fixtures | no tags | |
| get_fixture | no tags | |
| get_injuries | no tags | |
| get_payouts | no tags | |
| get_demo_projections | no tags | |
| search | no tags | |
| fetch | untrusted-input | untrusted-input: keyword "fetch" |
| start_signup | state-write | state-write: declares readOnlyHint: false |
| finish_signup | state-write | state-write: declares readOnlyHint: false |
| complete_setup | state-write | state-write: declares readOnlyHint: false |
| send_feedback | state-write | state-write: declares readOnlyHint: false |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish PrizePicks API can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.