Skip to main content
Glama

sportiq-mcp

cricket_build_dream11_team

Read-onlyIdempotent

Recommend an optimal fantasy XI + captain + vice-captain for one fixture.

Args: match_id: CricAPI match identifier; resolves team_a/team_b/venue automatically. team_a: First team code/name (e.g. MI). Required if match_id is absent. team_b: Second team code/name (e.g. CSK). Required if match_id is absent. venue: Venue key/name (e.g. wankhede). Required if match_id is absent. strategy: "balanced" only in Phase 2; future variants reserved.

Returns: data.players: 11 picked players with name/role/credits/team/projected_points. data.captain: name of the chosen captain. data.vice_captain: name of the chosen VC. data.total_credits: sum of credits used (<= 100). data.total_projected_points: fantasy points including C x2 and VC x1.5 boosts. meta.estimated: true — projections are model output, not a fantasy oracle.

Example: cricket_build_dream11_team(team_a="MI", team_b="CSK", venue="wankhede") cricket_build_dream11_team(match_id="abc123")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
venueNoVenue key/name (e.g. ``wankhede``). Required if match_id is absent.
team_aNoFirst team code/name (e.g. ``MI``). Required if match_id is absent.
team_bNoSecond team code/name (e.g. ``CSK``). Required if match_id is absent.
match_idNoCricAPI match identifier; resolves team_a/team_b/venue automatically.
strategyNo``"balanced"`` only in Phase 2; future variants reserved.balanced

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
errorNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnly, idempotent, non-destructive), the description reveals that results are estimated model output ('meta.estimated: true — projections are model output, not a fantasy oracle'), constrained to <=100 credits, and apply C x2 / VC x1.5 scoring boosts. No contradiction with annotations.

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-structured with Args, Returns, and Example sections, and every line carries useful information. The main purpose is front-loaded before implementation details.

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?

For a five-parameter tool with an output schema, the description is complete: it documents both identification modes, the strategy restriction, expected response fields, scoring assumptions, and result reliability. An agent has everything needed to select and invoke it correctly.

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 100%, so the baseline is 3. The description adds relational meaning by explaining that match_id resolves team/venue automatically and team_a/team_b/venue are required 'if match_id is absent', plus concrete examples. This goes beyond the schema's per-field 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 opens with a specific verb and resource: 'Recommend an optimal fantasy XI + captain + vice-captain for one fixture.' This clearly distinguishes it from siblings like cricket_captain_recommendation (captain only) and cricket_differential_picks.

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 states a clear context: full fantasy team building for one fixture, and gives two input modes (match_id or team/venue). It does not explicitly name alternatives or say when not to use it, but the purpose is specific enough to route usage.

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.

TDQS

A3.6/5.0
Disambiguation3/5

Sport prefixes make the three domains easy to separate, and most tools have clear purposes. However, several tools overlap: football_match_predictor vs football_xg_model, f1_head_to_head_pace vs f1_race_pace_compare, and the cricket fantasy tools (build_dream11, captain_recommendation, differential_picks) all require careful reading to avoid misselection.

Naming Consistency4/5

The sport prefix + snake_case pattern is consistent and retrieval tools uniformly use get_, which creates predictability. The main deviation is that many analysis/model tools are noun phrases rather than verb_noun (cricket_head_to_head, football_knockout_path, f1_tyre_degradation), but they remain readable and scoped.

Tool Count2/5

44 tools is well above the 25+ threshold for a single server and will strain agent context and tool-selection quality. Each sport block is individually reasonable at 13-15 tools, but combining three sports plus cross-sport and health utilities makes the overall surface too large.

Completeness3/5

Core workflows are broadly covered: live data, schedule/standings, match prediction, tournament simulation, fantasy help, and strategy analysis exist for each sport. However, there are notable dead ends: cricket_player_form_index needs a player_id no exposed tool returns, football_get_match_stats requires an API-Football numeric ID not mapped anywhere, and f1_get_lap_times references a stints endpoint that is not exposed as a tool.