Skip to main content
Glama
DanielTomaro13

sportsdata-mcp

espnfantasy_rosters

Read-onlyIdempotent

Retrieves fantasy league rosters for a given season and league, showing each manager's players, lineup slots, acquisition type, and player stats.

Instructions

Every fantasy team's roster — who each manager holds, their lineup slot, acquisition type and player stats. LARGE (hundreds of KB).

Returns: {teams:[{id, roster:{entries:[{playerId, lineupSlotId, acquisitionType, playerPoolEntry:{player:{fullName, defaultPositionId, eligibleSlots, injuryStatus, stats:[…]}}}]}}]}

Example: All rosters, week 3 {"game": "ffl", "seasonId": 2018, "leagueId": 1234, "scoringPeriodId": 3}

Auth: works without a key; ESPN_FANTASY_COOKIE unlocks more if set.

Also answers this: sleeper_league_rosters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameNoFantasy game code. One of: ffl, flb, fba, fhl, wfba.ffl
viewNoLeave as-is.
leagueIdYesLeague id. Required — part of the URL path.
seasonIdYesSeason year (>= 2018). Required — part of the URL path.
scoringPeriodIdNoRoster as it stood in this scoring period (week). Omit for the current one.
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the tool's safety profile is known. The description goes beyond annotations by warning 'LARGE (hundreds of KB)', documenting the exact return structure, explaining authentication behavior (works without key, cookie unlocks more), and showing a sample request. This adds meaningful behavioral context without contradicting any 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?

The description is well-organized with clear sections (purpose, size warning, return schema, example, auth, alternative tool). It opens with a concise purpose statement, uses line breaks to separate concerns, and each sentence earns its place. No fluff or redundancy; it is appropriately sized for the tool's complexity.

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?

The tool has no output schema, so the description compensates by providing a detailed return shape and a full example. It also covers authentication, the meaning of scoringPeriodId, a large-response warning, and points to an alternative tool for related queries. This makes it sufficiently complete for an agent to select and invoke the tool correctly, even with a sibling-heavy context.

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 100%, so the baseline is 3. The description adds value by providing a concrete example that demonstrates the interplay of game, seasonId, leagueId, and scoringPeriodId, and by clarifying in prose that scoringPeriodId is for a specific week and should be omitted for current. This exceeds the schema's per-parameter 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 uses a specific verb+resource ('Every fantasy team's roster') and lists exactly what is returned (lineup slot, acquisition type, player stats). It clearly distinguishes itself from sibling tools like espnfantasy_teams, espnfantasy_standings, and sportsdata_session_stats by focusing on roster details, and even mentions an alternative sibling (sleeper_league_rosters) that answers the same class of query.

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 concrete example call with parameters, specifies that scoringPeriodId is optional and defines its behavior, and states that the 'view' parameter should be left as-is. It names an alternative tool ('Also answers this: sleeper_league_rosters') but does not explicitly instruct when to choose one over the other (e.g., 'for Sleeper leagues use sleeper_league_rosters'). This is clear context with an alternative mention, but lacks explicit when-not guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielTomaro13/sportsdata-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server