Discuss a project

AI · MCP

The Quiz Master

Pub-quiz hosting app that AI assistants can write into

Our role
Own product: design and full-stack development
Period
2026
Status
Beta
Screens
MCP, Website, Host app, Player

Open thequizmaster.app

The Quiz Master: MCP in use: an AI assistant builds a 3-round 90s football quiz with the Quiz Master tools, and it lands in the library ready to host (illustrative mock).

Quiz Master is a web app for running pub-quiz nights: build the running order, rehearse it, then present it full-screen while scoring teams from a control panel. Its MCP server lets AI assistants such as Claude or ChatGPT write quizzes directly into the host's library. Ask for "a 3-round pub quiz on 90s football" and the finished quiz appears in Quiz Master, ready to host.

Who uses it, and for what

  • A pub quiz host asks Claude for a themed night and gets a full quiz with rounds, answer reveals and a scoreboard.
  • A host builds a picture or music round in chat, and the assistant finds the files and imports them into the app's storage.
  • A host reuses questions from their own bank across quiz nights, and an edit shows up in every quiz that uses the question.
  • On the night, the host runs the quiz from a laptop while the room watches the presenter screen in the chosen theme.

How it’s built

  • Remote MCP server with 17 typed tools validated with zod, covering quizzes, timeline segments, the question bank and media import.
  • Sign-in is a full OAuth 2.1 flow with dynamic client registration and PKCE, so connecting needs only the server URL and no API key.
  • The server has no delete tools, and every request only touches data owned by the signed-in host.
  • 10 animated presenter themes built with GSAP. Presenter and control panel run in two windows and keep working offline.

Stack

  • Vue 3 + TypeScript
  • Pinia
  • Vite
  • Tailwind CSS v4
  • GSAP
  • Firebase (Auth, Firestore, Storage, Functions, Hosting)
  • Model Context Protocol SDK
  • Express + zod
  • OAuth 2.1 (PKCE, dynamic client registration)

In numbers

  • Remote MCP server with 17 typed tools at thequizmaster.app/mcp
  • Own OAuth 2.1 authorization server with dynamic client registration, required S256 PKCE and hashed opaque tokens
  • Authoring only: no delete tools, and every read or write is scoped to the signed-in host
  • 10 presenter themes, 9 question types, 14 timeline segment types
  • Media import copies images, audio and video into the app's own storage (25 MB cap, SVG rejected)
  • About 118 Vue single-file components. Presenter and control panel stay in sync across two windows via BroadcastChannel
  • Keeps working offline mid-quiz thanks to Firestore's persistent multi-tab cache

Tools the AI can call

ToolWhat it does
get_authoring_guideReturns the authoring spec: localized text, segment structure, question and answer shapes, quality guidance. The assistant reads it first.
list_themesLists the presenter themes a quiz can use (Arcade, Cosmos, Quiz Board, Terminus, Chalkboard, ...).
list_quizzesLists the host's quiz templates with languages, theme and per-round question counts.
get_quizFetches one quiz in full, with the round questions included inline.
create_quizCreates a quiz template; can import a complete running order in one call.
update_quizPatches title, description, theme, languages, settings and metadata.
add_segmentInserts a timeline segment (welcome, rules, round, answer reveal, break, scoreboard, ...). A new round gets a matching answer-reveal segment automatically.
update_segmentPatches one segment's fields.
remove_segmentRemoves a segment and renumbers the timeline. The questions stay in the question bank.
move_segmentMoves a segment to a new position in the running order.
search_questionsSearches the host's question bank by text, tags, type and difficulty.
get_questionFetches one question in full (prompt, answer, media, clue stages, sub-questions, tags).
create_questionCreates a standalone question in the question bank, with an optional image, audio clip or YouTube video.
update_questionEdits a question. The change shows up in every quiz that uses it.
add_questions_to_roundAdds new inline questions or existing questions from the bank to a round.
remove_question_from_roundUnlinks a question from a round without deleting it.
import_mediaCopies a remote image, audio or video file into Quiz Master storage and returns a permanent URL.

MCP

The Quiz Master, MCP: MCP in use: an AI assistant builds a 3-round 90s football quiz with the Quiz Master tools, and it lands in the library ready to host (illustrative mock).
MCP in use: an AI assistant builds a 3-round 90s football quiz with the Quiz Master tools, and it lands in the library ready to host (illustrative mock).
The Quiz Master, MCP: The 17 tools the MCP server exposes: quizzes, timeline segments, the question repo and media import. Nothing destructive.
The 17 tools the MCP server exposes: quizzes, timeline segments, the question repo and media import. Nothing destructive.

Website

The Quiz Master, Website: The connect page: one server URL and an OAuth sign-in, then the assistant works in your own quiz library.
The connect page: one server URL and an OAuth sign-in, then the assistant works in your own quiz library.
The Quiz Master, Website: Landing page at thequizmaster.app.
Landing page at thequizmaster.app.

Host app

The Quiz Master, Host app: Quiz builder: the timeline on the left, a live slide preview in the middle, the question inspector on the right.
Quiz builder: the timeline on the left, a live slide preview in the middle, the question inspector on the right.

Player

The Quiz Master, Player: What the room sees: a picture question in the Arcade theme, with the host's controls alongside.
What the room sees: a picture question in the Arcade theme, with the host's controls alongside.

All screens show invented demo data.

Prefer to write freely?

Tell us what you want to build.

We’re taking on new work: MVPs, rebuilds, AI integrations, or a senior engineer to join your team for a while. A few lines about the idea are enough to start.

Write to us