Riddle
by riddle.com · com.riddle/creator
Build, publish and analyze quizzes, polls, forms and personality tests. Riddle account required.
- Category
- Developer tools
- Connection
- Remote (HTTP)
- Tools
- 48 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http creator https://www.riddle.com/creator/api/v3/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://www.riddle.com/creator/api/v3/mcpCursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"creator": {
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}Tools it offers
48 tools, as the server itself reported during our check on Oct 31, 2026.
media_upload_linkCreates a single-use link for uploading ONE media file into the media library. Call it when the user has a LOCAL file for a Riddle: this server cannot receive bytes, so the upload is yours. A link expires after 5 minutesmedia_deleteDeletes a file from the media library permanently, to clean up after yourself: an upload that turned out wrong, or a file the user no longer wants stored (it frees the storage it counted against). The file must be unusedriddle_template_createStores an existing Riddle as a template of its project (or of the user, for a personal Riddle), so new Riddles can be created from it with riddle_template_use. The template is a copy taken at this moment - the Riddle keeriddle_template_updateChanges a template's title and/or its gallery image and icon. Images: media_upload_link into the template's project, pass the reported "mediaId" (stored by URL - deleting the file breaks the image). Only what you pass chriddle_template_listLists the templates of a project (or your personal ones) - the ones made from your own Riddles with riddle_template_create, NOT Riddle's public ones, which riddle_template_public_list returns. Quick-create templates (isQriddle_template_public_listLists Riddle's public templates - the ready-made ones every account has, as opposed to riddle_template_list's own ones. They are grouped by category (the tag the Creator sorts them by), so calling this without argumentsriddle_template_getReads one template, by default INCLUDING its build configuration - the same "build" shape riddle_get returns and riddle_builder_create accepts. This is how a template is ADAPTED rather than copied: edit the returned "buiriddle_template_useCreates a new Riddle from a template as an unchanged copy of it - content, settings and design preset - recorded as a copy of the template's Riddle (riddle_get reports it as context.duplicated). Use this whenever the temriddle_tag_listLists the tags of a project as {items: [{id, name, count, bankCount}]}, unpaginated - the labels the Creator shows and riddle_list's "tags" filter selects by, and where the ids that filter takes come from. Riddle tags anriddle_tag_addPuts a tag on Riddles - ONE assignment per Riddle, never the tag itself (riddle_tag_list reads the labels of a project, riddle_tag_remove takes a tag off again, riddle_tag_delete removes a label). Gives one Riddle (UUID)riddle_tag_removeTakes a tag off Riddles - ONE assignment per Riddle (riddle_tag_add puts it on, riddle_tag_delete removes a label nothing carries). Untags one Riddle (UUID) or many (UUIDs, max 100), by tagName or tagId, and creates nothriddle_tag_deleteDeletes the TAG ITSELF from a project - the label, for good - and no Riddle, no question bank and no assignment. Rarely needed: untagging the last carrier already removes a tag (riddle_tag_remove), so this is for a leftopingA simple tool that returns "Pong". Can be used to test connectivity and authentication to the MCP.riddle_listReturns a paginated list of Riddles. With the default scope "project" they come from a single project - use projectId to name it, or omit it for the project the API key is scoped to. With scope "account" they come from triddle_getReads one Riddle - or several, with UUIDs - as the compact build-configuration envelope {uuid, type, modifiedAt, build, nextBlockId, warnings, published, context}. "build" is the DRAFT and is exactly what the riddle_builriddle_get_embed_codeGets the HTML embed code for a Riddle by its UUID. The code is returned regardless of publish state, but the URL it embeds will not serve the Riddle until it is published.riddle_publishPublishes one or many Riddles, or takes them off the web again with publish: false (there is no unpublish tool). A published Riddle's public URL is the response's "context.viewUrl" - report that, never one spelled from triddle_renameRenames a Riddle with the specified UUID. Returns only the confirmation of the change (uuid, title, modified state), not the entire Riddle. Only if the Riddle's origin.writableByThisKey is true (riddle_get, riddle_list):riddle_deleteDeletes one or many Riddles. Pass UUID for one, or UUIDs (max 100) to clean up several at once - e.g. everything riddle_list returned with origin: "api". A bulk delete is not atomic and never gives up early: a Riddle thariddle_moveMoves one or many Riddles into another project or into the personal project - and, given no destination, reports whether it could instead of moving anything. Pass UUID for one Riddle or UUIDs (max 100) for several. CHECKwhoamiReports the current API key: the authenticated user ("userEmail"/"userName", the latter null if never set), the project/team on a project-scoped key, whether this key has full access ("allowsFullAccess", see riddle://refquestion_bank_createCreates a new, empty question bank for the given Riddle type ("Quiz" or "Poll"). Add items with question_bank_item_add, then reference the returned "id" as "questionBankId" on a QuestionBank block of a riddle_builder_crequestion_bank_listLists question banks. Scope "own" (the default) lists the banks of a project - the same ones the Creator shows; pass a projectId to look into another project, omit it for the project the API key is scoped to (your personquestion_bank_getRetrieves one question bank by id: title, riddleType, tags, notes, its categories/blockTypes and whether it has unpublished changes. The items themselves are question_bank_get_items, not included here. Works on a built-iquestion_bank_renameSets the title of a question bank. The title is metadata rather than DRAFT content, so it takes effect immediately AND permanently, is unaffected by publishing or discarding and never counts as an unpublished change. Rejquestion_bank_update_notesReplaces the plain-text maintainer notes of a question bank (never shown to participants) - the previous notes are overwritten entirely, not appended to, so read them with question_bank_get first and send everything thatquestion_bank_duplicateCopies a question bank and all of its items into a new, independent bank (editing one never affects the other) in projectId or the key's project. The source is left untouched. This is the one write a public template id iquestion_bank_publishMakes every item's draft content its published content - what a QuestionBank block of a live Riddle actually draws at view time - so the change reaches participants immediately: every Riddle using the bank is republishedquestion_bank_item_addAdds ONE new question/item to a question bank; nothing existing is changed (question_bank_item_update replaces an item, question_bank_item_delete removes one). There is no universal item shape: read riddle://reference/ququestion_bank_item_updateReplaces the content of ONE existing question/item of a question bank entirely - not a merge: blockType, category, difficulty and columns must all be sent even when unchanged, and a column or value left out is gone fromquestion_bank_discard_changesThrows away every unpublished change to a question bank's items at once, resetting each of them to its last published content. Irreversible - there is no undo and no copy of the discarded draft. A pending item delete comquestion_bank_deleteDeletes a question bank and every item it holds (its tags cleaned up exactly as question_bank_tag_remove does) - one item alone is question_bank_item_delete. Rejected with QUESTION_BANK_INTERDEPENDENCY while a Riddle ofquestion_bank_item_deleteDeletes ONE question/item of a question bank and touches nothing else. On a never-published item the delete is immediate and permanent; on a published one it only leaves the DRAFT - a live Riddle keeps drawing that itemquestion_bank_get_itemsLists the items of a question bank - its DRAFT content by default, or its published items with published: true. Filter by search term, blockType, category or difficultyRange - the same filters a QuestionBank block drawsquestion_bank_tag_addAdds a tag to a question bank, by tagName or tagId from riddle_tag_list - exactly one of the two, as riddle_tag_add does. Question bank tags and Riddle tags are ONE set per project, not two: the same tag applies to banksquestion_bank_tag_removeRemoves a tag from a question bank, by tagName or tagId from riddle_tag_list - exactly one of the two. Never creates anything: a tag the bank does not carry is an error. A tag nothing uses any more is deleted from the prpalette_getReads the palettes - colors, fonts, button styles, background settings - of a Riddle: every palette it can use (the ones inherited from the account/project default preset included) with all of their values, which one ispalette_customizeChanges the palette (colors, fonts, button styles, background) of ONE Riddle, as a path => value map, e.g. {"bgColor": "#ffffff", "font.name": "Roboto"} - the paths are palette_get's or riddle://reference/palette/fields.integration_listLists the Google Sheets and webhook integrations of a project as {items: [{id, type, name, connectedRiddles}]}. "name" is the value a build takes as publish.integrations.googlesheets / .webhook to connect that integratioriddle_builder_createBuilds a new Riddle of any of the nine types from a build configuration: "type" says which kind (see that argument for what each one is and what it needs at a minimum), "build" carries the content. Everything a type acce
Questions
What is the Riddle MCP server?
Build, publish and analyze quizzes, polls, forms and personality tests. Riddle account required. It is made by riddle.com and listed in the official MCP Registry as com.riddle/creator. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add Riddle to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://www.riddle.com/creator/api/v3/mcp. In Claude Code, run: claude mcp add --transport http creator https://www.riddle.com/creator/api/v3/mcp
How do I add Riddle to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://www.riddle.com/creator/api/v3/mcp.
How do I add Riddle to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "creator": { "url": "https://www.riddle.com/creator/api/v3/mcp" } } }
Does Riddle work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can Riddle do?
It gives your AI 48 tools, including media_upload_link, media_delete, riddle_template_create, riddle_template_update, riddle_template_list. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/com-riddle-creator)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/com-riddle-creator"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/com-riddle-creator.svg?theme=dark"><img src="https://chen.media/mcp/badge/com-riddle-creator.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Developer tools
See allAlgolia ProductivityVerified maker
@algoliaConnect LLM tools to your Algolia account with user-scoped access for internal workflows.
GitHubVerified maker
@githubConnect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP devkit serverVerified maker
@mapboxProvides AI assistants with direct access to Mapbox developer APIs and documentation.
GitLabVerified maker
gitlab.comOfficial GitLab MCP Server
Perplexity API PlatformVerified maker
perplexity.aiReal-time web search, reasoning, and research through Perplexity's API
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
@valueinPoint-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.