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.
The fastmcp library is a Python client for MCP servers. Use it to call MewCP tools from your own scripts and services.
This guide connects Kahoot! MCP to Python through MewCP, so Python can use Kahoot! MCP's 5 tools, like create_or_update_kahoot, get_kahoot and preview_kahoot, without your Kahoot! MCP credentials ever reaching the app.
Kahoot! MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Manage courses, assignments, rosters and student activity within Google Classroom. Create learning workflows, track submissions and organize educational content across classrooms.
AI's impact on real-world sectors, as a structured record for agents: source-linked headlines placed in one of 18 sectors (healthcare, law, retail, government, defense and more), with outlet, country and time, since June 2026
The Synthesize Bio MCP Server enables AI agents to compare gene expression between sample groups, analyze bulk and single-cell RNA sequencing data, and run long-running bioinformatics workflows that return completed analysis reports.
Search Microsoft Learn documentation and training content through MCP, helping AI agents find relevant technical guidance, tutorials, modules, and learning resources.
Other clients
Kahoot! MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Kahoot! MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
SDK clients sign in with an API key. Create one in your dashboard and replace API_KEY in the code below.
SDK clients run without a browser, so they sign in with your API key.
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.