Skip to main content
Glama
chrischall

maxpreps-mcp

by chrischall

Get raw MaxPreps page data

maxpreps_get_page
Read-onlyIdempotent

Retrieve raw server-rendered MaxPreps data for any public page, covering playoff brackets, conference standings, and article listings when dedicated tools fall short.

Instructions

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.

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already carry readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond those annotations: the data arrives 'undecoded' and, critically, that positional payloads (rosters/schedules) come back 'as bare arrays here with no field names' — a real surprise an agent would otherwise hit at runtime. Minor omissions like failure behavior for invalid/non-public paths keep it from a 5.

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?

Roughly 55 words carry the core purpose, the selection rule, the format gotcha, sibling routing, and the read-only flag. The most identifying information ('Escape hatch... undecoded') is front-loaded first, and every clause earns its place — no repetition of schema text or annotation fields.

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 bears the burden of explaining return behavior, and it covers the two biggest hazards (undecoded raw format and nameless bare arrays) plus the safety profile via annotations. It doesn't mention error handling for invalid or non-public paths or response size/pagination, but for a read-only escape-hatch tool with openWorldHint this is a strong, adequate disclosure.

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 of 3 applies: both `path` and `keysOnly` are already documented in the schema. The description adds only the 'public page' scope constraint on `path` and the exploration framing around keysOnly, which is marginal value over the schema. It doesn't compensate further because no compensation is needed.

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 states a precise verb+resource: 'return the raw server-rendered data for any public MaxPreps page, undecoded.' It frames itself as an 'escape hatch' and differentiates from siblings by naming the gaps it fills (playoff brackets, conference standings, article listings) and by explicitly routing roster/schedule pages to dedicated siblings. An agent can distinguish this from the 14 sibling tools immediately.

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?

'Use when a dedicated tool does not cover what you need' is an explicit selection rule, reinforced with concrete examples and a direct exclusion: 'use maxpreps_get_roster / maxpreps_get_schedule for those.' This tells the agent when to pick the tool and which alternatives to choose instead, leaving nothing to inference.

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