MCP server for Veritas Acta — contribute, challenge, verify, and query contestable public records from AI coding tools.
Withinfocus Tba 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.
Open InstallationWhat it does
The Blue Alliance MCP Server
Quickstart
# 1 — run it from where its publisher ships it
npx -y @withinfocus/tba-mcp-server
# 2 — the plan is chosen at checkout, in the browser
# 3 — ask your agent something
> The Blue Alliance MCP Server
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. This one runs on your machine: your client starts Withinfocus Tba as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. It is scanned, signed and pinned to the version you choose — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. Claude Code registers it in one command.
claude mcp add withinfocus-tba-mcp -- npx -y @withinfocus/tba-mcp-serverReconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: TBA_API_KEY. You set it after installing; the value is sealed here and sent to the server on each call.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
45 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.
List every FRC event a team registered for in a given season year. Returns full event records (name, dates, location, district affiliation, week number, webcasts, event type, division keys). Use to build a team
Takes no parameters.
Retrieve the full record for a single FRC event by event key (e.g.,
Takes no parameters.
Retrieve playoff alliance selections for an FRC event. Returns each alliance in seed order with captain and pick team keys, declined teams, backup robot info (in/out swap), and playoff progression status (current level, win/loss/tie record, playoff average score, final result string like
Takes no parameters.
Retrieve every season year in which a team has competed in FRC, sorted ascending. Returns a flat array of year integers. Use to bound year-based queries, drive per-year iteration, or determine a team
Takes no parameters.
List the named robots a team has built and registered each year (e.g.,
Takes no parameters.
Retrieve media (photos, videos, presentations, essays) submitted for a team in a given FRC season year. Returns media records with type (e.g.,
Takes no parameters.
List all FRC teams ever registered, paginated in groups of 500. Returns full team profiles. Increment page_num starting at 0 until the response is empty to enumerate every team in TBA
Takes no parameters.
Retrieve the full record for a single match by match key (e.g.,
Takes no parameters.
List every award given out at a specific FRC event. Returns each award
Takes no parameters.
Retrieve every award won by a team across its entire FRC competition history. Returns the full award list (name, year, event key, recipient list, type code). Use for lifetime award tallies, retrospectives, and Hall of Fame analysis. For a single year see get_team_awards.
Takes no parameters.
List every FRC event a team has competed at across all years it has participated. Returns full event records. Use to map a team
Takes no parameters.
List every active FRC district for a given season year (FIRST in Michigan
Takes no parameters.
Retrieve season-end district rankings for all teams in an FRC district. Returns each team
Takes no parameters.
Paginated listing of every registered FRC team with reduced fields (key, team_number, nickname, name, city, state_prov, country). Lighter than get_teams; use when website, motto, address, and geocoded location are not needed.
Takes no parameters.
Paginated listing of every registered FRC team key only (strings like
Takes no parameters.
List every FRC team that competed in a given season year, paginated in groups of 500. Returns full team profiles. Use to scope team enumeration to a single competition season. Lighter variants: get_teams_by_year_simple, get_teams_by_year_keys.
Takes no parameters.
Paginated list of FRC teams that competed in a given year with reduced team fields (key, team_number, nickname, name, location). Lighter than get_teams_by_year.
Takes no parameters.
Paginated list of team keys that competed in a given FRC season year. Lightest variant; ideal for building per-year team indices or driving downstream per-team lookups.
Takes no parameters.
Retrieve a reduced FRC team profile (key, team_number, nickname, name, city, state_prov, country). Lighter than get_team; use when website, motto, address, and lat/lng are not needed.
Takes no parameters.
Retrieve a reduced FRC event profile (key, name, event_code, type, location, dates, year). Lighter than get_event; use when district, webcast, division, and playoff metadata are not needed.
Takes no parameters.
List every FRC event for a season year with reduced event fields. Lighter than get_events.
Takes no parameters.
List every FRC event key for a season year (strings like
Takes no parameters.
Retrieve a single match with reduced fields (alliances, scores, winning alliance, timing). Omits game-specific score breakdown and video links. Lighter than get_match.
Takes no parameters.
List a team
Takes no parameters.
List the event keys a team registered for in a given FRC season year. Lightest variant of get_team_events; useful for driving per-event queries scoped to a team
Takes no parameters.
Retrieve every award won by a specific team at a specific event. Returns award records (name, type, year, recipient list including team key and individual awardee names).
Takes no parameters.
List every match a team played in a season year with reduced match fields (no game-specific score breakdown or videos). Lighter than get_team_matches.
Takes no parameters.
List every match key a team played in a given FRC season year. Lightest variant of get_team_matches; useful for driving per-match queries scoped to a team
Takes no parameters.
Retrieve a team
Takes no parameters.
Retrieve a team
Takes no parameters.
Retrieve a team
Takes no parameters.
List teams competing at an event with reduced team fields (key, team_number, nickname, name, location). Lighter than get_event_teams.
Takes no parameters.
List team keys competing at an event (strings like
Takes no parameters.
List matches at an event with reduced match fields (no game-specific score breakdown or videos). Lighter than get_event_matches.
Takes no parameters.
List match keys at an event (strings like
Takes no parameters.
Retrieve a team
Takes no parameters.
Retrieve a team
Takes no parameters.
Lighter variant of get_team_event_matches: every match a team played at a single event with reduced match fields (no game-specific score breakdown or videos).
Takes no parameters.
Lightest variant returning only match keys for a team at a specific event. Ideal for driving downstream per-match queries.
Takes no parameters.
List every FRC event in a district (e.g., all 2024 FIRST in Michigan district qualifying events plus the district championship). Returns full event records. Lighter variants: get_district_events_simple, get_district_events_keys.
Takes no parameters.
List events in an FRC district with reduced event fields. Lighter than get_district_events.
Takes no parameters.
List event keys in an FRC district. Lightest enumeration of district events; ideal for driving per-event lookups across a district season.
Takes no parameters.
List every team affiliated with an FRC district in a given year. Returns full team profiles. Use to enumerate a district
Takes no parameters.
List teams in an FRC district with reduced team fields. Lighter than get_district_teams.
Takes no parameters.
List team keys in an FRC district. Lightest enumeration of a district
Takes no parameters.
- 16,000 calls a month, included
- 192 calls a minute at peak
- Every tool the listing has
- Cancel any time — the unused days are credited
- Runs behind the gateway, so cancelling stops it
- 160,000 calls a month, included
- 1,920 calls a minute at peak
- Every tool the listing has
- Cancel any time — the unused days are credited
- Runs behind the gateway, so cancelling stops it
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
No call is billed on its own, and this plan carries no monthly call limit. $19 a month covers every tool 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 |
|---|---|---|---|
| −3.6 | |||
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| verification-discount | source | publisher verification (provenance) — cryptographic build provenance ties the artifact to its source | −0 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
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.
No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command "npx -y <package>".
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. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| No per-tool rows for this release — see the note below. | ||
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
Pinned to 1.4.0 — the install command below asks for that release. A pin is part of an install, so it is kept for this visit and written down when you install.
No release note was published with this version.
Only accounts with at least 50 real tool calls against this server in the last 90 days can post. Ratings are weighted by how much the reviewer actually uses it, and publishers can reply once per review.
Writing one takes an account with at least 50 real tool calls against Withinfocus Tba in the last 90 days. That is the whole gate — there is no other way to post, which is why the counts beside each review are worth reading.
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 an account with 50 real tool calls against it.