Connect Riddle and your agent gets 62 tools, among them palette_customize, palette_get, ping. It answers at https://www.riddle.com/creator/api/v3/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.
Build, publish and analyze quizzes, polls, forms and personality tests. Riddle account required.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
palette_customize | Changes the palette (colors, fonts, button styles, background) of a single Riddle. Values are given as a path => value map, e.g. {"bgColor": "#ffffff", "font.name": "Roboto"} - call palette_get or read riddle://reference/palette/fields for Inputs: riddleUUID, values, paletteUUID, newPaletteName, select |
palette_get | Reads the palettes - colors, fonts, button styles and background settings - of a Riddle. Returns every palette the Riddle can use (including the ones inherited from the account / project default preset) with all of its values, which palette Inputs: riddleUUID, paletteUUID, includeBuiltInPalettes, omit |
ping | A simple tool that returns "Pong". Can be used to test connectivity and authentication to the MCP. |
project_get | Returns a single project by its project ID: id, name, image and the permission matrix of the authenticated user for it. The project ID can either be obtained through the project list tool or by taking the "team" property of the riddle_get t Inputs: projectId |
project_get_settings | Returns the project's default Riddle settings that every new Riddle in it starts from - PUBLISHED and ENABLED only: "publishSettings" (privacy/DOI/OTP, email automation, tracking, data layer, ...) and "embedSettings" (iframe sizing, auto-sc Inputs: projectId |
project_list | Returns a paginated list of projects this token has access to (25 per page by default, 100 max), with a sibling "pagination" object ({page, pageSize, total, hasMore}) to page through accounts with many projects. If it is a project API token Inputs: page, pageSize |
questionBank_addItem | Adds one question/item to a question bank. Call questionBank_blockTypeColumns(riddleType) first to see the valid blockType values for this bank and which "columns" each one expects - there is no single universal shape. The item is added to Inputs: questionBankId, blockType, category, difficulty, columns |
questionBank_addTag | Adds a tag to a question bank, identified either by tagName (reusing the project's tag of that name, or creating it if there is none yet) or by tagId from questionBank_tagList. Tagging a bank that already has the tag changes nothing. Reject Inputs: questionBankId, tagName, tagId |
questionBank_blockTypeColumns | Lists every blockType valid for a question bank of the given Riddle type, with the exact "columns" shape questionBank_addItem/updateItem expects for that blockType. There is no universal item shape - a "SingleChoice" item and an "Order" ite Inputs: riddleType |
questionBank_create | Creates a new, empty question bank for the given Riddle type ("Quiz" or "Poll"). Add items with questionBank_addItem, then reference the returned "id" as "questionBankId" on a QuestionBank block of a matching riddle_builder_quiz/riddle_buil Inputs: riddleType, title, projectId |
questionBank_delete | Deletes a question bank and every one of its items. Rejected with a QUESTION_BANK_INTERDEPENDENCY error if a Riddle in this bank's own project still references it, and BOTH VERSIONS OF A RIDDLE COUNT: the reference tracking is refreshed on Inputs: questionBankId |
questionBank_deleteItem | Deletes one item from a question bank; does not affect the rest of the bank. If the item was never published, it is gone immediately and for good. If it WAS published, it instead only disappears from the draft - questionBank_getItems stops Inputs: questionBankId, questionBankItemId |
questionBank_discardChanges | Discards every unpublished change of a question bank, resetting all of its items back to their last published state. An item that was never published (added after the last questionBank_publish) is unaffected - it has no published state to r Inputs: questionBankId |
questionBank_duplicate | Duplicates a question bank and every one of its items into a new, independent bank - the items are copies, editing one bank never affects the other. Works on your own banks and on templates from questionBank_templateList. The copy lands in Inputs: questionBankId, title, projectId |
questionBank_get | Retrieves a single question bank by id: its title, riddleType, tags, notes, its categories/blockTypes and whether it has unpublished changes. Use questionBank_getItems for the items themselves, which are not included here. Works on a built- Inputs: questionBankId |
questionBank_getItems | Lists the items (draft content) of a question bank, optionally filtered by search term, blockType, category or difficultyRange - the same filters the Creator's question bank grid offers. Also reads a built-in template from questionBank_temp Inputs: questionBankId, search, blockType, category, difficultyRange, page |
questionBank_list | Lists the question banks of a project - the same banks the Creator's question bank list shows; pass a projectId to look into another project, omitting it lists the banks of the project the API key is scoped to (the personal ones for a user Inputs: riddleType, tags, search, sortBy, sortOrder, page |
questionBank_publish | Publishes a question bank: every item's draft content becomes its published content, which is what a QuestionBank block actually draws from at view time - exactly like publishing a Riddle makes its draft live. A bank with unpublished change Inputs: questionBankId |
questionBank_removeTag | Removes a tag from a question bank by tagId. Once nothing uses a tag any more, the tag itself is deleted from the project - "nothing" includes Riddles, which share one set of tags with question banks: a tag a Riddle still uses survives its Inputs: questionBankId, tagId |
questionBank_rename | Renames a question bank, immediately and permanently - the title is metadata, not a bank's DRAFT content, so this is unaffected by questionBank_publish/discardChanges and never shows up as an unpublished change. Rejected for a public templa Inputs: questionBankId, title |
questionBank_riddleBlockItems | Counts, per criterion of a QuestionBank block, how many published items in the bank currently match it - this is a count preview, NOT a preview of the items a real draw would pick. For each questionBankCriteria entry it returns {blockType, Inputs: riddleUUID, blockId |
questionBank_tagList | Lists every question bank tag of a project together with how many banks use each - the tag "id" values questionBank_list's "tags" filter accepts. Tags are per project, so pass the projectId of the project whose banks you are tagging; omitti Inputs: projectId |
questionBank_templateList | Lists the built-in template question banks - pre-filled starter banks anyone can duplicate with questionBank_duplicate to get a bank with real content immediately, instead of starting empty. An overview only: each template is listed with it Inputs: riddleType |
questionBank_updateItem | Replaces the content of an existing question bank item entirely - blockType, category, difficulty and columns all have to be sent, even the ones that are not changing. blockType is immutable: it must equal the item's current one, a differen Inputs: questionBankId, questionBankItemId, blockType, category, difficulty, columns |
questionBank_updateNotes | Sets the plain-text notes of a question bank, replacing whatever was there before, immediately and permanently - like the title, notes are metadata outside the DRAFT/publish split, so this is unaffected by questionBank_publish/discardChange Inputs: questionBankId, notes |
reference_get | Read the documentation of this MCP server: the block types, form field types, result blocks, palette values and response shapes the other tools expect. Every "riddle://reference/..." URI mentioned in another tool's description, in a tool re Inputs: topics, riddleType, blockTypes, fieldTypes, includeAvailableTopics |
riddleTemplate_create | Stores 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 riddleTemplate_use. The template is a copy taken at this moment - the Riddle keeps living its own lif Inputs: UUID, title, isQuickCreate |
riddleTemplate_get | Reads a single template, by default INCLUDING its build configuration - the same "build" shape riddle_get returns and the riddle_builder_<type> tools accept. This is how a template is adapted rather than copied: edit the returned "build" (c Inputs: id, includeBuildConfig, omit |
riddleTemplate_list | Lists the templates of a project (or your personal ones) - the ones made from your own Riddles with riddleTemplate_create, NOT Riddle's public ones, which riddleTemplate_publicList returns. Includes quick-create templates (riddleTemplate_cr Inputs: type, projectId |
riddleTemplate_publicList | Lists Riddle's public templates - the ready-made ones available to every account, as opposed to riddleTemplate_list, which returns the ones your project made itself. They are grouped by category (the tag the Creator sorts them by), so calli Inputs: type, category |
riddleTemplate_use | Creates a new Riddle from a template, as an unchanged copy of it - content, settings and design preset - and records it as a copy of the template's Riddle (riddle_get reports that as context.duplicated). Use this whenever the template is wh Inputs: id, title, projectId, omit |
riddle_account_list | Returns a paginated list of all Riddles across the entire account — both the personal project and all team projects the user has access to. Use riddle_list to filter by a single project instead. Inputs: type, tags, status, search, origin, sortBy |
riddle_builder_form | Builds a Form from a build configuration. For full field types see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/form Returns the compact build-configuration envelope of riddle_get (riddle://reference/response Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_leaderboard | Builds a Leaderboard from a build configuration. Connect quizzes, predictors or minigames (except WheelSpinner exclusive ones) that have Name and Email fields and are already published - connecting a draft Riddle fails with "<Type> <UUID> i Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_minigame | Builds a Minigame from a build configuration. Supports SlotMachine, WheelSpinner, and Sudoku block types. For full options see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/minigame Returns the compact build-c Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_personality | Builds a Personality Test from a build configuration. For full options see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/personality. Returns the compact build-configuration envelope of riddle_get (riddle://re Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_placeholder | Builds a Placeholder from a build configuration: a Riddle with no content of its own, only a routing rule that is resolved when the Placeholder is displayed, to decide which OTHER Riddle (or a Riddle picked by tag) to actually show. Require |
riddle_builder_poll | Builds a Poll from a build configuration. For full block options see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/poll. Returns the compact build-configuration envelope of riddle_get (riddle://reference/respo Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_predictor | Builds a Predictor from a build configuration. For full options see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/predictor Returns the compact build-configuration envelope of riddle_get (riddle://reference/re Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_quiz | Builds a Quiz from a build configuration. For full block/result options see: https://www.riddle.com/help/api/build-riddles/riddle-types-and-other-blocks/quiz. Returns the compact build-configuration envelope of riddle_get (riddle://referenc Inputs: build, publish, queue, project, templateId, omit |
riddle_builder_story, riddle_builder_update, riddle_builder_validate, riddle_delete, riddle_get, riddle_get_embed_code, riddle_list, riddle_move, riddle_move_check, riddle_publish, riddle_rename, riddle_tag_add, riddle_tag_delete, riddle_tag_list, riddle_tag_remove, riddle_unpublish, stats_fetch, stats_overview_fetch, stats_project_breakdown, stats_riddle_breakdown, stats_user_breakdown, whoami
Every block below points at https://www.riddle.com/creator/api/v3/mcp. Pick your client and copy.
claude mcp add --transport http riddle https://www.riddle.com/creator/api/v3/mcp
{
"mcpServers": {
"riddle": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.riddle.com/creator/api/v3/mcp"]
}
}
}{
"mcpServers": {
"riddle": {
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"servers": {
"riddle": {
"type": "http",
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"context_servers": {
"riddle": {
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"mcpServers": {
"riddle": {
"serverUrl": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"mcpServers": {
"riddle": {
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}name: Riddle
version: 0.0.1
schema: v1
mcpServers:
- name: Riddle
type: streamable-http
url: https://www.riddle.com/creator/api/v3/mcp{
"mcpServers": {
"riddle": {
"httpUrl": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"mcpServers": {
"riddle": {
"type": "http",
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}{
"mcpServers": {
"riddle": {
"url": "https://www.riddle.com/creator/api/v3/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fwww.riddle.com%2Fcreator%2Fapi%2Fv3%2Fmcp&type=streamable_http&id=riddle&name=Riddle
It answered our last check on 18 October 2026 in 52 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by riddle.com and served from www.riddle.com, the vendor's own domain: https://www.riddle.com/creator/api/v3/mcp.
62, as returned by the server's own tools/list on 31 August 2026: palette_customize, palette_get, ping, project_get, project_get_settings, project_list, questionBank_addItem, questionBank_addTag, and 54 more.
It answered our last check on 18 October 2026 in 52 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://www.riddle.com/creator/api/v3/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.riddle. Endpoint host: www.riddle.com. ARD identifier: urn:air:com.riddle:mcp:creator.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.