Skip to content

FastballAPI

by noahowsh · remote · no sign-in to list tools · v1.1.6 · published by GitHub user noahowsh

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

Read only

20 tools: 20 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http fastballapi https://mcp.fastballapi.com/mcp --header 'x-api-key: <your-x-api-key>'

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The description contains "Every other tool", wording about other tools or servers.

    Matched text

    description: "...ons for a season (default: the latest). Every other tool takes a team as an id or abbreviation...."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

20 tools

Only reads 20Claude Code: allow
  • get_gameUse 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.No findings

    Why it is in this group

    • The name "get_game" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Game
    • destructiveHint: false
  • get_gamesUse to list games with runs, hits and errors by season, date, date range or team, newest first.No findings

    Why it is in this group

    • The name "get_games" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Games
    • destructiveHint: false
  • get_injuriesUse 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).No findings

    Why it is in this group

    • The name "get_injuries" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Injuries
    • destructiveHint: false
  • get_leadersUse 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…No findings

    Why it is in this group

    • The name "get_leaders" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Leaders
    • destructiveHint: false
  • get_line_movementUse 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 t…No findings

    Why it is in this group

    • The name "get_line_movement" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Line movement
    • destructiveHint: false
  • get_oddsUse 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), w…No findings

    Why it is in this group

    • The name "get_odds" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Odds
    • destructiveHint: false
  • get_pitch_mixUse for a pitcher's arsenal in a season: each pitch type's usage, average and top velocity, whiff rate per swing and ball rate.No findings

    Why it is in this group

    • The name "get_pitch_mix" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Pitch mix
    • destructiveHint: false
  • get_pitchesUse 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.No findings

    Why it is in this group

    • The name "get_pitches" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Pitches
    • destructiveHint: false
  • get_plate_appearancesUse 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…No findings

    Why it is in this group

    • The name "get_plate_appearances" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Plate appearances
    • destructiveHint: false
  • get_playerUse 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).No findings

    Why it is in this group

    • The name "get_player" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Player
    • destructiveHint: false
  • get_player_gamesUse for a player's game log: every game's batting line and pitching line, newest first, optionally one season.No findings

    Why it is in this group

    • The name "get_player_games" says "get": a word for reading.
    Description, as the server wrote it
    Use for a player's game log: every game's batting line and pitching line, newest first, optionally one season. Costs 5 credits.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Player games
    • destructiveHint: false
  • get_player_propsUse 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,…No findings

    Why it is in this group

    • The name "get_player_props" says "get": a word for reading.
    Description, as the server wrote it
    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 (10 credits), or player_id with from_date (and to_date) for one player across games (10 credits per game returned, up to 100). Returns the closing line by default (the last before the game starts) or the opening line, with each book's over and under prices. 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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Player props
    • destructiveHint: false
  • get_prop_historyUse 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 closi…No findings

    Why it is in this group

    • The name "get_prop_history" says "get": a word for reading.
    Description, as the server wrote it
    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. Costs 10 credits for up to 200 games. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Prop history
    • destructiveHint: false
  • get_ratingsUse for our team power ratings (Elo from every final game in our data), ranked, as of the end of a season or today.No findings

    Why it is in this group

    • The name "get_ratings" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Ratings
    • destructiveHint: false
  • get_scheduleUse for upcoming games (next 1-30 days, default 7) with the median line across posted sportsbooks: moneylines, run line and total.No findings

    Why it is in this group

    • The name "get_schedule" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Schedule
    • destructiveHint: false
  • get_spray_chartUse 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_ba…No findings

    Why it is in this group

    • The name "get_spray_chart" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Spray chart
    • destructiveHint: false
  • get_standingsUse 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…No findings

    Why it is in this group

    • The name "get_standings" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Standings
    • destructiveHint: false
  • get_team_statsUse 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 eve…No findings

    Why it is in this group

    • The name "get_team_stats" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Team stats
    • destructiveHint: false
  • list_teamsUse to find team ids and abbreviations for a season (default: the latest).1 finding

    Why it is in this group

    • The name "list_teams" says "list": a word for reading.

    Findings

    • Warn

      The description contains "Every other tool", wording about other tools or servers.

      Matched text

      description: "...ons for a season (default: the latest). Every other tool takes a team as an id or abbreviation...."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: List teams
    • destructiveHint: false
  • search_playersUse to find a player's id by name (partial names work).No findings

    Why it is in this group

    • The name "search_players" says "search": a word for reading.
    Description, as the server wrote it
    Use to find a player's id by name (partial names work). Costs 1 credit.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • title: Search players
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.6. Values in angle brackets are yours to fill in.

claude mcp add --transport http fastballapi https://mcp.fastballapi.com/mcp --header 'x-api-key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__fastballapi__list_teams",
      "mcp__fastballapi__get_games",
      "mcp__fastballapi__get_schedule",
      "mcp__fastballapi__get_game",
      "mcp__fastballapi__get_standings",
      "mcp__fastballapi__get_injuries",
      "mcp__fastballapi__search_players",
      "mcp__fastballapi__get_player",
      "mcp__fastballapi__get_player_games",
      "mcp__fastballapi__get_leaders",
      "mcp__fastballapi__get_team_stats",
      "mcp__fastballapi__get_plate_appearances",
      "mcp__fastballapi__get_pitches",
      "mcp__fastballapi__get_pitch_mix",
      "mcp__fastballapi__get_spray_chart",
      "mcp__fastballapi__get_odds",
      "mcp__fastballapi__get_line_movement",
      "mcp__fastballapi__get_ratings",
      "mcp__fastballapi__get_player_props",
      "mcp__fastballapi__get_prop_history"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fastballapi. Review it before you use it.