Skip to main content

SpeechWire MCP Server

License Python PyPI

A Model Context Protocol (MCP) server that provides AI assistants with secure, authenticated access to SpeechWire tournament data for speech-and-debate (forensics) competitions.

The server scrapes manage.speechwire.com behind an authenticated session and exposes structured tournament data through MCP tools, enabling AI assistants to help tournament directors manage judge assignments, rooms, teams, entries, and round pairings.

Features

  • Judge management — list judges, contact info, availability, school associations, judge types, and add new judges
  • Team & entry data — team rosters, entries by team, hybrid/cross-school entries
  • Room management — room lists, usage grids, room-vs-section counts
  • Schematics — event lists, round-by-round pairings with judges, rooms, and competitors
  • Tournament structure — timeslots, competition groupings
  • Results — tab sheets with round outcomes, speaker scores, and placements
  • Account discovery — list and select accounts and tournaments interactively
  • Session management — automatic re-authentication on session expiry

Installation

pip install speechwire-mcp

Set your SpeechWire credentials as environment variables:

export SPEECHWIRE_EMAIL="your-email@example.com"
export SPEECHWIRE_PASSWORD="your-password"

Available MCP Tools

Tool Description
speechwire_list_user_accounts List accounts available after login
speechwire_select_user_account Select an account to work with
speechwire_list_user_tournaments List tournaments for the selected account
speechwire_select_user_tournament Select a tournament to activate
speechwire_list_judges List all judges with roster details
speechwire_get_judge_contact Get judge email and phone
speechwire_get_judge_availability Get judge availability by timeslot
speechwire_get_judge_school Get judge's school association
speechwire_add_judge Add a new judge to the tournament
speechwire_update_judge_email Update a judge's email address
speechwire_update_judge_availability Update a judge's availability slots
speechwire_update_judge_school Update a judge's school/team affiliation
speechwire_list_judge_types List configured judge types
speechwire_list_rooms List tournament rooms
speechwire_get_room_usage Get room time-slot usage grid
speechwire_get_room_counts Get rooms vs. sections per grouping/round
speechwire_list_teams List registered teams
speechwire_get_team_entries Get entries for a specific team
speechwire_list_hybrid_entries List cross-school hybrid entries
speechwire_list_timeslots List tournament schedule timeslots
speechwire_list_groupings List competition groupings
speechwire_list_schematic_events List schematic events with available rounds
speechwire_get_round_schematic Get pairings for a specific event round
speechwire_get_tab_sheet Get results tab sheet for a grouping

Contributing

Source contribution guidance, including MCP tool authoring conventions, lives in src/README.md.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

speechwire_mcp-0.1.2.tar.gz (73.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

speechwire_mcp-0.1.2-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file speechwire_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: speechwire_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 73.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for speechwire_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5dbb7bbc38754fd59063955b776f702d6ede1ea12ed6eee33652ced13d58dc69
MD5 35b8f99fb2f349074274f3972deaee07
BLAKE2b-256 bc89830df4ef597543a632ea80a4361f9fe05e4b7d31ce4a854024d2c5e1c6bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for speechwire_mcp-0.1.2.tar.gz:

Publisher: publish.yml on jessica-writes-code/speechwire-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file speechwire_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: speechwire_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for speechwire_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9109396deb6404368875d91e8ded94dcd40e07c6df5f9d621c0acd5ac65d5d60
MD5 e81568f463d40071d2e8ef4db5179442
BLAKE2b-256 43e2f6900771110301d9b89f4970ac7a5c9be98aa49e9109ca197e65d8e7b3dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for speechwire_mcp-0.1.2-py3-none-any.whl:

Publisher: publish.yml on jessica-writes-code/speechwire-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.4

2 files

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page