com.riddle/creator

MCPCommunitylive
v1.0.2com.riddleUnknownAktualisiert vor 1 Mon.

Build, publish and analyze quizzes, polls, forms and personality tests. Riddle account required.

Endpunkt-Statuslive
geprüft vor 8 Tagen · 822 ms
100 % der letzten 5 Prüfungen haben diesen Endpunkt erreicht
Läuft in
ClaudeCursorCopilotChatGPTGemini

Abgeleitet aus den Transporten, die dieser Eintrag deklariert (streamable-http). Ein Client, der hier nicht steht, ist damit nicht ausgeschlossen — Forge kann ihn nur nicht bestätigen.

Automatisch aus öffentlichen Quellen indexiert. Vom Entwickler auf Forge noch nicht verifiziert.Diesen Eintrag beanspruchen →
vor 1 Mon.Letzte Aktualisierung
Paket
Autorcom.riddle
LizenzUnknown
Version1.0.2
Quellemcp-registry
Trust-Status
D
30/100Risiko
Nur gehosteter Endpunkt: Diese Bewertung umfasst, wer ihn veröffentlicht und ob er antwortet – nicht den Code dahinter. CVE-, Abhängigkeits- und Quellcodeanalysen sind nicht anwendbar, daher ist nichts hier ein Unbedenklichkeitsnachweis für diesen Code.
✓Im Forge-Index gelistet+10/10
—Publisher-Identität verifiziert+0/30
→ Publisher: für diesen Eintrag ist kein Repository hinterlegt, daher kann `forge publish` die Inhaberschaft nicht automatisch prüfen. Nutze oben „Diesen Eintrag beanspruchen“ — Forge prüft diese Fälle von Hand.
—Domain-Verifizierung+0/10
→ Für diesen Eintragstyp derzeit nicht verfügbar — die Domain-Prüfung läuft heute nur für npm-gestützte Pakete, diese Zeile lässt sich hier also noch nicht erreichen, unabhängig davon, was auf der Domain liegt.
—Prompt-Injection-Scan · Befunde+0/30
→ Publisher: entferne aus dem Quellcode Anweisungen, die sich an KI-Clients statt an menschliche Leser richten
✓Obfuskations-/Exfiltrations-Scan · sauber+20/20
StatusVon der Community indexiert
PublisherNicht verifiziert
SignaturNicht signiert
Domain—
Herkunft—
AbhängigkeitenNicht auditiert
Tool-Oberfläche38 Tools · 7 privilegiert
Sicherheits-Scan⚠ Warnungen (1)vlive · vor 8 TWie gut funktioniert dieser Scan?
PROMPTtool:media_upload_linkExfiltration-shaped instruction
EvaluierungenKeine
Indexiert25. Aug. 2026

Die Verifizierung bestätigt die Identität des Publishers (die Inhaberschaft am Repo), nicht die Sicherheit des Codes. Der Sicherheits-Scan deckt bekannte CVEs und verdächtige Installationsskripte ab.

Tools

38 Tools · 7 privilegiert · 1 wegen Injektion markiert
Live am Endpunkt des Anbieters beobachtet8d ago

Aus einem echten MCP-Handshake initialize → tools/list gegen den deklarierten Endpunkt gelesen. Es wurde nie ein Tool aufgerufen — tools/list ist der lesende Introspektionsaufruf, den das Protokoll dafür vorsieht. Es spiegelt wider, was der Server in diesem Moment angeboten hat; ein gehosteter Endpunkt ist an keine Version gebunden und kann sich ohne Ankündigung ändern.

  • https://www.riddle.com/creator/api/v3/mcp38 Tools · 822 ms
media_upload_linkprivilegiertInjektionsrisikoCreates 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 minutes, dies on first use (successful or not), and only 20 are handed out per account…

Creates 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 minutes, dies on first use (successful or not), and only 20 are handed out per account…

INJEKTIONExfiltration-shaped instructiono no API key or header). That POST leaves your environment and needs outbound HT…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

media_deleteprivilegiertDeletes 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 unused - one any Riddle still shows is refused with a message naming those Riddles, s…

Deletes 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 unused - one any Riddle still shows is refused with a message naming those Riddles, s…

ParameterTypBeschreibung
mediaId*integerThe media library id of the file to delete - the "mediaId" the upload response returned, or the id shown for the file in the Creator's media library.
riddle_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 keeps living its own life and later changes to it do not reach the template. It co…

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 riddle_template_use. The template is a copy taken at this moment - the Riddle keeps living its own life and later changes to it do not reach the template. It co…

ParameterTypBeschreibung
UUID*stringThe UUID of the Riddle to store as a template, e.g. "6FA740EW".
titlenull | stringTitle for the template. Omit to keep the Riddle's own title.
isQuickCreatebooleanWhether the template also shows up in the Creator's "quick create" list, i.e. among the starting points offered when creating a new Riddle. Defaults to false.
riddle_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 (isQuickCreate: true) are included alongside the regular ones; there is no separate…

Lists 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 (isQuickCreate: true) are included alongside the regular ones; there is no separate…

ParameterTypBeschreibung
typenull | stringOnly return templates of this Riddle type: "Quiz", "Poll", "Form", "Personality", "Predictor", "Minigame", "Leaderboard", "Story" or "Placeholder". Omit to get…
projectIdnull | integerThe project (team) ID whose templates you want, as returned by project_list. Omit to use the project the API key is scoped to (your personal templates for a us…
riddle_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 arguments is also how you learn which categories exist; "category" and "type" narrow it.…

Lists 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 arguments is also how you learn which categories exist; "category" and "type" narrow it.…

ParameterTypBeschreibung
typenull | stringOnly return templates of this Riddle type: "Quiz", "Poll", "Form", "Personality", "Predictor", "Minigame", "Leaderboard", "Story" or "Placeholder". Omit to get…
categorynull | stringOnly return templates of this category (the tag public templates are grouped under), a snake_case slug such as "audience_research" or "feedback_surveys" - not…
riddle_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 "build" (wording, questions, blocks) and build it with riddle_builder_create under…

Reads 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 "build" (wording, questions, blocks) and build it with riddle_builder_create under…

ParameterTypBeschreibung
id*integerThe ID of the template, as returned by riddle_template_list or riddle_template_public_list.
includeBuildConfigbooleanWhether to read the template as a build configuration. Defaults to true, which is the point of this tool; false returns only the template's metadata, a far sma…
omittedDefaultsnull | booleanWhether every block additionally carries its "omittedDefaults" map - the properties it left out for still being at that block type's default, with the value ea…
riddle_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 template is what you want; to adapt it first, read it with riddle_template_get and…

Creates 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 template is what you want; to adapt it first, read it with riddle_template_get and…

ParameterTypBeschreibung
id*integerThe ID of the template to create a Riddle from, as returned by riddle_template_list or riddle_template_public_list.
titlenull | stringTitle for the new Riddle. Omit to keep the template's own title.
projectIdnull | integerThe project (team) ID to create the Riddle in, as returned by project_list. Omit to use the project the API key is scoped to (your personal project for a user…
omitarraySame "omit" parameter as riddle_get's, applied to the returned envelope (see riddle_get for the full description): sections of it to leave out, "published" bei…
riddle_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 and question bank tags are ONE set per project (question_bank_tag is the bank sid…

Lists 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 and question bank tags are ONE set per project (question_bank_tag is the bank sid…

ParameterTypBeschreibung
projectIdnull | integerThe project (team) ID, as returned by project_list. Omit for the project the API key is scoped to, or your personal tags on a user API key.
riddle_tagPuts a tag on Riddles or takes it off again, by "action" - ONE assignment per Riddle, never the tag itself (riddle_tag_list reads the labels of a project, riddle_tag_delete removes one). "add" gives one Riddle (UUID) or many (UUIDs, max 100) the tag named by tagName - created in each Riddle's OWN p…

Puts a tag on Riddles or takes it off again, by "action" - ONE assignment per Riddle, never the tag itself (riddle_tag_list reads the labels of a project, riddle_tag_delete removes one). "add" gives one Riddle (UUID) or many (UUIDs, max 100) the tag named by tagName - created in each Riddle's OWN p…

ParameterTypBeschreibung
action*stringWhat to do with the tag on those Riddles: "add" it or "remove" it. Each takes UUID or UUIDs and tagName or tagId.
UUIDnull | stringThe UUID of the single Riddle to tag or untag. Pass either this or UUIDs.
UUIDsarray | nullSeveral Riddles to tag or untag at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID.
tagNamenull | stringThe name of the tag. On "add" the Riddle's project gets the tag of that name, created if it has none yet; on "remove" nothing is ever created and a name the pr…
tagIdnull | integerThe ID of an existing tag, as returned by riddle_tag_list. Pass either this or tagName.
riddle_tag_deleteprivilegiertDeletes 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 action "remove"), so this is for a leftover from before that cleanup existed. It detaches nothing on the way,…

Deletes 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 action "remove"), so this is for a leftover from before that cleanup existed. It detaches nothing on the way,…

ParameterTypBeschreibung
tagId*integerThe ID of the tag to delete, as returned by riddle_tag_list. The only way to name it: a tag is deleted by id, not by name.
projectIdnull | integerThe project (team) ID the tag belongs to, as returned by project_list. Omit for the project the API key is scoped to, or your personal tags on a user API key.
pingA simple tool that returns "Pong". Can be used to test connectivity and authentication to the MCP.

A simple tool that returns "Pong". Can be used to test connectivity and authentication to the MCP.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

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 personal project. With scope "account" they come from the entire account instead: the personal project and every team project the user has access to,…

Returns 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 personal project. With scope "account" they come from the entire account instead: the personal project and every team project the user has access to,…

ParameterTypBeschreibung
scopestringWhat to list: "project" (default) for the Riddles of a single project, "account" for every Riddle of the account at once.
projectIdnull | integerFilter by project ID; omit or null for the authenticated user's personal project. Scope "project" only.
typearray | nullFilter by Riddle type (array of strings). Valid values: "Quiz", "Poll", "Form", "Personality", "Predictor", "Minigame", "Leaderboard", "Placeholder", "Story".…
notTypearray | nullExclude specific Riddle types (array of strings, same valid values as type). Omit to exclude nothing. Scope "project" only - the account list has no exclusion…
tagsarray | nullFilter by tag IDs (array of integers). Omit to ignore tags.
statusnull | stringFilter by status: "published", "modified", or "draft". Omit to include all statuses.
searchnull | stringSearch term to filter Riddles by title
originnull | stringFilter by how the Riddle was created: "api" (Riddle Builder API or Riddle AI, so riddle_delete/riddle_builder_update/palette_customize work on it) or "manual"…
sortBynull | stringSort field: "created", "published", or "modified"
sortOrdernull | stringSort direction: "ASC" or "DESC"
pagenull | integerPage number, 1-indexed, 12 Riddles per page (default: 1). Zero or negative is rejected with a VALIDATION_ERROR rather than clamped.
riddle_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_builder_* tools accept back; "published" is the live version visitors see (null = n…

Reads 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_builder_* tools accept back; "published" is the live version visitors see (null = n…

ParameterTypBeschreibung
UUIDnull | stringThe UUID of the single Riddle you want to read. Pass either this or UUIDs.
UUIDsarray | nullSeveral Riddles to read at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 20 - lower than the other bulk tools, since every entry is a full e…
includeRiddleDatabooleanAdditionally returns the full stored Riddle payload (content, settings, preset merge/diff, ...) under "riddle" - tens of KB, only for inspecting raw stored dat…
omitarrayLeaves whole sections out: "build", "warnings", "nextBlockId", "published", "context" (identity fields always stay). The one omission that materially shrinks a…
omittedDefaultsbooleanWhether every block should additionally carry its "omittedDefaults" map: the properties it left at that block type's default, with the value each is at. Off by…
riddle_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.

Gets 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.

ParameterTypBeschreibung
UUID*stringThe UUID of the Riddle you want to retrieve the HTML embed code for
riddle_publishPublishes one or many Riddles, or takes them off the web again with publish: false - unpublishing is this tool, there is no separate unpublish tool. A published Riddle is live at https://www.riddle.com/view/[RIDDLEID]. With UUID the response is the riddle_get envelope with the new state under "cont…

Publishes one or many Riddles, or takes them off the web again with publish: false - unpublishing is this tool, there is no separate unpublish tool. A published Riddle is live at https://www.riddle.com/view/[RIDDLEID]. With UUID the response is the riddle_get envelope with the new state under "cont…

ParameterTypBeschreibung
UUIDnull | stringThe UUID of the single Riddle you want to publish or unpublish. Pass either this or UUIDs.
UUIDsarray | nullSeveral Riddles to publish or unpublish at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID.
publishbooleantrue (the default) publishes the Riddles, false takes them off the web again.
omitarraySame "omit" parameter as riddle_get's, applied to the single-UUID response envelope (see riddle_get for the full description). Has no effect on the bulk (UUIDs…
riddle_renameprivilegiertRenames a Riddle with the specified UUID. Returns only the confirmation of the change (uuid, title, modified state), not the entire Riddle.

Renames a Riddle with the specified UUID. Returns only the confirmation of the change (uuid, title, modified state), not the entire Riddle.

ParameterTypBeschreibung
UUID*stringThe UUID of the Riddle you want to rename
title*stringThe new title for the Riddle
riddle_deleteprivilegiertDeletes one or many Riddles. Only Riddles created through the riddle_builder_* tools or generated by the Riddle AI can be deleted - the ones a user built by hand in the Creator cannot, so check "origin.apiManageable" (riddle_get's context.origin, or riddle_list's "origin") beforehand rather than le…

Deletes one or many Riddles. Only Riddles created through the riddle_builder_* tools or generated by the Riddle AI can be deleted - the ones a user built by hand in the Creator cannot, so check "origin.apiManageable" (riddle_get's context.origin, or riddle_list's "origin") beforehand rather than le…

ParameterTypBeschreibung
UUIDnull | stringThe UUID of the single Riddle you want to delete. Pass either this or UUIDs. Only Riddles created via the Riddle Builder tools or generated by the Riddle AI ca…
UUIDsarray | nullSeveral Riddles to delete at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID. Same restriction as UUID: each on…
dryRunbooleantrue reports whether each Riddle could be deleted and deletes nothing. Works for one UUID and for UUIDs.
riddle_moveprivilegiertMoves 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. CHECK MODE (the move check - a mode of this tool, not a tool of its own): leave proj…

Moves 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. CHECK MODE (the move check - a mode of this tool, not a tool of its own): leave proj…

ParameterTypBeschreibung
projectIdnull | integer | stringWhere to move the Riddles: the project (team) ID to move them into, as returned by project_list, or the string "personal" for your personal project. There is n…
UUIDnull | stringThe UUID of the single Riddle you want to move or check. Pass either this or UUIDs.
UUIDsarray | nullSeveral Riddles to move or check at once, as Riddle UUID strings, e.g. ["6FA740EW", "OllsevHa"] (max 100). Pass either this or UUID. For a move, this must be t…
dryRunbooleantrue runs the movability check against the given projectId and changes nothing. Pointless without projectId, which already only checks.
whoamiReports the current API key: the authenticated user ("userEmail"/"userName", the latter null if never set), the project/team on a project-scoped key, and the account's plan in "subscription" ({plan, period, active, created, termEnd, isFreeTrial, daysLeft} - on a free trial "termEnd" is when the tri…

Reports the current API key: the authenticated user ("userEmail"/"userName", the latter null if never set), the project/team on a project-scoped key, and the account's plan in "subscription" ({plan, period, active, created, termEnd, isFreeTrial, daysLeft} - on a free trial "termEnd" is when the tri…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

question_bank_createCreates a new, empty question bank for the given Riddle type ("Quiz" or "Poll"). Add items with question_bank_item(action: "add"), then reference the returned "id" as "questionBankId" on a QuestionBank block of a riddle_builder_create call of the matching "type" - a bank created for "Quiz" can only…

Creates a new, empty question bank for the given Riddle type ("Quiz" or "Poll"). Add items with question_bank_item(action: "add"), then reference the returned "id" as "questionBankId" on a QuestionBank block of a riddle_builder_create call of the matching "type" - a bank created for "Quiz" can only…

ParameterTypBeschreibung
riddleType*stringThe Riddle type this bank's items are shaped for - "Quiz" or "Poll". Fixed for the lifetime of the bank; every item added later must match it.
titlenull | stringThe bank's title. Defaults to "New question bank" when omitted.
projectIdnull | integerThe project (team) ID to create the bank in, as returned by project_list. Omit for the project the API key is scoped to (your personal space on a user API key).
question_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 personal ones on a user API key). Paginated {items, page, pageSize, total, hasMore}.…

Lists 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 personal ones on a user API key). Paginated {items, page, pageSize, total, hasMore}.…

ParameterTypBeschreibung
scopestringWhat to list: "own" (default) for the question banks of a project, "templates" for the built-in starter banks anyone can duplicate.
riddleTypenull | stringFilter by Riddle type ("Quiz" or "Poll"). Omit to list banks of every type. Applies to both scopes.
tagsarray | nullFilter by tag IDs (array of integers), as returned by riddle_tag_list. Omit to ignore tags. Scope "own" only.
searchnull | stringSearch term to filter banks by title. Scope "own" only.
sortBynull | stringSort field: "createdAt" or "modifiedAt". Defaults to "createdAt". Scope "own" only.
sortOrdernull | stringSort direction: "ASC" or "DESC". Defaults to "DESC". Scope "own" only.
pagenull | integerPage number (default: 1). Scope "own" only.
pageSizenull | integerItems per page (default: 12, max: 50). Scope "own" only.
projectIdnull | integerThe project (team) ID whose banks you want, as returned by project_list. Omit for the banks of the project the API key is scoped to (your personal ones on a us…
question_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-in template id from question_bank_list(scope: "templates") to see what it holds…

Retrieves 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-in template id from question_bank_list(scope: "templates") to see what it holds…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank to retrieve, as returned by question_bank_create/question_bank_list - or of a built-in template from question_bank_list(scope: "tem…
question_bank_manageEverything that acts on a question bank as a whole, by "action" - the items themselves are question_bank_item, and the two calls that only destroy are question_bank_delete and question_bank_discard_changes. A public template id is accepted for "duplicate" only and rejected by every other action. "r…

Everything that acts on a question bank as a whole, by "action" - the items themselves are question_bank_item, and the two calls that only destroy are question_bank_delete and question_bank_discard_changes. A public template id is accepted for "duplicate" only and rejected by every other action. "r…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank to act on.
action*stringWhat to do with the bank: "rename" (takes title), "updateNotes" (takes notes), "duplicate" (takes title and optionally projectId) or "publish" (no further para…
titlenull | stringThe new title for "rename", or the title of the copy for "duplicate". Required for both, rejected for every other action.
notesnull | stringPlain-text notes for this bank, e.g. sourcing/curation instructions - replaces any existing notes. Required for "updateNotes", rejected for every other action.
projectIdnull | integerThe project (team) ID the copy should land in, as returned by project_list. Only for "duplicate", where omitting it uses the project the API key is scoped to.
question_bank_itemAdds or replaces ONE question/item of a question bank, by "action" - deleting one is question_bank_delete. There is no universal item shape: read riddle://reference/question-bank/block-type-columns before the first "add" into a bank you have not populated - it lists the valid blockType values per R…

Adds or replaces ONE question/item of a question bank, by "action" - deleting one is question_bank_delete. There is no universal item shape: read riddle://reference/question-bank/block-type-columns before the first "add" into a bank you have not populated - it lists the valid blockType values per R…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank the item belongs to.
action*stringWhat to do: "add" a new item (takes blockType, category, difficulty, columns) or "update" an existing one (the same, plus questionBankItemId).
questionBankItemIdnull | integerThe ID of the item to update, as returned by question_bank_item(action: "add")/question_bank_get_items. Required for "update", rejected for "add".
blockTypenull | stringThe block type this question is shaped for, e.g. "SingleChoice". riddle://reference/question-bank/block-type-columns lists the ones valid for this bank's riddl…
categorynull | stringThe item's category - free text, used to filter what a QuestionBank block draws (see the "questionBankCriteria" of the QuestionBank block type).
difficultynull | integerThe item's difficulty, 1-10 - also used to filter what a QuestionBank block draws.
columnsobjectThe question content, as {columnName: [values]} - never a list, and a column holding a single value still takes a list. Which names are valid depends on the ba…
question_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 comes back; an item ADDED since the last publish has no published state and is lef…

Throws 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 comes back; an item ADDED since the last publish has no published state and is lef…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank to discard the unpublished changes of.
question_bank_deleteprivilegiertDeletes a question bank or ONE of its items - "target" says which, and nothing else deletes either. target "bank" removes the bank and every item it holds (its tags cleaned up exactly as question_bank_tag(action: "remove") does), and is rejected with QUESTION_BANK_INTERDEPENDENCY while a Riddle of…

Deletes a question bank or ONE of its items - "target" says which, and nothing else deletes either. target "bank" removes the bank and every item it holds (its tags cleaned up exactly as question_bank_tag(action: "remove") does), and is rejected with QUESTION_BANK_INTERDEPENDENCY while a Riddle of…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank to delete, or of the bank the item belongs to.
target*stringWhat to delete: "bank" (the bank itself and every item in it) or "item" (one question of it).
questionBankItemIdnull | integerThe ID of the item to delete, as returned by question_bank_get_items or question_bank_item(action: "add"). Required for target "item", rejected for "bank".
question_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 draws with. A template id from question_bank_list(scope: "templates") reads too - tha…

Lists 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 draws with. A template id from question_bank_list(scope: "templates") reads too - tha…

ParameterTypBeschreibung
questionBankId*integerThe bank to list items of - your own, or a template id from question_bank_list(scope: "templates").
searchnull | stringFilter items by their column values (e.g. a question title or a choice).
blockTypenull | stringFilter to one block type (e.g. "SingleChoice").
categorynull | stringFilter to one category.
difficultyRangearray | nullFilter to a difficulty range, as [min, max] (e.g. [1, 5]).
publishednull | booleanRead the bank's PUBLISHED items instead of its draft (default false) - a different set of items, and the pool a live Riddle's QuestionBank block actually draws…
pagenull | integerPage number, starting at 1 (default: 1).
pageSizenull | integerItems per page (default: 250, max: 500).
question_bank_tagAdds a tag to a question bank or removes one from it, by tagName or tagId from riddle_tag_list - exactly one of the two, as riddle_tag does. Question bank tags and Riddle tags are ONE set per project, not two: the same tag applies to banks and Riddles and has the same id in both, which is why the i…

Adds a tag to a question bank or removes one from it, by tagName or tagId from riddle_tag_list - exactly one of the two, as riddle_tag does. Question bank tags and Riddle tags are ONE set per project, not two: the same tag applies to banks and Riddles and has the same id in both, which is why the i…

ParameterTypBeschreibung
questionBankId*integerThe ID of the question bank to tag or untag.
action*string"add" the tag to the bank, or "remove" it from the bank.
tagNamenull | stringThe name of the tag. On "add" the project's tag of that name is reused, or created if there is none yet; on "remove" nothing is ever created and a name the ban…
tagIdnull | integerThe ID of an existing tag, as returned by riddle_tag_list. Pass either this or tagName.
palette_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 is selected, which values this Riddle overrides, and the built-in palettes to star…

Reads 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 is selected, which values this Riddle overrides, and the built-in palettes to star…

ParameterTypBeschreibung
riddleUUID*stringThe UUID of the Riddle whose palettes you want
paletteUUIDnull | stringReturn only this palette instead of all of them. Accepts a palette UUID or a built-in palette id like "default:timeless".
includeBuiltInPalettesnull | booleanInclude the full values of all built-in palettes. Defaults to false, in which case only their ids and names are listed.
omitarrayLeaves parts of the response out - the way to keep this call small. "paletteValues" lists every palette as {uuid, name} instead of with its ~30 values (then re…
palette_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. Never affects another Riddle: a palette inherited from the account/project def…

Changes 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. Never affects another Riddle: a palette inherited from the account/project def…

ParameterTypBeschreibung
riddleUUID*stringThe UUID of the Riddle you want to restyle. Only Riddles created via the Riddle Builder tools or generated by the Riddle AI can be restyled.
values*objectMap of palette path => new value, e.g. {"bgColor": "#ffffff", "buttonColor": "rgba(0,0,0,0.8)", "font.name": "Roboto", "riddleBorderRadius": 12, "isImageInBgDi…
paletteUUIDnull | stringThe palette to change. Omit to change the currently selected palette. Pass a built-in id ("default:timeless") to start from that palette.
newPaletteNamenull | stringCreate a new palette with this name (copied from paletteUUID / the selected palette) and apply the values to the copy, leaving the original untouched.
selectnull | booleanSelect the palette afterwards so the Riddle actually renders with it. Newly created palettes are always selected.
riddle_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 accepts is described on the "build" fields themselves, marked with the types it bel…

Builds 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 accepts is described on the "build" fields themselves, marked with the types it bel…

ParameterTypBeschreibung
type*stringWhich kind of Riddle to build - this decides which "build" fields and which block types exist. Quiz: questions with right and wrong answers, scored, one result…
build*objectThe build configuration of the Riddle type named in "type".This is the raw build configuration in the engine's own key names - the exact same shape riddle_get…
publishnull | booleanWhether to publish the Riddle right after creation; default false (draft). Distinct from the "publish" field INSIDE the build config, which is the stored publi…
queuenull | booleanWhether to queue the creation asynchronously.
projectnull | integerThe project ID; pass NULL for personal project; omit to use the currently selected project.
templateIdnull | integerOnly when this build config came from a template you adapted (riddle_template_get): that template's id. Always pass it when you have one - the new Riddle then…
omitarraySections of the returned envelope to leave out; omit the parameter for the whole envelope. "uuid"/"type"/"modifiedAt" are always returned, and whatever you lea…
riddle_builder_updateEdits an existing Riddle of any type with the same build configuration riddle_builder_create takes - but as a merge, not a rebuild: only the fields you send are touched, an omitted one is left exactly as it is. Blocks are addressed by their "id", added with "$create": true, removed with "$delete":…

Edits an existing Riddle of any type with the same build configuration riddle_builder_create takes - but as a merge, not a rebuild: only the fields you send are touched, an omitted one is left exactly as it is. Blocks are addressed by their "id", added with "$create": true, removed with "$delete":…

ParameterTypBeschreibung
UUID*stringThe UUID of the Riddle to edit, as returned by riddle_list or riddle_get (e.g. "6FA740EW") - the Riddle itself, never a block id or a project id.
build*objectThe changes to apply, as a partial build configuration in the engine's own key names - the same shape riddle_get returns under "build" and riddle_builder_creat…
publishnull | booleanWhether to publish the Riddle after the edit; default false, which leaves the changes in the draft. It rides along with an edit, it is not one: publish: true w…
omitarraySections of the returned envelope to leave out; omit the parameter for the whole envelope. "uuid"/"type"/"modifiedAt" are always returned, and whatever you lea…
riddle_builder_validateDry-runs one or many Riddle Builder creates and/or edits without creating or changing anything: per entry of "builds", the same validation the real call would apply, run against a scratch/deep-copied Riddle that is discarded before this returns - never persisted, never published, no event dispatche…

Dry-runs one or many Riddle Builder creates and/or edits without creating or changing anything: per entry of "builds", the same validation the real call would apply, run against a scratch/deep-copied Riddle that is discarded before this returns - never persisted, never published, no event dispatche…

ParameterTypBeschreibung
buildsarrayThe build configs to dry-run, 1 to 20 entries, creates and edits mixable: {type, build} for a would-be creation or {UUID, build} for an edit, exactly one of "t…
projectnull | integerThe project to dry-run the CREATING entries in - riddle_builder_create's own parameter, and it must be the project you intend to create in: the scratch Riddle…
reference_getRead this server's own documentation: the block types, form field types, result blocks, palette values and response shapes the other tools expect. Every "riddle://reference/..." URI named in a tool description, a response or an error message is a topic of this tool - pass it here to read that docum…

Read this server's own documentation: the block types, form field types, result blocks, palette values and response shapes the other tools expect. Every "riddle://reference/..." URI named in a tool description, a response or an error message is a topic of this tool - pass it here to read that docum…

ParameterTypBeschreibung
topics*arrayThe documents to read, as their "riddle://reference/..." URIs (a document's short resource name, e.g. "block-types", works too). What each one holds: - riddle:…
riddleTypearrayNarrow riddle-types/block-types to these Riddle type(s) - on block-types that drops every other type's question blocks while keeping the shared conventions (co…
blockTypesarrayThe block type name(s) you are actually going to build (e.g. "SingleChoice", "WheelSpinner"), narrowing block-types on top of whatever "riddleType" kept - the…
fieldTypesarrayNarrow form-field-types and form-field-defaults to these form field type name(s) (e.g. "Dropdown", "Privacy"); the property sets a kept type refers to (propert…
includeAvailableTopicsbooleanWhether to carry the full "availableTopics" catalogue. Omit it - the first reference_get of a session gets it, later ones get a pointer instead of repeating ~2…
stats_fetchViews/starts/submissions of one entity - "namespace" plus "entityId" says which (a project, a user, or a Riddle by UUID), "view" how deeply. "totals": one aggregate for the period. The response IS the entity's stats document: metrics sit in "core_metrics" under "global_stats" (a Riddle) or under "s…

Views/starts/submissions of one entity - "namespace" plus "entityId" says which (a project, a user, or a Riddle by UUID), "view" how deeply. "totals": one aggregate for the period. The response IS the entity's stats document: metrics sit in "core_metrics" under "global_stats" (a Riddle) or under "s…

ParameterTypBeschreibung
view*stringHow deeply to measure: "totals" (one aggregate for the period), "timeseries" (that aggregate per consecutive interval, requires dateFrom and dateTo), "breakdow…
namespace*stringEntity type to fetch stats for.
entityIdnull | stringID of the entity: a project ID (integer as string) for "project", a user ID (integer as string) for "user", a Riddle UUID for "riddle". Get them from project_l…
dateFromnull | stringStart date (inclusive), format: YYYY-MM-DD, e.g. "2026-01-01". Required for "timeseries". On "totals" and a Riddle/project "breakdown", omit both dates for all…
dateTonull | stringEnd date (inclusive), format: YYYY-MM-DD, e.g. "2026-01-31". Same rules as dateFrom; where a default applies it is today.
projectIdsarray | nullNarrow the account-wide summary to these project IDs (array of integers, from project_list). Omit to cover the whole account, including the personal project. P…
pagenull | integerPage number of the account-wide summary, 1-indexed (default: 1). Zero or negative is rejected with a VALIDATION_ERROR, not clamped to page 1 - the same contrac…
sortBystringMetric the account-wide summary's Riddles are ranked by before the page is cut: "views" (default), "starts", "submissions" or "timeActive". Sorting always span…
project_listLists the projects this token has access to as {items, page, pageSize, total, hasMore} - the paging every listing of this server answers with (riddle://reference/concepts/response-envelope), here 25 per page, 100 max, so an account with many projects can be paged through; a project API token only e…

Lists the projects this token has access to as {items, page, pageSize, total, hasMore} - the paging every listing of this server answers with (riddle://reference/concepts/response-envelope), here 25 per page, 100 max, so an account with many projects can be paged through; a project API token only e…

ParameterTypBeschreibung
pagenull | integerPage number to fetch (1-indexed). Defaults to 1. Zero, negative or non-numeric is rejected, not clamped.
pageSizenull | integerHow many projects to return per page (max 100). Defaults to 25. Same validation as page; over 100 is rejected, not clamped.
project_getReturns one project by id - id, name, image and the authenticated user's permission matrix for it. The id comes from project_list or from the "team" of riddle_get. The project's default Riddle settings are NOT included; they are a large nested tree with its own tool, project_get_settings.

Returns one project by id - id, name, image and the authenticated user's permission matrix for it. The id comes from project_list or from the "team" of riddle_get. The project's default Riddle settings are NOT included; they are a large nested tree with its own tool, project_get_settings.

ParameterTypBeschreibung
projectId*integerThe ID of the project to look up
project_get_settingsReturns the default Riddle settings every new Riddle of the project starts from - PUBLISHED and ENABLED only: "publishSettings" (privacy/DOI/OTP, email automation, tracking, data layer, ...) and "embedSettings" (iframe sizing, auto-scroll, ...), each holding only the areas whose "isDefaultEnabled"/…

Returns the default Riddle settings every new Riddle of the project starts from - PUBLISHED and ENABLED only: "publishSettings" (privacy/DOI/OTP, email automation, tracking, data layer, ...) and "embedSettings" (iframe sizing, auto-scroll, ...), each holding only the areas whose "isDefaultEnabled"/…

ParameterTypBeschreibung
projectId*integerThe ID of the project whose default Riddle settings to return

38 von 38 Tools haben eine Beschreibung veröffentlicht.

Tool-Namen und -Beschreibungen stammen vom Publisher und werden wortgetreu als inerter Text angezeigt. Es sind die Zeichenketten, die ein MCP-Client an ein Modell übergibt, deshalb prüft Forge sie auf Prompt-Injection-Muster — jeder Befund erscheint oben beim Sicherheits-Scan. „Privilegiert“ ist ein Schlagwort-Treffer im Tool-Namen, keine Prüfung dessen, was das Tool tut: ein harmlos klingender Name kann trotzdem alles tun.

Über

Build, publish and analyze quizzes, polls, forms and personality tests. Riddle account required.

Schlagwörter
mcp
Alternativen
Tool-Oberflächen werden verglichen…

Keine Abdeckung der Abhängigkeiten

Dieser Eintrag veröffentlicht kein npm-Paket, daher hat Forge keinen Abhängigkeitsbaum dafür. Das ist eine Lücke in der Abdeckung — keine Aussage, dass er keine Abhängigkeiten hat.