SpeechWire MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPEECHWIRE_EMAIL | Yes | Your SpeechWire email address | |
| SPEECHWIRE_PASSWORD | Yes | Your SpeechWire password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| speechwire_list_user_accountsA | List SpeechWire accounts available to the authenticated user. Call speechwire_select_user_account to choose one. Returnslist[dict]
Account records containing |
| speechwire_select_user_accountA | Select a SpeechWire account to work with. Parametersaccount_id : int Account ID from speechwire_list_user_accounts. Returnsdict
Status record containing |
| speechwire_list_user_tournamentsA | List all tournaments (current and past seasons) for the selected account. Call speechwire_select_user_tournament to choose one. Returnslist[dict]
Tournament records containing |
| speechwire_select_user_tournamentA | Select a tournament to work with. After calling this, tournament-specific tools become available. Parameterstournament_id : int Tournament ID from speechwire_list_user_tournaments. circuit_id : int Circuit ID from speechwire_list_user_tournaments. Returnsdict
Status record containing |
| speechwire_list_judgesA | List all judges registered for the tournament with roster details. Returnslist[dict] Judge records containing: - judge_id: int — numeric judge identifier - name: str — judge's full name - team: str | None — school or team name - team_id: int | None — numeric team identifier - is_coach: bool — whether the judge is marked as a coach - is_active: bool — whether the judge is active - is_clean: bool — whether the judge is marked clean - is_priority: bool — whether the judge is marked priority - email: str | None — judge's email address (if present on the roster page) - unavailability: str | None — unavailability summary text - blocks: list[str] — event/team blocks (e.g. "GROUPING: Varsity Policy Debate") |
| speechwire_get_judge_contactA | Get a judge's email and phone contact information. Parametersjudge_id : int Numeric judge identifier from speechwire_list_judges. Returnsdict
Contact record containing |
| speechwire_get_judge_availabilityA | Get a judge's availability by timeslot. Parametersjudge_id : int Numeric judge identifier from speechwire_list_judges. Returnslist[dict] Timeslot records containing: - slot_index: int — internal slot identifier - label: str — human-readable time slot description - available: bool — whether the judge is available |
| speechwire_get_judge_schoolA | Get the school (team) a judge is associated with. Parametersjudge_id : int Numeric judge identifier from speechwire_list_judges. Returnsdict
School record containing |
| speechwire_add_judgeA | Add a new judge to the tournament. Parametersjudge_name : str Judge's full name (required). team_id : int Team/school ID (required). Get valid IDs from speechwire_list_teams. judge_email : str Email address (optional). judge_type_id : int Tournament-specific judge type ID from speechwire_list_judge_types. Use 0 when no configured judge type is selected. is_clean : bool Whether the judge is a clean/neutral judge. is_coach : bool Whether the judge is a coach. is_priority : bool Whether the judge is a priority judge. available_slots : list[int] | None Provider slot_id values from speechwire_list_timeslots for which the judge is available. If omitted, the judge is blocked for all slots. Returnsdict
|
| speechwire_update_judge_emailA | Update a judge's email address. Replaces the email while preserving the judge's other values. Parametersjudge_id : int ID of the judge to update. email : str New email address for the judge. Returnsdict
|
| speechwire_update_judge_availabilityA | Replace a judge's availability slots while preserving other values. Parametersjudge_id : int ID of the judge to update. available_slots : list[int] Provider slot_id values from speechwire_list_timeslots for which the judge should be available. Replaces all current availability. Returnsdict
|
| speechwire_update_judge_schoolA | Update a judge's school (team) affiliation. Replaces the team affiliation while preserving the judge's other values. Parametersjudge_id : int ID of the judge to update. team_id : int New team/school ID. Get valid IDs from speechwire_list_teams. Returnsdict
|
| speechwire_list_judge_typesA | List judge types configured for the tournament. If no judge types are configured for the tournament, returns an empty list. Returnslist[dict] Judge type records containing: - judge_type_id: int — identifier to use with speechwire_add_judge - judge_type: str — name (e.g., "A", "B", "Speech judge") - groupings: list[str] — grouping codes this type can judge |
| speechwire_list_roomsA | List all rooms configured for the tournament. Returnslist[dict] Room records containing: - room_id: int — numeric room identifier - name: str — room display name - has_constraints: bool — whether the room has availability constraints |
| speechwire_get_room_usageA | Get room time-slot usage showing assignments for every room. Returnslist[dict] Room usage records containing: - room_id: int — numeric room identifier - room_name: str — room display name - time_slots: list[dict] — per-slot records with slot_index, time_label, status, event_code, and round_number |
| speechwire_get_room_countsA | Get room vs. section counts per grouping and round. Shows how many rooms are assigned versus how many sections are needed for each competition grouping in each round. Useful for identifying rounds that are short on rooms. Returnslist[dict]
Grouping records containing:
- grouping_name: str — competition grouping (e.g., "JV Policy Debate")
- rounds: list[dict] — per-round room and section counts with a
|
| speechwire_list_teamsA | List all teams registered for the tournament. Returnslist[dict] Team records containing: - team_id: int — numeric team identifier - name: str — team/school name - code: str | None — team code abbreviation - is_invited: bool — whether the team is invited - is_attending: bool — whether the team is attending - is_checked_in: bool — whether the team is checked in - is_udl_member: bool — whether the team is a UDL member |
| speechwire_get_team_entriesA | Get entries for a specific team. Parametersteam_id : int Numeric team identifier from speechwire_list_teams. Returnslist[dict] Entry records containing: - event_id: int — numeric event identifier - event_name: str | None — event name - entry_number: int — entry number within the event - entry_code: str | None — entry code - competitors: list[dict] — student_id, name, and competitor_number - division: str | None — division name - division_id: int | None — numeric division identifier - is_dropped: bool — whether the entry is dropped |
| speechwire_list_hybrid_entriesA | List all hybrid entries (cross-school team entries) for the tournament. Returnslist[dict] Hybrid entry records containing: - comp_id: int — numeric competition entry identifier - event: str — event name - division: str | None — division name - students: list[dict] — student name and school records - code: str | None — entry code - team_blocks: list[str] — school names for team blocking |
| speechwire_list_timeslotsA | List the tournament schedule timeslots. Returnslist[dict] Timeslot records containing: - slot_id: int — numeric timeslot identifier - time: str — human-readable time (e.g., "9:00 AM") - description: str | None — slot description - date: str | None — date for this slot - round_assignments: list[dict] — event_name and round_label records |
| speechwire_list_groupingsA | List competition groupings configured for the tournament. Returnslist[dict] Grouping records containing: - grouping_id: int — numeric grouping identifier - name: str — full grouping name - abbreviation: str — short code - event: str — event name - divisions: str — division text |
| speechwire_list_schematic_eventsA | List all schematic events (debate/speech groupings) with available rounds. Returnslist[dict] Event records containing: - grouping_id: int — numeric event identifier - name: str — event name - rounds: list[int] — available round numbers |
| speechwire_get_round_schematicA | Get the full schematic (pairings/sections) for a specific event round. Parametersgrouping_id : int Event grouping identifier from speechwire_list_schematic_events. round_number : int Round number for this event. Returnsdict | list Schematic containing: - event_name: str — event name - round: int — round number - time: str | None — scheduled time - unused_judges: list[dict] — unassigned judges - sections: list[dict] — sections with judges, rooms, and competitors |
| speechwire_get_tab_sheetA | Get the results tab sheet for a competition grouping. Includes round-by-round outcomes (W/L/BYE/FORFEIT), per-speaker scores, win-loss records, total points, and final placements. Parametersgrouping_id : int Grouping identifier from speechwire_list_groupings. Returnsdict | list Tab sheet containing: - grouping_name: str — grouping name - round_names: list[str] — round column headers - competitors: list[dict] — team results, records, points, placements, and speaker results |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jessica-writes-code/speechwire-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server