Skip to main content
Glama
chrischall

maxpreps-mcp

by chrischall

maxpreps-mcp

MCP server for MaxPreps — read any US high school's team schedules, scores, records, rosters, stat leaders and athlete careers.

Developed and maintained by AI (Claude Code). Use at your own discretion.

No account, no API key, no browser extension. MaxPreps serves its pages with Next.js, and every public page has a companion JSON route carrying the same data the page was rendered from. This server reads those routes directly over plain HTTPS, so it works anywhere Node runs.

Install

npx maxpreps-mcp

Or add it to an MCP host:

{
  "mcpServers": {
    "maxpreps": {
      "command": "npx",
      "args": ["-y", "maxpreps-mcp"]
    }
  }
}

Related MCP server: College Basketball Stats MCP Server

Tools

All fifteen are read-only; this server has no write path.

Tool

What it does

maxpreps_search

Find a school or athlete by name — start here

maxpreps_list_teams

Every team path a school publishes, with sport/gender/level

maxpreps_get_school

School profile, identifiers, association, nearby schools

maxpreps_get_team

Season record, standings, rankings, and available seasons

maxpreps_get_schedule

Games with results and scores, plus a computed record

maxpreps_get_roster

Players with jersey, class, positions, height, weight

maxpreps_get_stat_leaders

Statistical leaders with qualifying minimums

maxpreps_get_rankings

Ranked leaderboard for a sport, national or by state

maxpreps_get_team_rankings

Where one team ranks nationally, by state, division, metro

maxpreps_get_standings

Conference table with every team's record

maxpreps_list_stat_categories

Which stat leaderboards exist, and their paths

maxpreps_get_stat_leaderboard

Ranked athletes for one stat, statewide or national

maxpreps_get_athlete

One athlete's career page

maxpreps_healthcheck

Connectivity plus site build-id resolution

maxpreps_get_page

Raw page data for anything the above doesn't cover

Typical flow

Paths are not guessable, so resolve before you fetch:

  1. maxpreps_search "myers park" → the school's canonicalUrl

  2. maxpreps_list_teams on that path → real team paths

  3. maxpreps_get_schedule / _roster / _stat_leaders / _standings on a team path

To go the other way — discovering teams and athletes rather than looking one up — maxpreps_get_rankings and maxpreps_get_stat_leaderboard return ranked lists whose entries each carry a teamPath you can feed straight back in. Stat leaderboard paths are not guessable either, so list the categories first.

Prior seasons are a season argument ("25-26"); roughly 20 years are available.

Configuration

Everything is optional — the server works with no configuration at all.

Variable

Default

Purpose

MAXPREPS_USER_AGENT

built-in

Override the User-Agent sent to MaxPreps

MAXPREPS_CACHE_TTL

300

Seconds to reuse a fetched page; 0 disables

MAXPREPS_MIN_INTERVAL_MS

250

Minimum spacing between requests

MAXPREPS_TIMEOUT_MS

20000

Per-request timeout

Things worth knowing

These are properties of MaxPreps' data, and each one has bitten a naive reading:

  • Scores are winner-first in the raw data. MaxPreps renders a loss as "L 20-13" even when the team scored 13. The teamScore / opponentScore fields this server returns are always oriented team-vs-opponent.

  • Rosters and schedules carry hidden rows. A meaningful minority are flagged deleted and the site does not render them — the 2025-26 Myers Park football roster has 87 entries behind 63 visible players. They are excluded by default.

  • An out-of-season team is not a broken one. Before opening day the current season legitimately has an empty roster and no results; ask for a prior season.

  • Search is literal. "myers park" finds the school; "myers park high" finds nothing. Drop qualifiers before concluding a school is absent.

  • Statewide scoreboards aren't available. /<st>/<sport>/scores/ renders its game list client-side from a route that has no server-rendered payload. Per-team schedules are the supported way to get scores; maxpreps_get_rankings is the way to see a whole state's teams at once.

Shell-only alternative

The repo also ships a maxpreps skill (skills/maxpreps/) that reaches the same data through curl + a small decoder, with no server to run. If you only ever use Claude Code on one machine, the skill alone may be all you need; the MCP server is what makes this reachable from claude.ai, a phone, or any other client.

Development

npm install
npm run build
npm test

docs/MAXPREPS-API.md pins the captured request/response shapes, the positional key maps, and how to re-derive them if MaxPreps changes its bundle.

Etiquette

This reads an undocumented surface on someone else's site on behalf of one user. Requests are spaced and responses cached by default. Please keep it that way.

License

MIT

Available Tools

15 tools
maxpreps_get_athleteGet a MaxPreps athlete careerA
Read-onlyIdempotent

One athlete’s career page: season history, sports played, and available data. Pass the careerCanonicalUrl from maxpreps_search verbatim — it carries the required careerid parameter, without which the page cannot be addressed. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
athleteYesAthlete career path or URL, including ?careerid=… (use search’s careerCanonicalUrl)
careerIdNocareerid, if not already present in the path

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds valuable context about the required careerid parameter and the consequence of omitting it (page cannot be addressed), which goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, and no filler. Every sentence contributes either descriptive content or essential usage instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with complete schema and safety annotations, the description adequately covers the page content and addressing requirements. It could be more explicit about return formatting, but 'available data' plus the listed items is sufficient for a straightforward retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters fully described including the link to search's careerCanonicalUrl. The description reinforces this relationship but does not introduce new parameter semantics, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns one athlete's career page, listing specific content (season history, sports played, available data). The verb 'get' appears in the title and the resource is unambiguous, distinguishing it from sibling tools like school, team, or roster pages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit instructions to pass the careerCanonicalUrl from maxpreps_search verbatim, establishing both a prerequisite and a clear workflow. It implies the tool is used after a search but does not explicitly name alternative tools or state when not to use it, which keeps it just below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_pageGet raw MaxPreps page dataA
Read-onlyIdempotent

Escape hatch: return the raw server-rendered data for any public MaxPreps page, undecoded. Use when a dedicated tool does not cover what you need (playoff brackets, conference standings, article listings). Note that positional payloads — team rosters and schedules — arrive as bare arrays here with no field names; use maxpreps_get_roster / maxpreps_get_schedule for those. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesSite path or maxpreps.com URL
keysOnlyNoReturn only the top-level prop names and their types — cheap way to explore a page

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint/idempotentHint annotations, the description adds critical behavioral context: the data is 'undecoded', and 'positional payloads — team rosters and schedules — arrive as bare arrays here with no field names'. It also clarifies that this works for 'any public' page, which is useful for setting expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the key phrase 'Escape hatch'. It contains only three sentences, each providing distinct value: purpose, usage guidance, and a specific caveat. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an escape-hatch tool with only two well-documented parameters and no output schema, the description covers the essential context: what it does, when to use it, how the raw data behaves, and when to prefer other tools. The openWorldHint and readOnlyHint annotations complement this, making the tool's behavior sufficiently clear for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for both parameters (path and keysOnly) with 100% coverage, so the baseline is 3. The description adds general context about the raw output format (undecoded, bare arrays) but does not directly elaborate on how to use the parameters beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'return the raw server-rendered data for any public MaxPreps page, undecoded.' It also distinguishes itself from sibling tools by presenting itself as an escape hatch for cases not covered by dedicated tools and explicitly redirects roster/schedule needs to maxpreps_get_roster / maxpreps_get_schedule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'Use when a dedicated tool does not cover what you need' and lists examples like playoff brackets, conference standings, and article listings. It also clearly states when not to use it (for rosters/schedules), naming the alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_rankingsGet MaxPreps team rankingsA
Read-onlyIdempotent

Ranked leaderboard of teams for a sport — nationally, or within one state. Each entry carries the rank, rating, overall record, movement, and a teamPath ready to pass to the other team tools, so this is the way to discover teams rather than look one up. Results are paginated 25 at a time. Omitting season uses the current one, which is empty before that sport is under way. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
sportYesSport slug as used in MaxPreps URLs, e.g. football, basketball
stateNoTwo-letter state code, e.g. NC. Omit for national rankings.
seasonNoSeason label, e.g. 25-26. Omit for the current season.
pageNumberNo1-based page; 25 teams per page

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent), the description discloses pagination (25 at a time), season default behavior (empty before sport underway), and the entry fields including `teamPath`. This adds meaningful behavioral context beyond the structured annotations, with no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose, each sentence adds substantive detail (scope, entry contents, pagination, season behavior, read-only). No repetitive or wasted language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description reasonably explains what responses contain (rank, rating, record, movement, teamPath) and key behaviors like pagination and season default. It could mention empty-result handling, but overall it's complete enough for a simple read-only list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear per-parameter descriptions. The description repeats some schema info (season default, 25 per page) and adds output-focused context about `teamPath`, but no novel parameter syntax or semantics. This aligns with the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a ranked leaderboard of teams for a sport, nationally or within a state, and positions it as the discovery mechanism. However, it does not differentiate from the sibling `maxpreps_get_team_rankings`, which appears to be a near-duplicate name, so it lacks full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It offers some guidance ('this is the way to discover teams rather than look one up'), implying use for discovery versus lookup. But it does not explicitly state when to use this vs alternatives like `maxpreps_get_team_rankings` or `maxpreps_list_teams`, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_rosterGet a MaxPreps team rosterA
Read-onlyIdempotent

Players on a team for one season: jersey, name, class year, positions, height and weight. Soft-deleted entries (duplicates and departed players the site hides) are excluded by default — a roster payload often carries substantially more rows than the page shows. Height and weight are null when the school did not publish them. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
seasonNoSeason label, e.g. 25-26. Omit for the current season.
positionNoCase-insensitive filter on position, e.g. "QB"
includeDeletedNoInclude soft-deleted roster entries the site hides

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses meaningful behavioral traits beyond annotations: soft-deleted entries are excluded by default, rosters may contain more rows than the page shows, and height/weight are null when unpublished. The read-only nature aligns with the readOnlyHint annotation, and the description adds substantial context about data quality and payload size.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each earning its place. It front-loads the core payload, then adds behavioral caveats and a read-only note. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers return fields and null behavior, and explains the soft-deleted nuance. It does not mention pagination or ordering, but for a roster-sized dataset this is acceptable. The parameter schema covers the rest. Overall, it is well-rounded for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the impact of includeDeleted (soft-deleted exclusion default) and reinforcing that 'season' is per-season. It also clarifies that height/weight can be null, which relates to the data returned. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves players on a team for one season with specific fields (jersey, name, class year, positions, height, weight). This is a specific verb+resource+scope, and it distinguishes the roster tool from siblings like athlete, schedule, and team tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context about default behavior (soft-deleted entries excluded) but does not explicitly state when to use this tool versus alternatives such as maxpreps_get_athlete or maxpreps_get_team. No 'when-not' or alternative tool guidance is given, leaving the agent to infer usage from the tool name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_scheduleGet a MaxPreps team schedule and scoresA
Read-onlyIdempotent

Every game for a team season, with the result and both scores. Scores are oriented team-vs-opponent (teamScore/opponentScore); the raw resultString MaxPreps renders is winner-first, so a loss reads "L 20-13" even when the team scored 13. Soft-deleted contests are hidden by default, matching the site. Before opening day a current season legitimately has no results — check a prior season. Also returns any playoff or championship tournaments the season fed into. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
playedNoFilter to games with a result, games without one, or bothall
seasonNoSeason label, e.g. 25-26. Omit for the current season.
includeDeletedNoInclude soft-deleted contests the site hides
includeTournamentsNoInclude playoff/championship tournament entries the schedule references

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by explaining the score orientation (teamScore/opponentScore vs. winner-first resultString), the default hiding of soft-deleted contests, and the inclusion of playoff/championship tournaments. It also notes the legitimate no-results case for a current season. These are valuable behavioral details that annotations alone do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact paragraph where every sentence adds value: core purpose, score semantics, soft-delete behavior, season-timing caveat, and tournament inclusion. The final 'Read-only' is redundant with the annotation but harmless. It is well-structured and front-loaded with the primary use case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description clearly explains what the tool returns (games, scores, tournaments) and reveals important edge cases (soft-deleted contests, season timing). This gives an agent enough context to invoke the tool correctly and interpret results, making it complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for all five parameters, so the baseline is 3. The description does not add much parameter-specific semantics, though its clarification of score orientation indirectly helps interpret the 'played' filter (e.g., what counts as a result). Overall, the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Every game for a team season, with the result and both scores,' which clearly identifies the tool as returning a schedule with scores. It distinguishes itself from siblings by focusing on schedule-specific details like score orientation and tournament entries, making it unmistakable among the other MaxPreps tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context for when to use this tool (to get a team's schedule and scores) and includes a practical caveat about checking a prior season if the current one has no results pre-opening day. It does not explicitly name alternatives or state when not to use it, but the purpose is clear enough to infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_schoolGet a MaxPreps school profileA
Read-onlyIdempotent

School profile: identifiers, location, state athletic association, partner flags, plus nearby schools and recent articles/videos. Take the path from maxpreps_search. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
schoolYesSchool site path or maxpreps.com URL, e.g. nc/charlotte/myers-park-mustangs
includeNearbyNoInclude the nearby-schools list

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds 'Read-only' (redundant with annotation) and the input dependency on a search path, plus the specific content returned (nearby schools, articles/videos). This provides useful behavioral context beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose and details, and includes a direct usage hint. Every word earns its place with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately lists the main content groups of the profile. It also specifies the required input origin. It could mention error handling or exact field details, but for a read-only profile tool with simple parameters, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are fully described in the schema (100% coverage), so the baseline is 3. The description adds extra meaning by tying the 'school' parameter to 'maxpreps_search' and mentioning 'nearby schools' for the includeNearby flag, which reinforces how to use them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource ('School profile') and lists its components (identifiers, location, state athletic association, partner flags, nearby schools, recent articles/videos). This distinguishes it from sibling tools like maxpreps_get_team and maxpreps_get_athlete, which target different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description instructs users to 'Take the path from maxpreps_search', providing explicit guidance on how to obtain the required input. It does not explicitly exclude alternatives or state when not to use the tool, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_standingsGet conference standingsA
Read-onlyIdempotent

The standings table a team sits in — every team in the conference with its conference and overall records and placement, not just this team's own line (maxpreps_get_team gives that). Also returns the ranked statistical leaders MaxPreps highlights for the season. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
seasonNoSeason label, e.g. 25-26. Omit for the current season.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering the safety profile. The description adds context about the output scope (conference-wide vs team-specific) and the inclusion of statistical leaders, but does not disclose other behavioral traits like data volume, pagination, or refresh behavior. With annotations present, this is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly written in two sentences. The first sentence delivers the core purpose and differentiator, the second adds the secondary feature (statistical leaders) and the read-only nature. No wasted words, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does a good job explaining what the tool returns (standings with records/placement, plus statistical leaders). It does not mention any additional return details like format or ordering, but for a straightforward lookup tool, this is sufficient. Sibling tools like maxpreps_get_team are referenced, providing helpful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% — both parameters (team, season) are fully described in the schema with types and examples. The description does not add additional meaning or usage details beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the tool's function: returning the conference standings table with all teams' records and placement. It explicitly distinguishes from maxpreps_get_team by noting the scope difference. The verb 'returns' and resource 'standings table' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use this tool over maxpreps_get_team ('not just this team's own line'), which is an explicit alternative. However, it does not discuss when to use it versus maxpreps_get_stat_leaders for the statistical leaders portion, leaving a minor gap in guidance for that secondary feature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_stat_leaderboardGet a MaxPreps stat leaderboardA
Read-onlyIdempotent

The ranked athletes for one statistical category across a state or nationally — up to 200 per board, each with their full stat line, school, and a teamPath for the other team tools. Take path from maxpreps_list_stat_categories rather than constructing it. If MaxPreps changes the row shape the rows are returned undecoded with a warning rather than mislabelled. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesLeaderboard path from maxpreps_list_stat_categories, e.g. nc/football/25-26/stat-leaders/offense/passing/yds
limitNoMax athletes to return

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds meaningful behavioral context: rows are returned undecoded with a warning if MaxPreps changes the row shape, preventing mislabeling, and it clarifies the content of each entry (stat line, school, teamPath). This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each with a distinct purpose: purpose/return shape, parameter sourcing guidance, and error-handling behavior. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description effectively covers the return shape (athletes, stat line, school, teamPath), the scope (state or national, up to 200), the source of `path`, and fault behavior. It provides enough context for an agent to select and use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces that `path` should come from `maxpreps_list_stat_categories` and gives an example in the schema, but it adds no additional semantics beyond what the schema already provides for either `path` or `limit`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns ranked athletes for one statistical category across a state or nationally, with full stat lines and a teamPath. This is a specific verb+resource+scope, and the mention of taking `path` from maxpreps_list_stat_categories distinguishes it from sibling tools that might construct paths or return broader leaderboards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs users to take `path` from `maxpreps_list_stat_categories` rather than constructing it, which is clear usage guidance tied to a sibling tool. It does not explicitly contrast with `maxpreps_get_stat_leaders` or other alternatives, so it lacks a full when-not-to-use statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_stat_leadersGet MaxPreps team stat leadersA
Read-onlyIdempotent

Statistical leaders for a team season — each entry names the athlete, the stat, its value and the athlete's career URL. Also returns the qualifying minimums and the stat refresh time. Coverage varies by sport and by how diligently the school reports; an empty result is normal, not an error. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
seasonNoSeason label, e.g. 25-26. Omit for the current season.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent hints, so the 'Read-only' line is redundant. But the description adds substantial behavioral detail beyond annotations: it discloses return payload components (qualifying minimums, refresh time) and explains coverage variability and empty-result semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences, front-loaded with the primary return value, followed by the important edge-case behavior. Every sentence contributes meaning without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does an excellent job of explaining what is returned (athlete entries, minimums, refresh time) and how to interpret empty results. The tool is simple (2 params, 1 required), and the description fully covers its use and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both team and season have descriptive examples in the input schema. The description adds no extra parameter-level guidance beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('get') and resource ('team stat leaders'), then elaborates with the exact contents of each entry: athlete, stat, value, and athlete career URL. The phrase 'for a team season' distinguishes it from the sibling stat leaderboard tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a clear use case (retrieving team-season stat leaders) and provides helpful context that empty results are normal. However, it does not explicitly name alternatives like maxpreps_get_stat_leaderboard or state when to prefer this tool over them, so while context is clear, exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_teamGet a MaxPreps team seasonA
Read-onlyIdempotent

Team overview for one season: sport/level/season identifiers, the win-loss record and points for/against, conference standing, rankings, and the full list of seasons this team has on MaxPreps (roughly 20 years). Use it to confirm a record without summing a schedule. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
seasonNoSeason label, e.g. 25-26. Omit for the current season.
includeSeasonsNoInclude the list of available seasons

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds 'roughly 20 years' of season history and the read-only reassurance, but largely repeats annotation info. It does not add details on errors, data freshness, or other behavioral caveats, matching the baseline for annotation-backed tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first lists the data content, the second gives a clear use case. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description enumerates returned data categories (record, standings, rankings, season list) which is adequate for a read-only overview. It does not explain response formatting or error handling, but for a simple 3-parameter tool with rich annotations, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all three parameters with full descriptions (100% coverage). The description does not add parameter-specific semantics beyond mentioning season in the overview; the schema already explains team path, season pattern, and includeSeasons.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific resource (team season) and enumerates exact contents: identifiers, win-loss record, points for/against, conference standing, rankings, and season list. It also distinguishes from schedule by noting it confirms a record without summing a schedule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit use case: 'Use it to confirm a record without summing a schedule.' It does not explicitly state when not to use or mention alternative tools for standings/rankings, but the purpose and context are clear enough for an agent to select this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_get_team_rankingsGet one team’s rankingsA
Read-onlyIdempotent

Where a single team sits in each ranking MaxPreps publishes for it — typically national, state, state division/class, and metro area — along with the teams ranked immediately around it. Use this for "how good is this team"; use maxpreps_get_rankings to browse a whole leaderboard. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesTeam site path or URL, e.g. nc/charlotte/myers-park-mustangs/football
seasonNoSeason label, e.g. 25-26. Omit for the current season.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds behavioral context beyond these by explaining the output includes surrounding teams and typical ranking categories, which is useful for an agent predicting the tool's behavior. It does not fully disclose every detail but adds meaningful context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, followed by usage guidance and a read-only note. No redundancy or filler; each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two well-documented parameters and no output schema, the description conveys what the return data represents (rankings and surrounding teams) and typical ranking categories. Combined with annotations and schema, the agent has sufficient context to invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive comments for both parameters (team, season). The description adds no new parameter-specific semantics beyond clarifying that 'team' refers to a single team, which is already implied. Baseline 3 is appropriate when the schema fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a single team's rankings across multiple categories (national, state, division, metro) plus adjacent teams. It distinguishes itself from the sibling maxpreps_get_rankings by explicitly saying it's for 'how good is this team' rather than browsing a leaderboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is given: 'Use this for "how good is this team"; use maxpreps_get_rankings to browse a whole leaderboard.' This names the alternative tool and provides clear decision criteria, satisfying the when-and-when-not requirement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_healthcheckCheck MaxPreps connectivityA
Read-only

Verify MaxPreps is reachable and that the site build id — which every data route embeds and which changes on each deploy — resolves. Also probes a real data route, so a pass means tools will work. Reports a failure rather than throwing. No credentials are required by this server. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=true. Description adds that it reports a failure rather than throwing, and that no credentials are required, which are useful behavioral details beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding specific value: build ID dependency, real-route probing, and error behavior plus credentials. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter health check, the description covers reachability, build ID, real-route probing, failure behavior, and credentials. It does not specify the success return format, but that is minor given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty. The description explains what the health check covers but no parameter semantics are needed; the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool verifies MaxPreps reachability and build ID resolution, and probes a real data route. This distinguishes it from sibling data-retrieval tools as a health check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'a pass means tools will work' implies using this as a pre-check before other tools. However, it does not explicitly mention when not to use or alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_list_stat_categoriesList MaxPreps stat leaderboard categoriesA
Read-onlyIdempotent

Which statistical leaderboards exist for a sport, with the path to each one plus the national and in-scope averages and the games-played minimum. Call this before maxpreps_get_stat_leaderboard — the leaf path is not derivable from the stat name (Total TDs lives at touchdowns/tot-tds, Sacks at sacks/tot-sacks), so the path must come from here. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
sportYesSport slug as used in MaxPreps URLs, e.g. football
stateNoTwo-letter state code, e.g. NC. Omit for national leaders.
seasonNoSeason label, e.g. 25-26. Omit for the current season.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds the important behavioral fact that the returned path is required for subsequent calls because it cannot be inferred. The description also mentions the output includes averages and minimums, but does not discuss pagination or response size; however, for a read-only list operation the added context is valuable beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and enriched with a concrete dependency note and path examples. Every clause adds value; no filler or repetition beyond the single 'Read-only' tag that mirrors the annotation, which is acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with 3 well-documented parameters and no output schema, the description tells the agent what the response will contain (categories, paths, averages, minimum games) and why the tool is necessary. It does not specify the exact response shape, but given the tool's simplicity and the absence of an output schema, this is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented (sport slug, optional state, optional season). The description adds no new parameter-level semantics—it only mentions path examples for leaderboard categories, not for the input parameters. This meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies that this tool lists the available stat leaderboard categories for a sport, including paths, averages, and minimum games played. It explicitly names the follow-up tool maxpreps_get_stat_leaderboard, distinguishing itself from the sibling tool that retrieves actual leaderboard data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit usage guidance: 'Call this before maxpreps_get_stat_leaderboard' and explains why the leaf path is not derivable from the stat name, giving concrete examples. This tells the agent exactly when to use this tool and establishes a dependency, which is stronger than typical sibling differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

maxpreps_list_teamsList a school’s teamsA
Read-onlyIdempotent

Every team path a school publishes, with sport, gender and level. Call this before any team tool — the sport path segments are not guessable (the default gender varies by sport, so girls golf is "golf/girls" while boys golf is "golf/spring", and field hockey has no gender segment at all). Passing a team path instead of a school path returns that team’s seasons. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoFilter on level, e.g. "Varsity", "JV", "Freshman"
sportNoCase-insensitive filter on the sport name, e.g. "football"
schoolYesSchool site path or maxpreps.com URL, e.g. nc/charlotte/myers-park-mustangs

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnly, idempotent, and openWorld hints, so the safety profile is already known. The description adds valuable behavioral context: the sport path segment structure varies by sport (e.g., girls golf vs boys golf) and field hockey has no gender segment, plus the dual behavior when a team path is passed instead of a school path. This goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet packed with essential information. It front-loads the core purpose and uses examples to clarify non-obvious path conventions. No superfluous sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters and no output schema, the description explains the return content (team paths with sport, gender, level) and the important input variation (school vs team path). It provides enough context for the agent to use the tool correctly, including the non-obvious gender path segments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters (school, sport, level). The description adds semantic depth by explaining that sport path segments are not guessable due to gender defaults varying by sport, providing concrete examples. It also clarifies that the school parameter accepts a school site path or URL, and that passing a team path changes the return to that team's seasons.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists a school's teams with sport, gender, and level, and distinguishes it from sibling tools by explaining that team path segments are not guessable, making it the necessary precursor to other team tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs 'Call this before any team tool' and explains why (sport path segments are not guessable). It also documents an alternative use case: passing a team path returns that team's seasons, which guides the agent to choose the appropriate path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updatesv0.2.0
    • First observedmaxpreps_get_athlete
    • First observedmaxpreps_get_page
    • First observedmaxpreps_get_rankings
    • First observedmaxpreps_get_roster
    • First observedmaxpreps_get_schedule
    • First observedmaxpreps_get_school
    • First observedmaxpreps_get_standings
    • First observedmaxpreps_get_stat_leaderboard
    • First observedmaxpreps_get_stat_leaders
    • First observedmaxpreps_get_team
    • First observedmaxpreps_get_team_rankings
    • First observedmaxpreps_healthcheck
    • First observedmaxpreps_list_stat_categories
    • First observedmaxpreps_list_teams
    • First observedmaxpreps_search

TDQS

A4.4/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct resource and action: search, athlete, school, teams, team, schedule, roster, stat leaders, rankings, team rankings, standings, stat categories, stat leaderboard, healthcheck, and page. Even closely related tools like maxpreps_get_rankings and maxpreps_get_team_rankings are clearly differentiated by scope (browse vs. single team). No two tools appear to do the same thing.

Naming Consistency5/5

All tools follow the consistent prefix+verb_noun pattern: maxpreps_get_*, maxpreps_list_*, maxpreps_search, maxpreps_healthcheck. Verbs and nouns are consistently snake_case and descriptive. The only deviation is healthcheck being a single word, but it is a common and predictable exception.

Tool Count5/5

15 tools is at the upper bound of the ideal range but each earns its place by covering a distinct aspect of MaxPreps data access. The tool count matches the breadth of the domain (schools, teams, schedules, rosters, stats, rankings, standings) without unnecessary redundancy.

Completeness5/5

The tool set provides comprehensive read-only coverage: search, athlete, school, teams, team overview, schedule, roster, stat leaders, rankings, team rankings, standings, stat leaderboards, plus a healthcheck and a raw page escape hatch for any uncovered content like playoff brackets or articles. The escape hatch ensures no piece of public MaxPreps data is out of reach, making the surface effectively complete.

Maintenance

ActivityActive
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP Server that enables interaction with MLB scores and statistics via the SportsData.io MLB V3 Scores API, allowing users to access baseball data through natural language queries.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for accessing college basketball statistics through the SportsData.io CBB v3 Stats API, enabling AI agents to retrieve and analyze college basketball data through natural language interactions.
    -
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for NBA live data and stats, providing read-only tools to query live scores, box scores, player info, standings, and more from NBA.com.
    15
    9
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing tools to query live scores, schedules, standings, and game stats from the SportRadar API for multiple sports including NFL, NBA, NHL, NCAAMB, soccer, and tennis.
    -