Kahoot! turns learning content into interactive games and quizzes. Create and customize kahoots, generate questions from documents and topics, manage learning courses, assign challenges, and review player performance and learning analytics to make education and training more engaging.
Try asking
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
This tool creates a new Kahoot! quiz or fully replaces an existing one. This tool already renders a visual preview widget of the resulting kahoot to the user as part of its result. Do NOT call preview_kahoot after/before this tool in the same response — that would show a duplicate preview widget. <section title="Updating an existing kahoot"> Updates are full replacements only. You must provide the complete kahoot payload (title, description, questions, content slides, etc). Partial updates are not supported. If you already have the current kahoot payload in context, reuse it — do not re-fetch unless required. Updating requires an existing kahoot: an unknown uuid returns an error, it does not create a new kahoot. </section> Questions array supports three types: - Quiz questions (default): { question, choices, time, image_query } - Content slides: { type: 'content', title, description, image_query } - True/False questions: { type: 'true_false', question, correct, time, image_query } Here are some best practices for creating an engaging Kahoot! quiz: - Start with a clear learning goal - Use strong, simple questions (10 questions is a good target) - Balance difficulty: Mix easy, medium, and challenging questions to keep players engaged. - Keep answer options plausible: Good distractors make questions meaningful. - Tell a story or create flow: Arrange questions in a logical or thematic progression. - Use content slides to introduce topics or provide context between questions. Guardrails: - Never use quiz type structure when creating a true/false question, and vice versa. Use the correct type for each question.
Retrieve Kahoot data by ID for inspection or to use as input to another tool. Does NOT render a visual preview to the user. Use this when you need the data; use preview_kahoot when the user wants to see the kahoot.
Display an EXISTING Kahoot to the user with a visual preview widget. Use this only when the user asks to see or view a kahoot that was NOT created or updated in this same response. create_or_update_kahoot already renders its own preview widget, so do NOT call this tool before or after creating/updating a kahoot — it would show a duplicate preview widget. For internal data retrieval use get_kahoot instead.
Get the list of workspaces for the current authenticated user
Get the URL to edit an existing Kahoot. Returns an error if the kahoot does not exist.
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Kahoot! MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Kahoot! MCP tool your agent needs.
Free to start.
Say a recipient and an intent in one sentence, and your agent drafts and sends the email in a few calls.