Skip to main content
Glama

LeagueApps MCP by usefulapi

Server Details

Read programs, schedules, teams, locations and announcements of a youth-sports site in LeagueApps.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation4/5

Each tool targets a distinct resource (locations, programs, schedule, teams, sports, announcements, blog, site), with get_* for single items and list_* for collections. The only real overlap is leagueapps_list_programs vs leagueapps_list_current_programs, but the descriptions make the boundary clear (full catalog with include_states vs open/upcoming only).

Naming Consistency5/5

All 11 tools follow the same leagueapps_<verb>_<noun> pattern with a meaningful get/list distinction between single-resource and collection fetches. Names are predictable and readable, with no mixed conventions.

Tool Count5/5

11 tools is a well-scoped set for exposing a read-only public API surface, with each tool mapping to a distinct endpoint. No redundant or filler tools.

Completeness3/5

The surface covers programs, schedules, teams, locations, sports, and site content well, but stops at the program/team level: there is no way to retrieve registrations, participants/rosters, members, or standings/division detail, which are core to a league management platform. The surface is coherent but read-only with notable dead ends for anything beyond catalog browsing.

Available Tools

11 tools
leagueapps_get_locationGet a locationA
Read-only
Inspect

Details of one location by id: address, coordinates and sub-locations. Public API: GET /locations/{locationId}.

NameRequiredDescriptionDefault
location_idYesLocation id (locationId from a schedule or location list).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description does not need to restate safety. Beyond that, it discloses what the response contains (address, coordinates, sub-locations) and the underlying public API route, which is genuinely useful for an agent with no output schema.

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?

Two tight sentences with the purpose front-loaded and no filler. The trailing API-route sentence is slightly redundant but adds a small amount of orienting context.

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 single-parameter read tool with annotations covering safety and a 100%-covered schema, the description covers purpose and the shape of the returned data. It does not address error behavior for an invalid id, but nothing essential is missing.

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%, and the schema already explains that location_id comes from a schedule or location list. The description only echoes 'by id' without adding format or sourcing detail beyond the schema, so the baseline 3 applies.

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 states a specific verb and resource ('Details of one location by id') and previews the returned fields (address, coordinates, sub-locations). It clearly contrasts with list-style siblings like leagueapps_list_locations, but does not name any sibling explicitly.

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?

Usage is implied: fetch a single location when you already have its id. There is no explicit statement of when to prefer this over leagueapps_list_locations or leagueapps_get_site, so the routing decision is left to inference.

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

leagueapps_get_programGet a programA
Read-only
Inspect

Full details of one program by id: dates, description, pricing, registration state, location. Public API: GET /programs/{programId}.

NameRequiredDescriptionDefault
program_idYesProgram id (programId from a program list).

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered; the description usefully adds "Public API" (implying no elevated auth) and names the underlying endpoint. However, it says nothing about not-found behavior, error shape, or whether fields may be null, which matters for a single-record fetch with no output schema.

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 the identity of the record and the payload contents, then the endpoint for orientation. Nothing is padded or 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?

With no output schema, the enumeration of returned fields (dates, description, pricing, registration state, location) fills the most important gap for a single-record getter. Missing only edge-case behavior such as invalid or unpublished program ids.

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% and the only parameter carries the digit-pattern and provenance note, so the schema does the work. The description adds only "by id," which repeats rather than extends that meaning. Baseline 3 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?

States a specific verb and resource ("Full details of one program by id") and enumerates the fields it covers, which cleanly separates it from leagueapps_list_programs (many programs) and leagueapps_get_program_schedule (schedule slice). An agent can pick it without reading the schema.

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?

The phrase "by id" plus the schema note "programId from a program list" implies the list-first workflow, but the description never says when to prefer this over leagueapps_get_program_schedule or leagueapps_list_current_programs. Usage is inferable rather than stated.

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

leagueapps_get_program_scheduleGet a program scheduleA
Read-only
Inspect

The full schedule of a program: games with teams, times, locations and scores, plus events and date notes. Public API: GET /programs/{programId}/schedule.

NameRequiredDescriptionDefault
program_idYesProgram id.

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint already declares the safety profile, so the description's added value is the disclosure of what the response contains (games, events, date notes) and the underlying endpoint, which tells the agent this is a single public GET against a specific program. It doesn't cover response size, pagination, or error behavior, keeping it below 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?

Two sentences, zero waste: the payload description leads, the endpoint reference trails. Nothing is repeated from the title or schema.

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 usefully enumerates the constituents of the schedule, which is the main completeness gap this tool could have had. Missing only peripheral details like response shape or whether date notes are optional.

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?

With one parameter at 100% schema coverage, the schema already documents program_id fully (including the numeric pattern). The description adds nothing about the id beyond the implied scoping, so the baseline 3 applies.

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?

States a specific verb+resource ('The full schedule of a program') and enumerates the returned content (games with teams, times, locations, scores, plus events and date notes), which clearly separates it from list_program_teams and get_program. It stops short of naming those siblings, so differentiation is implicit rather than explicit.

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?

Usage is only implied — an agent can infer this is the tool for retrieving a single program's schedule, but there is no stated when-to-use/when-not or pointer to an alternative for team-level or program-level lookups.

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

leagueapps_get_siteGet site infoA
Read-only
Inspect

Basic information about the connected LeagueApps site: name, subdomain, time zone, URL, logo and theme colors. Public API: GET /v1/sites/{siteId}.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, and the description adds real value by enumerating the returned fields (name, subdomain, time zone, URL, logo, theme colors), which matters because there is no output schema. The phrase 'connected site' usefully clarifies that no siteId parameter is needed, resolving the apparent mismatch with the /v1/sites/{siteId} endpoint.

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, zero waste, with the substantive content (what fields come back) front-loaded before the API endpoint reference.

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 read tool with no output schema, the field enumeration supplies nearly everything an agent needs to decide whether to call it. Only minor gaps remain (no mention of error behavior if the site connection is misconfigured), which are not essential for invocation.

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?

Zero parameters, so the baseline is 4. The description helpfully explains that the target site is implicit ('the connected site'), which is the only semantic question the empty schema raises.

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?

States a specific verb+resource ('basic information about the connected LeagueApps site') and enumerates the fields returned, so an agent knows exactly what it gets. It is distinguishable from siblings like get_location/get_program by resource, though it doesn't explicitly name those alternatives.

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?

Usage is implied — call this to fetch site-level metadata such as time zone or subdomain before other operations — but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer that this is the site-level counterpart to the location/program getters.

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

leagueapps_list_announcementsList announcementsB
Read-only
Inspect

Site announcements, newest first. Public API: GET /announcements.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's job is lighter. It adds two useful facts beyond annotations: results are ordered newest-first and the endpoint is public (no auth implied). It says nothing about result volume, pagination, or what an announcement record contains.

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?

Two short fragments, front-loaded with the resource and ordering. The 'Public API: GET /announcements' clause is marginally useful to an agent (signals unauthenticated access) but is mostly implementation trivia.

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?

For a zero-param read tool with no output schema, the description covers what the tool returns only at the level of 'announcements'. It does not indicate the shape of a returned announcement or whether results are bounded, which the agent cannot infer from any structured field.

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 takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly implies no filtering or paging inputs are accepted.

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?

Names the resource ('site announcements') and states the ordering ('newest first'), which is enough for an agent to distinguish it from list_blog_posts or get_site. The verb is only implied via the name/title, but the resource is unambiguous.

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?

There is no explicit when-to-use or when-not-to-use guidance, and no sibling tool is named as an alternative. The only usage signal is the implicit 'public API' note, which does not route the agent between this and other list tools.

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

leagueapps_list_blog_postsList blog postsA
Read-only
Inspect

Blog posts of the site, newest first, with title, summary and URL. Public API: GET /blog.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuine value beyond that: the ordering (newest first), the returned fields (title, summary, URL), and the underlying public endpoint GET /blog, which signals no authentication scope beyond the public API.

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 short sentences with no waste — resource, ordering, return fields, then the API binding. The most useful fact (what you get back) is front-loaded.

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 and no parameters, the description carries the return-value burden and does so by naming the fields and sort order. The one real gap is pagination or result-count behavior for a list endpoint, which is never mentioned.

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 takes zero parameters, so there is nothing for the description to disambiguate; the empty schema is self-explanatory. Baseline 4 applies.

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?

States a specific resource ("Blog posts of the site") with the fields returned and the ordering, so an agent immediately knows what it gets. It doesn't explicitly name a sibling it differs from, but none of the siblings (locations, programs, announcements) overlap in subject, so differentiation is implicit.

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?

Usage is implied by the resource itself — call it when you need site blog content — but there's no explicit when-to-use statement, no exclusions, and no guidance on things like whether to prefer it over announcements for news content. Adequate but leaves inference to the agent.

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

leagueapps_list_current_programsList current programsA
Read-only
Inspect

List the programs that are open now or upcoming on the site. Good first call to see what the organization runs. Public API: GET /programs/current.

NameRequiredDescriptionDefault
include_deletedNoAlso return programs that were deleted.
include_privateNoAlso return private programs.

TDQS

A3.8/5.0
Behavior3/5

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

readOnlyHint already declares the safe-read profile, so the description's main addition is "Public API: GET /programs/current," which hints at public data access, plus the current/upcoming filter semantics. It says nothing about pagination, result volume, or what a program object contains.

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 short sentences, scope stated first, orientation hint second, endpoint last. Nothing redundant and no filler.

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 no-required-param, read-only list tool with full schema coverage and annotations, this covers what an agent needs to decide and call. Only a brief note on output shape/ordering (since no output schema exists) would round it out.

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 both booleans (include_deleted, include_private) are already documented in the schema. The description adds no extra meaning about these flags or their interaction with the current/upcoming filter, which is the baseline-3 case.

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?

Specific verb+resource with a clear scope qualifier ("open now or upcoming"), which implicitly separates it from the broader leagueapps_list_programs sibling. It never names that sibling outright, so the distinction is left to inference rather than stated.

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?

"Good first call to see what the organization runs" gives explicit entry-point guidance, which is genuinely useful for orienting an agent. It stops short of naming alternatives or exclusions (e.g., when to prefer list_programs or get_program).

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

leagueapps_list_locationsList locationsA
Read-only
Inspect

List the fields, facilities and venues the site uses, with address and sub-locations. Public API: GET /locations.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already declares the safety profile, and the description adds useful context that this hits the public GET /locations endpoint and returns address and sub-location detail. It does not mention auth requirements, result size, or whether the list is paginated or complete.

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?

Two short sentences, front-loaded with what is returned, followed by the API endpoint mapping. No wasted filler, though the REST endpoint line is marginally useful for agents that reason in HTTP terms.

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-param read-only list with no output schema, the description conveys the entity kind and some of the returned shape (address, sub-locations). Only the absence of any statement about result size or completeness keeps it from being fully sufficient.

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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool applies. The description correctly implies no filtering inputs exist.

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?

A specific verb (List) plus resource (locations) and it explains what a location record contains (fields, facilities, venues, addresses, sub-locations). It implicitly distinguishes itself from the singular leagueapps_get_location sibling, though it never names alternatives.

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?

Usage is only implied: the tool returns all locations the site uses, so an agent can infer it should use this to enumerate rather than fetch one by ID. There is no explicit statement of when to prefer this over leagueapps_get_location or leagueapps_get_site.

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

leagueapps_list_programsList programsA
Read-only
Inspect

List programs (leagues, clubs, camps, tournaments, classes) with full details. Choose states with include_states (LIVE, UPCOMING, COMPLETED, DRAFT). Public API: GET /programs.

NameRequiredDescriptionDefault
page_sizeNoMaximum programs to return.
include_statesNoProgram states to include (default: the vendor default).

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful context ('Public API: GET /programs', 'full details'), but says nothing about pagination behavior despite a page_size parameter, nor about return shape or defaults beyond 'vendor default'.

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?

Two short, front-loaded sentences that identify the resource and the key filter immediately. The endpoint reference is minor overhead but does not undermine the tight structure.

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, fully-annotated read tool with complete schema coverage, the description covers resource scope and the primary filter. The only real gap is disambiguation from list_current_programs.

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 schema already documents both parameters and the four state enum values. The description's restatement of the state values adds little beyond the schema and does not explain the default or pagination semantics of page_size.

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?

States a specific verb (list) and resource (programs), and clarifies the resource by enumerating what counts as a program (leagues, clubs, camps, tournaments, classes). It is clearly distinct from the single-item leagueapps_get_program, but it does not distinguish itself from the close sibling leagueapps_list_current_programs, so an agent must infer the difference.

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?

Provides usage guidance for one parameter ('Choose states with include_states'), which implies filtering usage. However, there is no explicit when-to-use/when-not guidance and no routing to the very similar leagueapps_list_current_programs sibling, leaving the main selection decision to inference.

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

leagueapps_list_program_teamsList program teamsA
Read-only
Inspect

List the teams of a program with division, status and team profile URL. Public API: GET /programs/{programId}/teams.

NameRequiredDescriptionDefault
program_idYesProgram id.
include_deletedNoAlso return deleted teams.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, and the description adds what the payload contains and that it is a public API endpoint. It does not disclose pagination, result ordering, or whether include_deleted changes any other fields, so it adds only modest context beyond the annotation.

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 short sentences, front-loaded with the action and returned fields, followed by the endpoint mapping. Nothing redundant or padded.

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 list tool with full schema coverage and no output schema, the description supplies the needed context by naming the returned fields and the endpoint. Only minor gaps remain (pagination/ordering, effect of include_deleted on output).

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%: program_id's pattern and include_deleted's meaning are fully documented in the schema. The description reinforces scoping ('teams of a program') but adds no format or behavior detail beyond what the schema already provides, so the baseline 3 applies.

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?

States a specific verb and resource ('List the teams of a program') and enumerates the returned fields (division, status, team profile URL), plus the underlying endpoint GET /programs/{programId}/teams. The resource is clearly distinct from get_program and get_program_schedule, though no sibling is named explicitly.

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?

Usage is implied: call this when you need the teams belonging to a program. There is no explicit when-to-use/when-not guidance, no mention of how this differs from get_program_schedule, and no prerequisites stated.

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

leagueapps_list_sportsList sportsA
Read-only
Inspect

List the sports that have LIVE or UPCOMING programs on the site (sports with only completed programs are not listed). Public API: GET /sports.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral value beyond that: the LIVE/UPCOMING filter and exclusion of completed-only sports, plus the underlying endpoint GET /sports. It does not mention auth or rate limits, but a public read endpoint with zero parameters needs little more.

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 compact sentences with the most important constraint front-loaded in the first clause. The endpoint is a single cheap addendum; nothing is wasted.

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, read-only list tool with annotations covering safety and no output schema to warrant return-value prose, the description says what is needed. The only mild gap is that the shape of returned sport objects is unspecified, though the title and endpoint make the type evident.

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 takes no parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies; the endpoint hint adds marginal value for agents reasoning about backend behavior.

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?

States a specific verb (List) and resource (sports) with an explicit scope qualifier: only sports with LIVE or UPCOMING programs. It does not name or contrast a sibling tool, but the scope is precise enough that an agent can tell what set is returned.

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?

The parenthetical clarifies an exclusion (sports with only completed programs are not listed), which implicitly tells the agent when this tool will not return a sport. However, it never names an alternative tool for completed/historical sports or states prerequisites, so usage is only implied.

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. 11 tool updates
    • First observedleagueapps_get_location
    • First observedleagueapps_get_program
    • First observedleagueapps_get_program_schedule
    • First observedleagueapps_get_site
    • First observedleagueapps_list_announcements
    • First observedleagueapps_list_blog_posts
    • First observedleagueapps_list_current_programs
    • First observedleagueapps_list_locations
    • First observedleagueapps_list_program_teams
    • First observedleagueapps_list_programs
    • First observedleagueapps_list_sports

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only search and lookup of US youth sports clubs and local sports stores, including registration windows, fees, tryouts, contacts, addresses, and brands, plus link generation for claiming or correcting listings.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to an Abler account's profile, groups, and sports schedules through MCP tools, including per-child schedule reports and individual event lookups. Uses a portable, reusable session credential so it can run headlessly on a remote machine after a one-time browser sign-in.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables discovering public sports events without sign-in and, after OAuth consent, reviewing athlete activity, operating events, and analyzing box demand, occupancy, attendance, training load, and reports through Antigravity or Gemini CLI.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Read-only MCP server for the PlayMetrics youth-sports club management platform, enabling AI agents to query clubs, teams, players, schedules, registrations, and payments.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.