get_team_event_status
Get a team's competitive status and standings at a specific event, including ranking, alliance selection, playoff progression, and next/last match keys.
Instructions
Retrieve a team's competitive status and standings at a specific event. Returns qualification ranking row (rank, record, sort orders, qual average), alliance selection result (alliance number, pick slot, backup status), playoff progression (level, current-level record, overall record, playoff average, final status), and human-readable summary strings (overall_status_str, alliance_status_str, playoff_status_str), plus next/last match keys. Excellent for live scouting dashboards and event-day status displays.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| team_key | Yes | FRC team key formatted as 'frc' followed by the team number with no leading zeros (e.g., 'frc86', 'frc254', 'frc1114'). Uniquely identifies a FIRST Robotics Competition team on The Blue Alliance. | |
| event_key | Yes | TBA event key combining the season year and event code (e.g., '2023casj' for the 2023 Silicon Valley Regional, '2024txhou' for the 2024 Houston Championship, '2024micmp4' for a Michigan State Championship division). Use get_events or get_events_keys to discover valid event keys for a year. |
Implementation Reference
- src/handlers.ts:402-421 (handler)Handler for 'get_team_event_status' tool. Parses team_key and event_key, makes GET request to /team/{team_key}/event/{event_key}/status on the TBA API, validates the response with TeamEventStatusSchema, and returns the status as JSON.
case 'get_team_event_status': { const { team_key, event_key } = z .object({ team_key: TeamKeySchema, event_key: EventKeySchema, }) .parse(args); const data = await makeApiRequest( `/team/${team_key}/event/${event_key}/status`, ); const status = TeamEventStatusSchema.parse(data); return { content: [ { type: 'text', text: JSON.stringify(status, null, 2), }, ], }; } - src/schemas.ts:314-385 (schema)Zod schema for the team event status response. Validates qual (ranking), alliance selection, playoff progression, status summary strings, and next/last match keys.
export const TeamEventStatusSchema = z.object({ qual: z .object({ num_teams: z.number().nullish(), ranking: z .object({ dq: z.number().nullish(), matches_played: z.number(), qual_average: z.number().nullish(), rank: z.number(), record: z .object({ losses: z.number(), ties: z.number(), wins: z.number(), }) .nullish(), sort_orders: z.array(z.number()).nullish(), team_key: z.string(), }) .nullish(), sort_order_info: z .array( z.object({ name: z.string(), precision: z.number(), }), ) .nullish(), status: z.string().nullish(), }) .nullish(), alliance: z .object({ backup: z .object({ in: z.string().nullish(), out: z.string().nullish(), }) .nullish(), name: z.string().nullish(), number: z.number().nullish(), pick: z.number().nullish(), }) .nullish(), playoff: z .object({ current_level_record: z .object({ losses: z.number(), ties: z.number(), wins: z.number(), }) .nullish(), level: z.string().nullish(), playoff_average: z.number().nullish(), record: z .object({ losses: z.number(), ties: z.number(), wins: z.number(), }) .nullish(), status: z.string().nullish(), }) .nullish(), alliance_status_str: z.string(), playoff_status_str: z.string(), overall_status_str: z.string(), next_match_key: z.string().nullish(), last_match_key: z.string().nullish(), }); - src/schemas.ts:609-612 (schema)Input schema for get_team_event_status: requires team_key (frcXXXX) and event_key (e.g. 2023casj).
export const GetTeamEventStatusInputSchema = z.object({ team_key: TeamKeySchema, event_key: EventKeySchema, }); - src/tools.ts:249-255 (registration)Tool registration for get_team_event_status with its name, description, and input schema binding to GetTeamEventStatusInputSchema.
{ name: 'get_team_event_status', description: "Retrieve a team's competitive status and standings at a specific event. Returns qualification ranking row (rank, record, sort orders, qual average), alliance selection result (alliance number, pick slot, backup status), playoff progression (level, current-level record, overall record, playoff average, final status), and human-readable summary strings (overall_status_str, alliance_status_str, playoff_status_str), plus next/last match keys. Excellent for live scouting dashboards and event-day status displays.", inputSchema: toMCPSchema(GetTeamEventStatusInputSchema), annotations: { ...READ_ONLY_API, title: "Get Team's Status at an Event" }, },