Skip to main content
Glama

stat-api — Sports Data

Server Details

NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 10 of 10 tools scored. Lowest: 3.7/5.

Server CoherenceA
Disambiguation5/5

Each tool serves a distinct purpose: quota info, schema description, game markets, games by date, single-row fetch, GraphQL queries, league/table listing, generic query, and player search. No two tools overlap in functionality.

Naming Consistency5/5

All tools use consistent snake_case with verb_noun pattern (e.g., describe_table, list_leagues, query_table). Predictable and easy to understand.

Tool Count5/5

10 tools cover the full range of operations for a sports data API: discovery, querying, schema inspection, and utility. Each tool earns its place without overloading.

Completeness4/5

The surface covers core read operations, schema exploration, and even GraphQL. Minor gap: search_players only supports NBA, with a note to use query_table for other leagues. Overall comprehensive for a read-only API.

Available Tools

10 tools
api_usageAInspect

Your key's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires an API key; costs 1 record.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations provided, so description bears full burden. It discloses authentication need and that usage consumes a record, which is good. However, it does not elaborate on potential failures, rate limits, or effects of exceeding quota.

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 extremely concise: two sentences that front-load the purpose and immediately follow with important usage constraints. No wasted words.

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 lists the expected fields (plan, limit, used, remaining, reset). This is sufficient for a simple read tool, though it omits data types or response format details.

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?

There are zero parameters and schema coverage is 100%, so the description cannot add more. Baseline 4 applies per the rule for no 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 the tool returns quota position: plan, limits, usage, remaining, and reset time. It is distinct from sibling tools which involve data queries or game information, making its purpose 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?

The description tells when to use (to check quota) and notes requirements (API key, costs 1 record). Lacks explicit alternatives or when-not-to-use, but no sibling serves the same function.

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

describe_tableAInspect

Full contract for one table: fields with types and descriptions, the filters query_table accepts (with operators like __gte/__lte/__between/__like and required filter combinations), page-size limits, primary key, and a runnable example URL. No credentials needed. Always call this before query_table — filters not listed here are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYes
leagueYes
Behavior5/5

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

Discloses that no credentials are needed, and describes the output content (fields, filters, limits, primary key, example). For a read-only schema tool with no annotations, this is fully transparent.

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 that front-load the purpose and provide essential guidance without redundancy. Every sentence adds value.

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 no output schema, the description comprehensively lists what the output contains: fields, types, descriptions, filters, limits, primary key, example URL. Also notes no credentials needed, making it self-contained.

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

Parameters2/5

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

Schema has 0% description coverage and the description does not explain the parameters 'league' or 'table'. While the league enum is self-explanatory from the schema, the description adds no meaning beyond what the schema provides.

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 a 'full contract for one table' including fields, types, filters, limits, and example URL. It uses specific verb 'describe' and resource 'table', and distinguishes from sibling query_table.

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?

Explicitly instructs to 'Always call this before query_table' and warns that filters not listed are rejected. Provides clear when-to-use and when-not-to-use guidance.

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

game_marketsAInspect

Prediction-market contracts attached to one sporting event: Kalshi events+markets and/or Polymarket events+markets linked via (league_code, competition_id). game_id is the game's id from the league's games table (golf: the tournament id). Returns {"kalshi": {events, markets}, "polymarket": {events, markets}} (only the requested sources). Requires an API key; all returned rows count against quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
leagueYes
sourceNoomit for both
game_idYes
Behavior4/5

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

With no annotations, the description carries the burden of disclosing behavior. It reveals that the tool returns a JSON structure, requires an API key, and counts against quota. It implies a read-only operation. The return format is described, and parameter usage is clarified (e.g., game_id mapping). No side effects are mentioned, which is acceptable for a data retrieval tool.

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: three sentences covering purpose, parameters, output format, and usage requirements. No redundant or missing information. Front-loaded with the core function.

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 the absence of an output schema, the description adequately describes the return format and parameter semantics. The mention of linked league_code and competition_id is slightly extraneous since they aren't parameters. Overall, it covers the key aspects for a 3-parameter tool.

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 33%, but the description adds significant value: it explains that game_id refers to the league's games table (with special note for golf), that source can be omitted to get both, and it details the output structure. This goes beyond the schema's minimal 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 returns prediction-market contracts for one sporting event from Kalshi and Polymarket. It specifies the resource (markets attached to a game) and distinguishes it from sibling tools like games_on_date or search_players, which serve different purposes.

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 explains that this tool is for fetching market data for a specific game, and that it can return data from either or both sources. It mentions API key requirements and quota usage, providing context. However, it does not explicitly contrast with siblings or state when not to use it.

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

games_on_dateAInspect

Games scheduled/played on one calendar date (US-Eastern) for nba, mlb, or nhl; defaults to today. Returns the same envelope as query_table on the games table. NFL is week-based, not date-based — for nfl, use query_table on nfl/games with season_id + week filters instead. Requires an API key; rows count against quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD; defaults to today in US-Eastern time
leagueYes
Behavior4/5

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

With no annotations, the description carries full burden. It discloses API key requirement, quota usage, and return envelope similarity to query_table. Could be more explicit about idempotency but is sufficient for a read-only query tool.

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 providing distinct value: core functionality, output format, and usage caveats. No superfluous words.

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 no output schema and no annotations, the description covers purpose, usage boundaries, practical constraints (API key, quota), and relationship to sibling tool query_table. Sufficient for competent use.

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 already provides descriptions for both parameters (100% coverage). Description adds default behavior for date and reiterates leagues, but doesn't add significant new semantic information beyond what's in the schema.

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 it returns games for a specific date for NBA, MLB, or NHL, defaults to today, and mentions the envelope format. It distinguishes from siblings by explicitly excluding NFL and directing to query_table.

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 describes when to use (date-based leagues) and when not to (NFL, with alternative path). Also mentions API key requirement and quota implications.

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

get_recordAInspect

Fetch a single row by primary key. Returns the row object. Requires an API key; costs 1 record of quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesprimary-key value (integer or text PK)
tableYes
leagueYes
Behavior4/5

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

With no annotations, the description discloses authentication requirements and quota cost. It implies a non-destructive read. Does not mention error handling or idempotency, but covers key behavioral aspects.

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: first states purpose and return, second adds constraints. No wasted words, front-loaded with the core action.

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?

Covers purpose, return type, auth, and cost. Lacks error behavior details and explicit guidance on when to choose this over query_table, but adequate for a simple fetch tool.

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

Parameters2/5

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

Schema description coverage is only 33% (only 'id' has a description). The description does not explain the roles of 'league' and 'table' beyond the schema, missing an opportunity to compensate for the low coverage.

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?

Clearly states 'Fetch a single row by primary key. Returns the row object.' Uses a specific verb and resource, and distinguishes from sibling tools like query_table (multiple rows) and describe_table (schema).

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 explicit requirements: 'Requires an API key; costs 1 record of quota.' Lacks when-not-to-use or direct comparison with alternatives, but the simple fetch purpose largely self-explains usage.

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

graphql_queryAInspect

Run a GraphQL query against the same data with relations — nest from a game to its teams/players/odds in one call. Root fields are leagues (nfl, nba, …), each exposing its tables with the same filter arguments as REST plus first/after pagination. Do NOT send introspection queries (the schema is huge) — use describe_table instead; the SDL is at https://api.stat-api.com/api/v1/graphql/sdl. Requires an API key; every row resolved anywhere in the tree counts against quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
variablesNo
Behavior3/5

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

Discloses key behaviors: requires API key, counts every row against quota, and warns against introspection due to schema size. No annotations exist, so description carries full burden. Lacks details on error handling, rate limits, or response format, but core traits are covered.

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 a single paragraph but is reasonably concise, front-loading the core purpose and key constraints. However, it could be slightly more structured with bullet points for readability, and the phrase 'the same data with relations' is a bit vague.

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

Completeness3/5

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

Given the complexity (GraphQL, pagination, quota), the description covers root fields, pagination arguments, and the introspection alternative. Missing explanation of output structure or error handling, which would be helpful since no output schema is provided.

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

Parameters2/5

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

Schema coverage is 0%, and the description provides no detail about the 'query' or 'variables' parameters beyond required/optional. It does not explain that 'query' should be a GraphQL query string or that 'variables' is a JSON object, leaving the agent with insufficient guidance to format inputs correctly.

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 runs GraphQL queries with relational nesting from games to teams/players/odds. It distinguishes itself from siblings like 'describe_table' by explicitly warning against introspection queries and directing to that tool, making its purpose 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 explicit when-to-use (for relations/nesting) and when-not-to-use (introspection queries, referencing describe_table). Also mentions API key requirement and row-level quota. However, it does not directly contrast with 'query_table' or other REST endpoints, leaving some ambiguity.

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

list_leaguesAInspect

List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description discloses that no credentials are needed (read-only nature). It describes the output format (league list with table counts and availability). However, it does not mention rate limits or caching behavior, which is acceptable given the tool's simplicity.

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 long, front-loaded with the primary action and examples, followed by a usage hint. No wasted words.

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 the tool's simplicity (no parameters, no output schema), the description covers the purpose, output, prerequisites, and relationship to sibling tools. It is fully informative for an agent to decide when to call it.

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 baseline is 4. The description does not need to add parameter details, and it does not introduce any confusion.

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 explicitly states the tool lists every league/data group with table counts and availability, giving concrete examples. It differentiates itself from the sibling list_tables tool by positioning itself as the entry point.

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 usage sequence: 'Start here, then call list_tables'. It also notes 'No credentials needed', which is a useful prerequisite. It does not explicitly state when not to use, but the context is sufficient for this simple tool.

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

list_tablesAInspect

List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.

ParametersJSON Schema
NameRequiredDescriptionDefault
leagueYes
Behavior3/5

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

Without annotations, the description carries the burden. It discloses read-only behavior and no auth, but lacks details on response format, pagination, or error handling. Adequate but not comprehensive.

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, no fluff. Front-loaded with core information. Every word 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 one simple parameter, no output schema, and clear sibling relationships, the description is mostly complete. It could hint at output structure but is sufficient for a listing tool.

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 0%. The description mentions 'in one league' to indicate the parameter's role, but does not elaborate on values or usage beyond what the schema's enum provides. Minimal added value.

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 every queryable table in one league with a one-line summary. This distinguishes it from siblings like describe_table and query_table, which focus on individual tables.

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?

Explicitly states no credentials are needed and instructs to follow with describe_table before querying, providing a clear workflow and usage context.

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

query_tableAInspect

Query any table. Returns {"<table>": [rows], "limit": N, "next_from_id": M|null}; page by re-calling with from_id set to the previous next_from_id until it is null. filters is a flat object of field or field__op keys from describe_table (e.g. {"season_id": 2024, "day__between": "20250101,20250131"}). Requires an API key (Authorization: Bearer ; free tier at https://stat-api.com). Every returned row counts against the monthly record quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tableYes
leagueYes
filtersNofield or field__op keys → scalar values; see describe_table
from_idNokeyset cursor from next_from_id
Behavior4/5

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

With no annotations, the description carries full burden. It discloses authentication requirements (API key), quota impact (each row counts against monthly quota), and pagination behavior. However, it does not mention rate limits or error handling.

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 concise with three sentences covering purpose, return format, pagination, filters, auth, and quota. Every sentence adds value, none are redundant.

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 includes return format and pagination. It covers authentication and quota. For a 5-parameter tool with nested objects, it is mostly complete but lacks error handling or rate limit info.

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 description coverage is only 40%, but the description adds substantial meaning: explains filters (with operation syntax and example), from_id as pagination cursor, and implies league and table from context. It compensates for missing 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 'Query any table' as the purpose, includes the exact return format with pagination details, and distinguishes itself from sibling tools by being a generic table query with pagination instead of specialized queries like games_on_date or get_record.

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 context for when to use this tool (generic table query with pagination and filters) and references describe_table for filter definitions, but does not explicitly state when to use alternatives or when not to use this tool.

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

search_playersAInspect

Fuzzy player-name search (typo-tolerant). Currently NBA only — for other leagues query the players table with a name filter via query_table. Returns player rows ordered by match quality. Requires an API key; rows count against quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
limitNo
leagueNonba
Behavior4/5

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

Discloses typo-tolerance, ordering by match quality, NBA-only scope, API key requirement, and quota counting. No annotations exist, so the description carries full burden and does so well, though it could explicitly state it's a read-only operation.

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 with no wasted words. First sentence delivers core purpose, second adds constraints and alternatives. Front-loaded and efficient.

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 and no annotations, the description covers purpose, usage guidance, and behavioral traits. Missing description of the 'limit' parameter and return format is a minor completeness gap, but overall adequate for agent decision-making.

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

Parameters2/5

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

Schema description coverage is 0%, so description must explain parameters. It implies 'name' via 'fuzzy player-name search' and 'league' via 'NBA only', but the 'limit' parameter is completely undocumented. This is a significant gap.

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?

Clearly states 'Fuzzy player-name search' with specific verb and resource. Explicitly differentiates from sibling query_table for other leagues, making the tool's scope unambiguous.

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 clear when-to-use (fuzzy NBA search) and when-not-to-use (other leagues → query_table). Also mentions API key requirement and quota implications.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources