Skip to main content
Glama
GregBaugues

Token Bowl MCP Server

by GregBaugues

get_roster

Retrieve a Token Bowl fantasy football team's complete roster by roster ID (1-10), including starters, bench, taxi, IR, player projections, records, and points.

Instructions

Get detailed roster information with full player data for a specific team.

Args: roster_id: The roster ID (1-10) for the team you want to view. Can be an integer or string (will be converted). Valid range: 1-10. Roster ID 2 is Bill Beliclaude.

Returns a comprehensive roster including:

  • Team information (owner, record, points)

  • Full player details for all rostered players

  • Current week projections and scoring

  • Organized into starters, bench, taxi, and IR

  • Useful meta information (projected points for starters, bench points, etc.)

Returns: Dict with roster info and enriched player data

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roster_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the return structure (starters/bench/taxi/IR, projections, meta), which is genuinely useful, but says nothing about auth needs, rate limits, or whether the roster_id must belong to the caller's league.

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

Conciseness3/5

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

The 'Args:' block is useful, but the return information is stated twice ('Returns a comprehensive roster including:' followed by 'Returns: Dict with roster info...'), and the aside that 'Roster ID 2 is Bill Beliclaude' is noise that dilutes the front-loaded purpose.

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 one-parameter read tool with an output schema, coverage of parameters and returns is adequate. The missing piece is sibling differentiation against get_league_rosters, which is exactly the ambiguity an agent is most likely to hit.

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 0% (bare 'Roster Id' integer), so the description must compensate and largely does: it gives the valid range 1-10, notes integer-or-string coercion, and even names a specific roster. Minor inconsistency: the schema declares type integer while the description says string is also 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?

States a specific verb and resource ('Get detailed roster information ... for a specific team') and enumerates what the roster contains. It never mentions the sibling get_league_rosters, so an agent cannot tell from the description alone which of the two to pick.

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?

No when-to-use, when-not-to-use, or alternative guidance is given. The sibling get_league_rosters covers a very similar surface and is not referenced, leaving the routing decision entirely to inference.

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