Skip to main content
Glama

RooQuiz

update_form_settings

Change how a form of the current team is delivered, as opposed to what it says (use update_form for title / questions / report / theme). Editable: submissionAccess (who may answer and whether seeing the report needs a login — this is the lead-capture gate), reportGateRequireCode (whether that login gate collects an emailed verification code, trading completion rate against lead quality), timeLimit, sharing (the result-page share button and personalised share card, which is what drives organic spread), answerSheet, booking (the result-page booking block that feeds the 1:1 call queue), gaTrackingId, sharedWithAll (whether every team member can see this form), and slug (the custom path that gives the public link a memorable, SEO-friendly address). Only the keys you pass are changed. Read the current values with get_form_share_info.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoCustom path of the public answer link — the SEO-friendly address (e.g. quizster.app/<team>/burnout-test on the platform domain, or <custom-domain>/burnout-test when the team's custom domain is serving). Lowercase letters, digits and hyphens, 2-64 chars, must start and end with a letter or digit, unique within the team. Pass an empty string to clear back to the random address. Changing it breaks the previous custom path right away, but the token address (/a/<publicToken>) always keeps working and the page's canonical URL follows the custom path.
formIdYesThe form UUID
bookingNoThe result-page booking block. The bookable hours live in the team's booking settings, not here — this is only the switch and the copy. Bookings that come in are handled with list_bookings / review_booking.
sharingNoResult-page sharing: the share button, the personalised share card and the public summary. Turning this off stops respondents spreading their results.
timeLimitNoAnswer-time countdown. Only knowledge quizzes (knowledge_quiz / random_knowledge_quiz) can turn this on — a countdown makes sense when unanswered means wrong, but rushing a scorecard or a personality quiz just produces careless answers.
answerSheetNoThe answer-sheet sidebar on the answering page
gaTrackingIdNoGoogle Analytics measurement id (G-XXXXXX) or Universal Analytics id (UA-XXXX-Y). Pass an empty string to clear.
sharedWithAllNoWhether every member of the team can see and open this form
submissionAccessNopublic = anyone answers and sees the report; login_to_view_report = anyone answers but must sign in to see the report (the default, this is how leads get captured); examinee_only = a login is required before answering at all
reportGateRequireCodeNoOnly applies when submissionAccess is login_to_view_report. false (the default for newly created quizzes) = the respondent only types an email and a name to see this one result — far more people finish, but the address is unverified and they get no account, and since result links do get forwarded, the report is effectively as reachable as public for whoever opens the link first. true = the respondent must confirm an emailed 6-digit code, so every captured lead has a verified address and the respondent gets an account they can return to. Quizzes created before this setting existed read as true.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoCustom path after this change; null when cleared (back to the random address)
formIdNoThe form that was changed
changedNoWhich settings this call changed
deliveryNoDelivery state: { isActive, submissionAccess, reportGateRequireCode, timeLimit, sharing, answerSheet, booking, gaTrackingId, sharedWithAll }; get_form_share_info adds the team-level examineeSignupDisabled (respondent self-signup off = a login-gated quiz turns away anyone not on the roster)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal this is a mutating call (readOnlyHint=false), and the description adds meaningful non-obvious behavior: partial updates, the lead-capture trade-off for submissionAccess/reportGateRequireCode, and the sharing/booking effects. It does not cover side effects like slug breakage, but the schema already documents that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but the tool has 10 parameters and nested objects. The first clause front-loads the main purpose and sibling distinction, and the long list of editable fields is dense rather than padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, 100% schema coverage, and annotations, nothing essential is missing: it names the sibling for content edits, points to the read tool for current values, and explains the conceptual role of every mutable field.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema carries the formal parameter details. The description still adds semantic context beyond the schema by framing fields as lead-capture gates, completion-rate trade-offs, organic-spread drivers, and 1:1-call queue feeders, which helps an agent choose correct values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Change how a form of the current team is delivered') and immediately contrasts it with update_form, which handles content. It also enumerates the editable fields, so an agent can tell exactly what this tool is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes content edits to update_form ('use update_form for title / questions / report / theme') and tells the agent to read current values with get_form_share_info. The partial-update note ('Only the keys you pass are changed') also sets clear invocation expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools pair a distinct resource with a distinct verb, and the descriptions do a good job of separating related concepts like leads, records, examinees, and bookings. The only real ambiguity is between list_records (submission records, also called leads) and list_leads (CRM leads), plus a mild overlap between update_form and update_form_settings, but careful reading resolves both.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, using standard verbs like get_, list_, create_, update_, delete_, add_, insert_, move_, and set_. Minor stylistic variation such as add_question vs. insert_question is still predictable and does not hurt usability.

Tool Count2/5

48 tools is a very heavy surface for an MCP server. While each tool appears purposeful, the server spans forms, questions, translations, analytics, leads, bookings, examinees, media, and team administration, making it feel like a full platform API rather than a focused server. Most agents will only ever need a subset of these tools.

Completeness4/5

The core quiz lifecycle is well covered: form creation/editing/deletion/restore/duplicate/translation, question CRUD/move, delivery settings, statistics/funnels, lead CRM, bookings, examinees, media upload, and tenant basics. The main gaps are minor — no member list/remove/role management beyond invite, no media library listing/deletion, and no bulk export of records — but these do not create dead ends in the primary quiz/lead/booking workflows.

Resources