> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etonecarg.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ID Acquisition and Tool Sequencing

> Learn how to collect provider refs safely and move through Sports MCP Server workflows without losing scope or provenance.

# ID Acquisition and Tool Sequencing

Use this page when you know the product job but do not yet know which provider refs or bounded scopes you need to collect first.

## Common refs and what they unlock

| Ref or scope          | Usually get it from                                                                                                                                                                                                                   | Then use                                                                                                                                                                                                                                                         |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `competitionId`       | [`resolve_entities`](/sports-mcp-server/tool-reference/resolve_entities)                                                                                                                                                              | [`list_schedule`](/sports-mcp-server/tool-reference/list_schedule), [`get_competition_hub`](/sports-mcp-server/tool-reference/get_competition_hub), [`list_watchable_schedule`](/sports-mcp-server/tool-reference/list_watchable_schedule)                       |
| `competitionSeasonId` | [`resolve_entities`](/sports-mcp-server/tool-reference/resolve_entities) or [`get_competition_structure`](/sports-mcp-server/tool-reference/get_competition_structure)                                                                | [`get_standings`](/sports-mcp-server/tool-reference/get_standings), [`get_rankings`](/sports-mcp-server/tool-reference/get_rankings), [`get_competition_hub`](/sports-mcp-server/tool-reference/get_competition_hub)                                             |
| `eventId`             | [`list_schedule`](/sports-mcp-server/tool-reference/list_schedule), [`list_watchable_schedule`](/sports-mcp-server/tool-reference/list_watchable_schedule), or [`list_live_slate`](/sports-mcp-server/tool-reference/list_live_slate) | [`get_event_summary`](/sports-mcp-server/tool-reference/get_event_summary), [`get_event_center`](/sports-mcp-server/tool-reference/get_event_center), [`get_watch_availability`](/sports-mcp-server/tool-reference/get_watch_availability)                       |
| `participantId`       | [`resolve_entities`](/sports-mcp-server/tool-reference/resolve_entities)                                                                                                                                                              | [`get_participant_profile`](/sports-mcp-server/tool-reference/get_participant_profile), [`get_roster`](/sports-mcp-server/tool-reference/get_roster), [`list_schedule`](/sports-mcp-server/tool-reference/list_schedule)                                         |
| `venueId`             | [`resolve_entities`](/sports-mcp-server/tool-reference/resolve_entities) or [`list_watchable_schedule`](/sports-mcp-server/tool-reference/list_watchable_schedule)                                                                    | [`get_venue_profile`](/sports-mcp-server/tool-reference/get_venue_profile), [`get_program_context`](/sports-mcp-server/tool-reference/get_program_context)                                                                                                       |
| `programId`           | your program guide or [`list_programs_for_entity`](/sports-mcp-server/tool-reference/list_programs_for_entity)                                                                                                                        | [`list_entities_for_program`](/sports-mcp-server/tool-reference/list_entities_for_program), [`get_program_context`](/sports-mcp-server/tool-reference/get_program_context), [`get_watch_availability`](/sports-mcp-server/tool-reference/get_watch_availability) |

## Choose a sequencing pattern

<Tabs>
  <Tab title="Unknown IDs">
    1. Call [`resolve_entities`](/sports-mcp-server/tool-reference/resolve_entities) only if the
       user prompt is genuinely ambiguous. 2. Keep the returned provider refs in their original
       namespace. 3. Move into the smallest next tool that matches the job.
  </Tab>

  <Tab title="Known sports scope">
    1. Skip resolution. 2. Add a bounded time window if the workflow is schedule-like or
       watchability-like. 3. Stay inside one source family until the product actually needs hybrid
       enrichment.
  </Tab>

  <Tab title="Known program scope">
    1. Start from [`get_program_context`](/sports-mcp-server/tool-reference/get_program_context) for
       normalized context. 2. Use
       [`list_entities_for_program`](/sports-mcp-server/tool-reference/list_entities_for_program) when
       QA or ops needs raw linkage evidence. 3. Branch into
       [`get_watch_availability`](/sports-mcp-server/tool-reference/get_watch_availability) when the UX
       needs a direct where-to-watch answer, or into a host-side ranking flow when the UX needs related
       viewing.
  </Tab>
</Tabs>

## Safe sequencing rules

1. Reuse provider refs instead of re-resolving the same object.
2. Keep `timeFrom` and `timeTo` bounded for schedule, live, and watchability flows.
3. Use GSD-first tools for sports truth and watchability-first tools for watchability.
4. Respect `meta.crosswalkConfidence` before enriching across providers.
5. Treat `meta.agentHints.recommendedNextTools` as hints, not as mandatory fanout.

## Common low-token workflows

### Competition to event to event center

1. Call [`list_schedule`](/sports-mcp-server/tool-reference/list_schedule) with a bounded window.
2. Select the correct `eventId`.
3. Move into [`get_event_center`](/sports-mcp-server/tool-reference/get_event_center) only if the product needs more than a summary.

### Competition to watchable schedule to watch availability

1. Call [`list_watchable_schedule`](/sports-mcp-server/tool-reference/list_watchable_schedule) with a bounded window.
2. Select the correct watchable row.
3. Move into [`get_watch_availability`](/sports-mcp-server/tool-reference/get_watch_availability) for the normalized answer.

### Program to context to watchability

1. Start from [`get_program_context`](/sports-mcp-server/tool-reference/get_program_context).
2. Use the returned sports context to choose the next candidate-set call in the host.
3. Move into [`get_watch_availability`](/sports-mcp-server/tool-reference/get_watch_availability) only when the UX needs a direct where-to-watch answer.

## Read this next

* [IDs, Crosswalks, and Bounded Windows](/sports-mcp-server/concepts/ids-crosswalks-and-bounded-windows)
* [Tool Catalog](/sports-mcp-server/tools/tool-catalog)
