Skip to main content
Glama

Cito API

team_profile

Read-only

Team/org card: identity, roster, recent matches, and form/trends/radar when available.

When to use:

  • Team page / "who is on this roster?"

  • Builder team screen sample

Prefer over: separate roster + matches + detail via call_api.

Do not use when: UFC fighters → player_profile; unknown name → resolve_entity first. Dota may return partial roster (API gap). Prefer slug for lol/cod; teamId for cs2.

Parallel-safe: yes. Upstream cost: 2–4. Example: { "game": "lol", "slug": "t1", "recentLimit": 10 }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gameYesGame title: lol | cs2 | dota2 | cod | ufc | tennis. Example: "cs2".
slugNoTeam/org slug. Prefer for lol and cod orgs. Pass teamId and/or slug (at least one required). Example: "t1".
viewNoPayload weight. Default summary.summary
teamIdNoTeam id. Prefer for cs2. Pass teamId and/or slug (at least one required). Either works for dota2.
recentLimitNoMax items to return (default 10, max 25). Example: 10.
includeFormerNoCOD roster former players.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYestrue if the tool succeeded
dataNoResult payload when ok is true; null on error
metaYes
errorNo
partialNo
paginationNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this as read-only and safe, and the description adds valuable behavioral context beyond them: Dota may return a partial roster, form/trends/radar are only 'when available', parallel-safety is explicitly stated, and upstream cost is disclosed. This lets the agent calibrate expectations around reliability and resource use.

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 a summary, usage sections, and a concrete example, and every sentence serves a purpose. It packs routing, exclusions, caveats, and operational notes into a compact format without 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 moderate complexity, rich schema, and existing annotations, the description covers all essential operational context: when to use, when not to use, alternatives, per-game identifier preferences, known API limitations, parallel-safety, cost, and an example call. No critical gap remains for an agent to invoke it correctly.

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 itself fully documents all six parameters. The description's routing tips ('Prefer slug for lol/cod; teamId for cs2') repeat what the schema already states, so it adds little new parameter-level meaning beyond a helpful example invocation.

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 clear, specific summary: 'Team/org card: identity, roster, recent matches, and form/trends/radar when available.' It names the exact resource and scope, and explicitly contrasts with player_profile and call_api, so an agent can distinguish it from siblings without opening schemas.

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?

The description provides explicit 'When to use' bullets, a 'Prefer over' directive, and a 'Do not use when' section naming alternatives like player_profile and resolve_entity. It also gives per-game routing guidance ('Prefer slug for lol/cod; teamId for cs2'), leaving little to inference.

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

A4.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose. Composite tools like match_preview, match_summary, and match_details are well-separated by lifecycle stage, and resolve_entity vs search_entities are differentiated by intended use (single best match vs browsing list). No two tools appear to do the same thing.

Naming Consistency4/5

All names follow snake_case and are descriptive, but the pattern is not strictly verb_noun: most retrieval tools use noun phrases (match_summary, team_profile, standings) while actions use verb_noun (call_api, list_capabilities, resolve_entity). This is consistent within each category, so it remains predictable.

Tool Count4/5

16 tools is slightly above the ideal 3-15 range, but the server covers multiple games (LoL, CS2, UFC, Dota, COD, Tennis) and provides composite tools to reduce upstream calls. Each tool earns its place, and the breadth justifies the count.

Completeness5/5

The tool surface covers health checks, live matches, schedules, profiles, standings, head-to-head, previews, recaps, deep match details, event cards, entity resolution, and includes an escape hatch (call_api) for long-tail paths. No obvious gaps for a read-only sports data API.

Resources