Quiz.VideoQuiz.Video
Create free quiz
Quiz.VideoQuiz.Video
Model Context Protocol

Quiz.Video MCP Server

Create quizzes and flashcards by conversation with any MCP-compatible AI assistant.

Quick connect

Add Quiz.Video as a remote MCP server using this streamable-HTTP endpoint:

MCP Server URL
https://www.quiz.video/mcp/

Claude Desktop

Go to Settings → Connectors → Add custom connector, paste the server URL above, then approve the OAuth consent screen.

Claude.ai

Go to Settings → Connected apps → Connect custom, paste the server URL above, then approve the OAuth consent screen.

What you can do

The server exposes 24 tools that map 1:1 onto the Quiz.Video REST API. Discovery tools are anonymous. All quiz_video_* tools require OAuth 2.1 Bearer authentication.

Discovery

NameTitleDescription
get_api_catalogGet API catalogReturn the Quiz.Video API catalog linkset for agent discovery.
get_openapi_specGet OpenAPI specificationReturn the Quiz.Video OpenAPI 3.1 specification.
get_llms_txtGet LLM API summaryReturn a compact LLM-readable summary of the Quiz.Video API.

Quizzes

NameTitleDescription
quiz_video_list_quizzesList quizzesList quizzes owned by the authenticated user with optional pagination (page, limit).
quiz_video_get_quizGet a quizFetch a single quiz (including settings and metadata) by id.
quiz_video_create_quizCreate a quizCreate a quiz. Required: title. Optional: description, format, quizType, template, countdownSeconds, difficulty, backgroundMusicId, musicVolume, and an optional questions[] array (each with answers[] and images[]).
quiz_video_generate_quizGenerate a quiz with AIAI-generate and save a quiz from a topic. Required: topic. Optional: extraDirection, numberOfQuestions (1-20), difficulty, quizType, autoRender. The response `data` always includes a `watchUrl` (the public quiz-viewer page — instantly playable). When autoRender is true, `data.render` also contains the queued render session so the agent can poll quiz_video_get_render for the MP4.
quiz_video_update_quizUpdate quiz settingsUpdate a quiz. `updates` accepts any subset of quiz settings (title, description, format, template, timing, music, TTS, publish status, etc.).
quiz_video_delete_quizDelete a quizPermanently delete a quiz and all of its questions, answers, and hooks.
quiz_video_list_quiz_questionsList quiz questionsList questions (and their answers) for a quiz.
quiz_video_add_quiz_questionsAdd questions to a quizAppend one or more questions (with their answers and optional images) to an existing quiz.

Quiz Hooks

NameTitleDescription
quiz_video_list_quiz_hooksList quiz hooksList video hooks configured for a quiz.
quiz_video_create_quiz_hookCreate a quiz hookCreate a hook for a quiz. `hook` is a pass-through object whose fields follow the HookInput schema (see OpenAPI spec).
quiz_video_update_quiz_hookUpdate a quiz hookUpdate an existing hook on a quiz. Requires quizId and numeric hookId; `updates` is a partial HookInput.
quiz_video_delete_quiz_hookDelete a quiz hookDelete a single hook from a quiz.

Flashcards

NameTitleDescription
quiz_video_list_flashcard_decksList flashcard decksList flashcard decks owned by the authenticated user with optional pagination.
quiz_video_get_flashcard_deckGet a flashcard deckFetch a flashcard deck (including all cards) by id.
quiz_video_create_flashcard_deckCreate a flashcard deckCreate a flashcard deck. Required: title (3-120 chars) and cards[] (min 1). Optional: description (≤1200 chars), tags (≤50 each).
quiz_video_delete_flashcard_deckDelete a flashcard deckPermanently delete a flashcard deck and all of its cards.

Renders

NameTitleDescription
quiz_video_create_renderStart renderQueue a new video render for an existing quiz. Returns the render sessionId; poll quiz_video_get_render until its status is "completed" (typically 1-5 minutes), then call quiz_video_download_render to obtain the signed MP4 URL. The quiz itself is viewable immediately at /quiz/{slug}/ regardless of render status.
quiz_video_get_renderGet render statusFetch the status and progress of a render session. When status is "completed", the response also contains a signed `videoUrl` (and `filename`) so the agent can share the MP4 directly without a separate quiz_video_download_render call. In-progress polls return status + progress.
quiz_video_download_renderGet render download URLRequest a signed download URL for a completed render.

Account & metadata

NameTitleDescription
quiz_video_get_accountGet accountGet the authenticated user's account info, plan, and usage limits.
quiz_video_list_musicList music libraryList available background music tracks.

Authentication

Quiz.Video uses OAuth 2.1 with PKCE and dynamic client registration (RFC 7591), so MCP clients can register programmatically the first time a user connects. The flow looks like this:

  1. The client fetches /.well-known/oauth-protected-resource/api/v1 to discover the authorization server.
  2. The client registers itself at the registration endpoint advertised by /.well-known/oauth-authorization-server.
  3. The user is redirected to Quiz.Video to grant access (authorization code + PKCE).
  4. The client exchanges the code for a JWT access token bound to https://www.quiz.video/api/v1 with scopes api:read api:write.
  5. The client calls tools over MCP with Authorization: Bearer <token>.

For server-to-server callers that don't speak OAuth, the same REST API accepts an API key via x-api-key: qv_.... Generate keys from account settings. See the REST API docs for details.

Example prompts

Once connected, try asking your AI assistant things like:

“Generate a 10-question medium-difficulty quiz about the Roman Empire and publish it.”

“Create a Spanish vocabulary flashcard deck with 20 cards covering food and drink.”

“List my last 5 quizzes, start a render for the most recent one, and give me the download URL when it's ready.”

Security

  • HTTPS only. The endpoint is served over TLS. Plain HTTP requests are redirected.
  • Origin validation. Cross-origin browser requests are restricted to known AI-assistant origins; other origins receive a 403.
  • No third-party sharing. The MCP server forwards your bearer token to the Quiz.Video REST API and returns API responses verbatim. No additional telemetry is shared.
  • Scope enforcement. Read-only tools require api:read; tools that mutate data require api:write. Tokens are JWTs bound to /api/v1 and can be revoked at any time.

Discovery endpoints

MCP clients and API agents can discover Quiz.Video at the following well-known URLs:

  • /.well-known/mcp/server-card.json — MCP server card
  • /.well-known/openid-configuration — OpenID/OAuth discovery
  • /.well-known/oauth-authorization-server — OAuth 2.1 authorization server metadata
  • /.well-known/oauth-protected-resource/api/v1 — protected-resource metadata for the API
  • /.well-known/openapi.json — OpenAPI 3.1 spec
  • /.well-known/api-catalog — API catalog linkset

Support

Email support@quiz.video. Security: security@quiz.video.

Prefer raw HTTP?

The same functionality is available via our REST API.