Statbotics
NPM · @WITHINFOCUS/STATBOTICS-MCP-SERVER · SCANNED AUG 3
Statbotics MCP Server
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (138 of 142), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to withinfocus/statbotics-mcp-server). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 96 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3861 tokens (~275/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @withinfocus/statbotics-mcp-server
claude mcp add withinfocus-statbotics -- npx -y @withinfocus/statbotics-mcp-server
codex mcp add withinfocus-statbotics -- npx -y @withinfocus/statbotics-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"withinfocus-statbotics": {
"type": "local",
"command": [
"npx",
"-y",
"@withinfocus/statbotics-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add withinfocus-statbotics --command npx --arg -y --arg @withinfocus/statbotics-mcp-server
mcp_servers:
withinfocus-statbotics:
command: "npx"
args: ["-y", "@withinfocus/statbotics-mcp-server"] {
"mcpServers": {
"withinfocus-statbotics": {
"command": "npx",
"args": [
"-y",
"@withinfocus/statbotics-mcp-server"
]
}
}
} 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.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +58
- GHSA-frvp-7c67-39w9 affects this package: medium ▼ security
- Known CVEs: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Provenance: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- The attested source repository moved: withinfocus/statbotics-mcp-server security
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 31 Jul 26 −25
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +18
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −18
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 42
First indexed and scored.
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 3 Aug 2026 · Analysed npm/@withinfocus/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- withinfocus/statbotics-mcp-server
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/withinfocus/statbotics-mcp-server/.github/workflows/publish.yml@refs/heads/main
- Rekor log index:
- 1399103005
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:ee548f06b193bd18f63407980f3a654d39bd4ffe25dcb8918104418132aa4828601d65f155abe587256e6d001967a940230158fe6f9f3044a96d56607
- Discovery method:
- attestation_endpoint
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-frvp-7c67-39w9 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
Dependencies 138 packages
138 packages in the resolved dependency tree · 136 deprecated · 52 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
get_event ~208
Look up a single FIRST Robotics Competition (FRC) event by its event key. Returns metadata (event name, year, week, type, location, dates, district), aggregate EPA stats for participating teams, qualification and playoff status, and Statbotics predictions for the event (e.g. winner probabilities). Event keys follow the format `<year><event-code>`, e.g. "2024flor" (FLOR = Orlando regional 2024), "2024necmp" (New England district championship 2024), "2024cmptx" (Houston champs 2024). Use this to answer "what happened at 2024flor?", "show predictions for 2024cmptx", or to get context (week, type, location) for an event you have the key for. For browsing events by season, district, or week, use get_events.
| Name | Type | Req | Description |
|---|---|---|---|
| event | string | yes | Event key, e.g. 2024flor |
No output schema declared.
No examples provided.
get_events ~410
List FIRST Robotics Competition (FRC) events with optional filters - the discovery tool for finding event keys and browsing the season schedule. Returns an array of events with name, key, dates, location, week, type, EPA stats, and predictions. Filter by `year` (4-digit, >=2002), `country`, `state`, `district`, `type` (regional, district, district_cmp, champs_div, einstein, offseason), and `week` (0-8 of the season; 8 = championship). Sort with `metric`/`ascending` and paginate with `limit`/`offset`. Use this to answer "what regionals were in California in 2024?", "list all week 1 events this year", or "find the FRC championship divisions" (year=YEAR, type="champs_div"). If you need a single event you already know, use get_event.
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| country | string | — | Capitalized country name, e.g. USA or Canada. |
| district | string | — | District abbreviation. One of: ca, fch, fim, fin, fit, fma, fnc, fsc, isr, ne, ont, pch, pnw, win. |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| state | string | — | Capitalized two-letter state code, e.g. NC. |
| type | string | — | One of: regional, district, district_cmp, champs_div, einstein, or offseason. |
| week | integer | — | Week of the competition season. 8 is CMP. |
| year | integer | — | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_match ~214
Look up a single FIRST Robotics Competition (FRC) match by its match key. Returns full match detail: red and blue alliance team lists, final scores by alliance and component (auto, teleop, endgame, fouls), ranking points awarded, win/tie outcome, the Statbotics pre-match win probability and predicted score, and elimination flag. Match keys follow the format `<event-key>_<match-code>`, e.g. "2024flor_qm20" (qualification match 20), "2024flor_sf2m1" (semifinal 2 match 1), "2024flor_f1m3" (finals match 3). Use this to answer "who won 2024flor_qm20?", "what was the predicted vs actual score?", or to get alliance compositions for a known match. For browsing many matches, use get_matches.
| Name | Type | Req | Description |
|---|---|---|---|
| match | string | yes | Match key, e.g. 2024flor_qm20 |
No output schema declared.
No examples provided.
get_matches ~334
List FIRST Robotics Competition (FRC) matches with optional filters. Returns an array of match records (alliances, scores, predictions, EPA-based win probabilities, elim flag). Filter by `team` (every match a team played in), `year`, `event` (every match at one event), `week` (0-8), and `elim` (true for playoff/elimination matches only, false for qualifications only). Sort with `metric`/`ascending` and paginate with `limit`/`offset`. Use this to answer "show all of team 254's matches in 2024", "list every elim match at 2024cmptx", or "find the highest-scoring matches of week 6". For per-team match contributions (a team's individual EPA in a match), use get_team_matches.
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| elim | boolean | — | Whether the match is an elimination match. |
| event | string | — | Event key, e.g. 2024flor |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| team | integer | — | Team number (no prefix), e.g. 86 |
| week | integer | — | Week of the competition season. 8 is CMP. |
| year | integer | — | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_team ~186
Look up the Statbotics profile for a single FIRST Robotics Competition (FRC) team by team number. Returns lifetime/career data for that team: team name, rookie year, location (city, state/province, country), active status, current and historical EPA ratings, normalized EPA (norm_epa), career win/loss/tie record, and career win rate. Use this to answer "tell me about FRC team 254", "where is team 2056 based?", or "what is team 1678's career EPA?". The team number is the bare integer with no FRC/frc prefix (e.g. 86, not "frc86"). For per-season detail, use get_team_year. For filtering or browsing many teams, use get_teams.
| Name | Type | Req | Description |
|---|---|---|---|
| team | integer | yes | Team number (no prefix), e.g. 86 |
No output schema declared.
No examples provided.
get_team_event ~181
Get one team's performance at one specific FIRST Robotics Competition (FRC) event. Returns the team's qualification rank, qualification record (W-L-T), playoff alliance and result, EPA at this event (start, end, mean, breakdown by score component), and award list. Requires both `team` (integer, no prefix) and `event` (event key like "2024flor"). Use this to answer "how did team 2056 do at 2024onham?", "what was team 254's EPA at champs?", or "what awards did team 1114 win at their district championship?". For browsing many team-event combinations, use get_team_events.
| Name | Type | Req | Description |
|---|---|---|---|
| event | string | yes | Event key, e.g. 2024flor |
| team | integer | yes | Team number (no prefix), e.g. 86 |
No output schema declared.
No examples provided.
get_team_events ~434
List FIRST Robotics Competition (FRC) team-event records with flexible filters. Each row represents one team's performance at one event (rank, record, EPA, awards). Filter any combination of `team` (one team across all events), `year`, `event` (all teams at one event - great for getting an event's full team list with stats), `country`, `state`, `district`, `type` (regional, district, district_cmp, champs_div, einstein, offseason), and `week` (0-8). Sort with `metric`/`ascending` and paginate with `limit`/`offset`. Use this to answer "show every event team 254 has attended in 2024", "list all teams at 2024flor with their ranks", or "rank teams by EPA across all 2024 district championships".
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| country | string | — | Capitalized country name, e.g. USA or Canada. |
| district | string | — | District abbreviation. One of: ca, fch, fim, fin, fit, fma, fnc, fsc, isr, ne, ont, pch, pnw, win. |
| event | string | — | Event key, e.g. 2024flor |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| state | string | — | Capitalized two-letter state code, e.g. NC. |
| team | integer | — | Team number (no prefix), e.g. 86 |
| type | string | — | One of: regional, district, district_cmp, champs_div, einstein, or offseason. |
| week | integer | — | Week of the competition season. 8 is CMP. |
| year | integer | — | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_team_match ~179
Get a single team's contribution to a single FIRST Robotics Competition (FRC) match - the per-robot view of one match. Returns which alliance the team was on (red/blue), the team's EPA going into the match, the team's predicted score contribution by component, and post-match outcome flags. Useful for scouting and post-match analysis: "how much did team 2056 contribute to alliance score in 2024onham_sf2m1?". Requires both `team` (integer, no prefix) and `match` (match key like "2024flor_qm20"). For listing many team-match rows, use get_team_matches.
| Name | Type | Req | Description |
|---|---|---|---|
| match | string | yes | Match key, e.g. 2024flor_qm20 |
| team | integer | yes | Team number (no prefix), e.g. 86 |
No output schema declared.
No examples provided.
get_team_matches ~337
List per-team match contributions across many FIRST Robotics Competition (FRC) matches. Each row is one team's involvement in one match (alliance, pre-match EPA, predicted contribution, outcome). Filter by `team` (one team's entire match log), `year`, `event`, `week` (0-8), `match` (a single match key - returns one row per team in that match), and `elim` (true for elimination matches only). Sort with `metric`/`ascending` and paginate with `limit`/`offset`. Use this to build a scouting timeline ("every match team 254 played in 2024 with their EPA contribution"), compare alliance partners, or compute per-team averages over a range of matches.
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| elim | boolean | — | Whether the match is an elimination match. |
| event | string | — | Event key, e.g. 2024flor |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| match | string | — | Match key, e.g. 2024flor_qm20 |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| team | integer | — | Team number (no prefix), e.g. 86 |
| week | integer | — | Week of the competition season. 8 is CMP. |
| year | integer | — | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_team_year ~190
Get one team's performance summary for one specific FIRST Robotics Competition (FRC) season. Returns the team's EPA breakdown for that year (start, pre-playoffs, end, max, mean, ranks/percentiles), win/loss/tie record and win rate, count and list of events attended, district points, and award totals. Use this to answer "how did team 2056 do in 2023?", "what was team 254's peak EPA in 2018?", or "how many events did team 1114 attend in 2024?". Requires both team number (integer, no prefix) and a 4-digit year >= 2002. For multi-team or multi-year browsing, use get_team_years.
| Name | Type | Req | Description |
|---|---|---|---|
| team | integer | yes | Team number (no prefix), e.g. 86 |
| year | integer | yes | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_team_years ~363
List per-season FIRST Robotics Competition (FRC) team statistics with flexible filters - useful for cross-team or cross-year analysis. Returns an array of team-year records (each row is one team's stats for one season: EPA, record, ranks, awards, district points). Filter by `team` (a single team across many seasons), `year` (all teams in one season), `country`, `state`, and `district`. Combine filters - e.g. team+year is equivalent to get_team_year. Sort with `metric`/`ascending` and paginate with `limit`/`offset`. Use this to answer "show team 254 in every season", "rank all teams by EPA in 2023", or "find the strongest teams in the New England district in 2024".
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| country | string | — | Capitalized country name, e.g. USA or Canada. |
| district | string | — | District abbreviation. One of: ca, fch, fim, fin, fit, fma, fnc, fsc, isr, ne, ont, pch, pnw, win. |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| state | string | — | Capitalized two-letter state code, e.g. NC. |
| team | integer | — | Team number (no prefix), e.g. 86 |
| year | integer | — | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_teams ~393
List FIRST Robotics Competition (FRC) teams from the Statbotics database with optional filters. Returns an array of team profiles (number, name, location, rookie year, active flag, career EPA stats, career win rate). Filter by `country` (e.g. "USA", "Canada"), `state` (two-letter code, e.g. "NC", "CA"), `district` (one of ca, fch, fim, fin, fit, fma, fnc, fsc, isr, ne, ont, pch, pnw, win), and `active` (true to limit to teams that competed in the last year). Sort with `metric`/`ascending` (e.g. metric="norm_epa", ascending=false to find the strongest active teams) and paginate with `limit`/`offset`. Use this to answer "which teams in Texas are most successful?", "list all teams in the FIM district", or "find the top 50 teams by normalized EPA".
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | — | Whether the team has played in the last year. |
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| country | string | — | Capitalized country name, e.g. USA or Canada. |
| district | string | — | District abbreviation. One of: ca, fch, fim, fin, fit, fma, fnc, fsc, isr, ne, ont, pch, pnw, win. |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
| state | string | — | Capitalized two-letter state code, e.g. NC. |
No output schema declared.
No examples provided.
get_year ~196
Look up Statbotics season summary statistics for a single FIRST Robotics Competition (FRC) year. Returns aggregate metrics for the game played that year: EPA (Expected Points Added) percentile breakpoints (mean, median, 75th/90th/95th/99th), score component averages, foul rates, RP (ranking point) rates, and the count of teams, events, and matches recorded. Use this to answer questions like "what was the average score in the 2024 FRC season?", "what EPA put a team in the top 10% in 2019?", or to calibrate per-year scoring before comparing teams across seasons. Data is available for years 2002 onward; pre-2016 seasons have less detail because the EPA model was less granular. For comparing many seasons in one call, use get_years instead.
| Name | Type | Req | Description |
|---|---|---|---|
| year | integer | yes | Four-digit year (2002 onwards) |
No output schema declared.
No examples provided.
get_years ~236
List Statbotics season summary statistics across multiple FIRST Robotics Competition (FRC) years in a single call. Returns the same per-season aggregates as get_year (EPA percentiles, scoring averages, foul/RP rates, counts) but as an array, with optional sorting and pagination. Use this to chart trends over time, e.g. "how have average match scores evolved from 2002 to today?", "which seasons had the highest top-1% EPA?", or to dump the full season catalog for downstream analysis. Sort with `metric` (any returned column name, e.g. `epa_max`, `score_mean`) and `ascending`; paginate with `limit` (1-1000, default 1000) and `offset`.
| Name | Type | Req | Description |
|---|---|---|---|
| ascending | boolean | — | Whether to sort in ascending order. Default is ascending. |
| limit | integer | — | Maximum number of results to return (1-1000). Default is 1000. |
| metric | string | — | How to sort the returned values. Any column in the table is valid. |
| offset | integer | — | Offset from the first result to return. |
No output schema declared.
No examples provided.