Skip to main content
Glama

nfhs_search

Read-only

Run the NFHS Network mixed-entity free-text search and return one page of results whose content_type identifies each shape: school items carry school identity and location fields, state_association items carry association identity and game items carry game scheduling fields. search_term is required and must be at least 3 characters; optionally narrow by state from nfhs_states or activity from nfhs_activities. start/size page and next_cursor is the reliable deep-page cursor. Prefer the entity-specific tools when the type is known; a valid empty match is count 0 with an empty list.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "search_term": "<search_term>"
    },
    "name": "nfhs_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
sizeNoOptional page size, 1 to 500; defaults to 20.
startNoOptional zero-based result offset; use next_cursor for deep pages.
stateNoOptional two-letter state code.
cursorNoOptional next_cursor from a previous page; the reliable way to page beyond the first 10000 results.
activityNoOptional activity name exactly as the nfhs-activities discovery endpoint reports it, matched case-insensitively.
search_termYesFree-text term matched across school, state-association and game names; at least 3 characters.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description discloses the result shape by content_type, warns that next_cursor is required for reliable deep paging, and notes that an empty match is valid with count 0 and an empty list. It does not cover auth or rate-limit behavior, but the annotations already establish the safe read-only profile.

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

Conciseness4/5

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

The description is front-loaded with the purpose and then packs the result shapes, required input constraint, filters, paging, alternative tool guidance, and empty-result behavior into one efficient paragraph. It is dense but nearly every sentence earns its place; the long result-shape sentence is the only slightly run-on part.

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 six-parameter mixed-entity search with a full schema and an output schema, the description covers the key behavioral context: what the search spans, how content_type distinguishes result types, filter sources, paging, alternative tools, and empty matches. Only minor operational details are left to the schema and annotations.

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%, so the input schema already documents every parameter including the 3-character minimum, page sizing, state, activity, and cursor. The description mainly restates those rules; its only real added semantic value is pointing to nfhs_states and nfhs_activities as the sources for filter values.

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 specific verb and resource — mixed-entity free-text search — and explains that results are identified by content_type as school, state_association, or game items. This clearly distinguishes it from the entity-specific sibling 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?

It explicitly says to prefer entity-specific tools when the type is known and gives optional narrowing by state or activity, which helps route the agent. It does not state in so many words that this tool is for unknown-type searches, but the mixed-entity framing makes that condition clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.