Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

FastballAPI

REMOTE · MCP.FASTBALLAPI.COM

MLB since 2015 plus college: pitches, plate appearances, box scores, odds by book. REST and MCP.

+3 this week 85 Trust /100

Last scanned (5 hours ago)

Scores higher than 91% of remote servers

Unreachable for 2 days in a row. Last reached 3 Nov 2026.

Category Entertainment and Games

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security11
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • Endpoint reachability: reachable → unreachable ▼ security
    • HSTS header: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Authorization: pass → unverified ▼ security
    • TLS certificate: pass → unverified ▼ security
    • Stability: 0.73 → unverified ▼ security
    • Transport: pass → fail ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: 4433 → 4922 ▼ functional
    • New tool “get_market_odds” functional
  • 1 Nov 26 +1
    • Tool “get_prop_history” rewrote its description, which is the text the model reads security
    • “get_prop_history” added an optional parameter “estimate_only” cosmetic
  • 30 Oct 26 +1
    • Tool “get_player_props” rewrote its description, which is the text the model reads security
  • 28 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_player_props” rewrote its description, which is the text the model reads security
  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mcp.fastballapi.com/mcp

TLS unreached
DNSSEC insecure

Validation of mcp.fastballapi.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
fastballapi.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Inconclusive

We could not reach the endpoint well enough to judge its authorisation posture.

Result Inconclusive

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.fastballapi.com/mcp Unreachable
http (plaintext) http://mcp.fastballapi.com/mcp HTTPS enforced
MCP tools · 21 exposed · ~3,695 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_game ~125

Use for one game in full: line score, every batter's and pitcher's line, each sportsbook's opening and closing line, and the win-probability range. For every plate appearance use get_plate_appearances. Costs 5 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
game_idstringyesGame id, from get_games or get_schedule.
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
NameTypeReqDescription
battingarrayyes–
gameobjectyes–
oddsarrayyes–
pitchingarrayyes–
plate_appearancesnumberyes–
win_probability–yes–

No examples provided.

get_games ~195

Use to list games with runs, hits and errors by season, date, date range or team, newest first. For upcoming games with lines use get_schedule; for one game's box score use get_game. Costs 2 credits.

NameTypeReqDescription
datestring–One date, YYYY-MM-DD (US Eastern).
fromstring–From date, YYYY-MM-DD.
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
limitinteger–Max games (default 50).
offsetinteger––
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
season_typestring–regular or postseason (default both).
statusstring––
teamstring–Team id or abbreviation.
tostring–To date, YYYY-MM-DD.
NameTypeReqDescription
countnumberyes–
gamesarrayyes–
next_offsetnumber|null––

No examples provided.

get_injuries ~68

Use for the injury report: every listed player's status, injury and expected return, as captured on the latest day (or the latest on or before date). Costs 2 credits.

NameTypeReqDescription
datestring–YYYY-MM-DD (default: the latest).
teamstring––
NameTypeReqDescription
countnumberyes–
datestring|nullyes–
injuriesarrayyes–
notestring––

No examples provided.

get_leaders ~166

Use for a season's leaders among qualified players: batting avg, obp, slg, ops, hr, re24, bb_pct, k_pct (3.1 plate appearances per team game) or pitching era, whip, so, k_per_9, bb_per_9 (1 inning per team game). Costs 5 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
limitinteger––
min_ipinteger–Override the innings minimum.
min_painteger–Override the plate-appearance minimum.
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
statstringyes–
NameTypeReqDescription
countnumberyes–
leadersarrayyes–
qualifierstringyes–
seasonnumber|nullyes–
statstringyes–

No examples provided.

get_line_movement ~173

Use to see how a game's line moved before first pitch: our pre-game snapshots of each sportsbook's moneyline, run line and total (captured once a day, and every hour for games in the next four days). Costs 10 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
all_snapshotsboolean–Every hourly capture. By default a capture identical to the one before it is left out (the latest is always kept), which keeps every move and its time.
game_idstringyes–
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
providerstring–One sportsbook, e.g. DraftKings.
NameTypeReqDescription
gameobjectyes–
movementobjectyes–
notestring––
snapshotsnumberyes–

No examples provided.

get_market_odds ~441

Use for the extra betting markets of a game as history: the first 5 innings winner, run line and total, and the 1st inning total and three-way result (the 1st inning total at 0.5 is the no-run-first-inning market). Pass game_id (from get_games or get_schedule) and market. For each sportsbook it returns the opening line (the first one we captured) and the closing line (the last one before the game started), each as the list of outcomes with their point and American price, plus captured_at and minutes_before_start (negative when the last capture came after our scheduled start, which the sportsbooks' listed start can run past). Most books were captured once, so opening and closing are often the same line. Held from May 2023 for the larger sportsbooks only (the 1st inning three-way result from October 2023); not every game has every market. Costs 10 credits a call; a game with no lines is refunded. Set estimate_only to get the price without being charged. For the full-game moneyline, spread and total use get_odds. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
bookmakerstring–One bookmaker key, e.g. draftkings, fanduel, pinnacle.
estimate_onlyboolean–Return what this call would cost, without charging or running it.
game_idstringyesGame id from get_games or get_schedule.
marketstringyesThe market: h2h_1st_5_innings (first 5 innings winner), totals_1st_5_innings (first 5 innings total runs), spreads_1st_5_innings (first 5 innings run line), totals_1st_1_innings (1st inning total run…
NameTypeReqDescription
booksarrayyes–
countnumberyes–
creditsnumber––
estimate_onlyboolean––
game_idstringyes–
labelstringyes–
marketstringyes–
notestring––
scheduled_startstring|nullyes–
toolstring––

No examples provided.

get_odds ~169

Use for betting lines: each sportsbook's moneyline, run line and total for a game (opening and closing per book from July 2020; before that, each book's final pregame line only), with implied probabilities and, for finished games, whether the favourite won and the total went over against the median close. Pass game_id for one game (5 credits) or date for a day's games (10 credits). Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
datestring–A day's games, YYYY-MM-DD (US Eastern).
game_idstring––
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
NameTypeReqDescription
countnumber––
creditsnumber––
estimate_onlyboolean––
gamesarray––
notestring––
toolstring––

No examples provided.

get_pitch_mix ~76

Use for a pitcher's arsenal in a season: each pitch type's usage, average and top velocity, whiff rate per swing and ball rate. Costs 5 credits.

NameTypeReqDescription
pitcher_idstringyesPlayer id.
seasonnumber|string–Season (a year; default: the latest; ignored with game_id).
NameTypeReqDescription
countnumberyes–
mixarrayyes–
notestring––
pitcherobjectyes–
pitchesnumberyes–
seasonnumber|nullyes–

No examples provided.

get_pitches ~142

Use for pitch-by-pitch data: every pitch of a game, or a pitcher's or batter's season, with the count, pitch type, velocity, location and result. Costs 10 credits.

NameTypeReqDescription
batter_idstring––
game_idstring––
limitinteger–Max pitches (default 500).
offsetinteger––
pitch_typestring–Pitch type code, e.g. FF, SL, CH, CU, SI, FC.
pitcher_idstring––
seasonnumber|string–Season (a year; default: the latest; ignored with game_id).
NameTypeReqDescription
countnumberyes–
next_offsetnumber|null––
notestringyes–
pitchesarrayyes–

No examples provided.

get_plate_appearances ~247

Use for plate-appearance play-by-play: a whole game in order, or a batter's, pitcher's or team's season, with the base-out state before, the result, the batted ball (trajectory and location), runs, the win probability after (2019 on) and our run value (RE24). Filter by result, inning or runners in scoring position. Costs 10 credits.

NameTypeReqDescription
batter_idstring––
game_idstring––
inninginteger––
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
limitinteger–Max rows (default 200).
offsetinteger––
pitcher_idstring––
resultstring–e.g. home-run, strikeout, walk, single, double, ground-out.
rispboolean–Runners in scoring position only.
seasonnumber|string–Season (a year; default: the latest; ignored with game_id).
season_typestring––
teamstring–Batting team (id or abbreviation).
NameTypeReqDescription
countnumberyes–
next_offsetnumber|null––
plate_appearancesarrayyes–

No examples provided.

get_player ~99

Use for a player's season-by-season batting (AVG, OBP, SLG, OPS, HR, K%, BB%, RE24, from every plate appearance) and pitching (ERA, WHIP, K/9, BB/9). Costs 5 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
player_idstringyesPlayer id, from search_players.
NameTypeReqDescription
battingarrayyes–
notestringyes–
pitchingarrayyes–
playerobjectyes–

No examples provided.

get_player_games ~113

Use for a player's game log: every game's batting line and pitching line, newest first, optionally one season. Costs 5 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
limitinteger––
offsetinteger––
player_idstringyes–
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
season_typestring––
NameTypeReqDescription
battingarrayyes–
countnumberyes–
next_offsetnumber|null––
pitchingarrayyes–
player_idstringyes–

No examples provided.

get_player_props ~554

Use for player prop lines by sportsbook: over/under on hits, home runs, total bases, RBI, pitcher strikeouts and pitcher outs, from May 2023 (DraftKings, FanDuel, BetMGM, ESPN BET, Pinnacle and others). Pass game_id for every player's props in one game, or player_id with from_date (and to_date) for one player across games (up to 100). A game costs 10 credits before it starts and 20 once it has (accounts opened before October 30 2026 pay 10 for every game). Returns the closing line by default (the last before the game starts) or the opening line, with each book's over and under prices. Each row has captured_at, scheduled_start and minutes_before_scheduled_start (negative when captured after the scheduled start); a row is kept when it was captured before the sportsbooks' listed start, which in the NBA is usually about 10 minutes after the scheduled one, so filter on minutes_before_scheduled_start > 0 for a strictly before-schedule backtest. Outside football the archive mostly holds one pre-game capture per line, so the opening and closing lines are usually the same; the opening line differs only where a second capture was taken (live capture from October 2026, and wherever else it is held). Set estimate_only to get the price without being charged. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
bookmakerstring–Bookmaker key, e.g. draftkings, fanduel, pinnacle.
estimate_onlyboolean–Return what this call would cost, without charging or running it.
from_datestring–With player_id: first date, YYYY-MM-DD (the game's date).
game_idstring–Game id: every player's props for that game.
marketstring–One market: batter_hits (hits), batter_home_runs (home runs), batter_total_bases (total bases), batter_rbis (runs batted in), pitcher_strikeouts (pitcher strikeouts), pitcher_outs (pitcher outs recor…
player_idstring–Player id (e.g. 33192) from search_players. With from_date: that player's props across games.
snapshot_typestring–closing (default): the last line before the game starts. opening: the first one captured, which is the same capture as the close wherever only one was taken.
to_datestring–With player_id: last date (default: no end), YYYY-MM-DD (the game's date).
NameTypeReqDescription
countnumber––
creditsnumber––
credits_per_gamenumber––
estimate_onlyboolean––
gamesnumber––
next_from_datestring|null––
notestring––
propsarray––
snapshot_typestring––
toolstring––

No examples provided.

get_prop_history ~376

Use to see how a player did against his prop line over time: for one market (hits, home runs, total bases, RBI, pitcher strikeouts or pitcher outs), one row per game with the closing line (the median across books, or one book's), the opening line (the same as the close wherever only one capture was taken), the prices, what the player actually recorded from our box scores and the result against the line, plus the over rate, up to 200 games a call. Costs 10 credits for every 25 games already played that a call covers, and at least 10 a call (accounts opened before November 1 2026 pay 10 a call). Set estimate_only to get the price without being charged. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
bookmakerstring–One book's closing line instead of the median across books, e.g. draftkings.
estimate_onlyboolean–Return what this call would cost, without charging or running it.
from_datestring–First date, YYYY-MM-DD (the game's date).
limitinteger–Games to return, oldest first (default 50, max 200). next_from_date says where to continue.
marketstringyesThe market: batter_hits (hits), batter_home_runs (home runs), batter_total_bases (total bases), batter_rbis (runs batted in), pitcher_strikeouts (pitcher strikeouts), pitcher_outs (pitcher outs recor…
player_idstringyesPlayer id (e.g. 33192) from search_players.
to_datestring–Last date, YYYY-MM-DD (the game's date).
NameTypeReqDescription
bookmakerstring|nullyes–
countnumberyes–
creditsnumber––
estimate_onlyboolean––
gamesarrayyes–
marketstringyes–
next_from_datestring|null––
notestring––
player_idstring|numberyes–
player_namestring|nullyes–
statstringyes–
summaryobjectyes–
toolstring––
truncatedboolean––

No examples provided.

get_ratings ~74

Use for our team power ratings (Elo from every final game in our data), ranked, as of the end of a season or today. Costs 2 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
seasonnumber|string––
NameTypeReqDescription
countnumberyes–
methodstringyes–
ratingsarrayyes–
seasonnumber|nullyes–

No examples provided.

get_schedule ~123

Use for upcoming games (next 1-30 days, default 7) with the median line across posted sportsbooks: moneylines, run line and total. For every book's line use get_odds. Costs 2 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

NameTypeReqDescription
daysinteger––
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
teamstring–Team id or abbreviation.
NameTypeReqDescription
countnumberyes–
daysnumberyes–
gamesarrayyes–

No examples provided.

get_spray_chart ~179

Use for where a batter or team hits the ball: balls in play by trajectory (ground ball, line drive, fly ball, pop-up) and by field (left, center, right), with hit rates; include_balls adds each ball's location for drawing. Counts the regular season and postseason together unless season_type says otherwise (get_player's batting line is the regular season alone). Costs 10 credits.

NameTypeReqDescription
batter_idstring––
include_ballsboolean–Add each ball in play's x/y (up to 3,000).
seasonnumber|string–Season (a year; default: the latest; ignored with game_id).
season_typestring–regular, postseason, or all (default): which games' balls in play to count.
teamstring––
NameTypeReqDescription
ballsarray––
balls_in_playnumberyes–
balls_notestring––
by_fieldarrayyes–
by_trajectoryarrayyes–
seasonnumber|nullyes–

No examples provided.

get_standings ~101

Use for a season's regular-season standings computed from every final game: record, home and away, last 10, runs scored and allowed, run differential and Pythagorean win percentage. Costs 2 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
NameTypeReqDescription
countnumberyes–
notestringyes–
seasonnumber|nullyes–
standingsarrayyes–

No examples provided.

get_team_stats ~117

Use for team offence and run prevention for a season: runs per game for and against, run differential, and batting and opponents' batting (AVG, OBP, SLG, OPS, K%, BB%, HR) from every plate appearance. Costs 5 credits.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
teamstring––
NameTypeReqDescription
countnumberyes–
methodstringyes–
seasonnumber|nullyes–
teamsarrayyes–

No examples provided.

list_teams ~90

Use to find team ids and abbreviations for a season (default: the latest). Every other tool takes a team as an id or abbreviation. Costs 1 credit.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
seasonnumber|string–Season (a year, e.g. 2025; default: the latest).
NameTypeReqDescription
countnumberyes–
seasonnumber|nullyes–
teamsarrayyes–

No examples provided.

search_players ~67

Use to find a player's id by name (partial names work). Costs 1 credit.

NameTypeReqDescription
leaguestring–League. Defaults to mlb. One of: mlb, ncaabase.
limitinteger––
namestringyesFull or partial name.
NameTypeReqDescription
countnumberyes–
playersarrayyes–

No examples provided.

Install

How do I install the FastballAPI MCP server?

FastballAPI is a hosted endpoint at https://mcp.fastballapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.fastballapi.com

# add to Claude Code
claude mcp add --transport http noahowsh-fastballapi 'https://mcp.fastballapi.com/mcp'
Common questions

What is the FastballAPI MCP server?

FastballAPI is an MCP server listed in the public MCP registry as io.github.noahowsh/fastballapi. MLB since 2015 plus college: pitches, plate appearances, box scores, odds by book. REST and MCP. This page covers its hosted endpoint (https://mcp.fastballapi.com/mcp).

Is the FastballAPI MCP server safe to use?

FastballAPI scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the FastballAPI MCP server expose?

FastballAPI exposes 21 tools: list_teams, get_games, get_schedule, get_game, get_standings, and 16 more. Their descriptions and schemas cost roughly 3,695 tokens of context every time the server is loaded.

Does the FastballAPI MCP server require authentication?

Its publisher declares that FastballAPI requires credentials, so you will need to authorise it in your MCP client. We have not been able to confirm that against the live endpoint.

Is the FastballAPI MCP server still maintained?

FastballAPI is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 3 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.