Skip to main content
Glama

thincms_create_workbook

Create a fillable workbook form in a module. Define fields with a JSON array or use a local file for large specifications.

Instructions

Create a workbook inside a module. Workbooks are fillable forms that live alongside lessons and quizzes — use thincms_reorder_module_items to position them. The fields array defines the form spec. For large specs (>10KB), use fieldsFile instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoURL slug (auto-generated from title if omitted)
titleYesWorkbook title (required)
fieldsNoOrdered array of field definitions. Each field is an object with at minimum { fieldId, type, label }. v1 field types: short_text, long_text, number, rating, select, multi_select, date, prompt_display, markdown_display. Input fields may include `prefillFrom: { courseSlug, workbookSlug, fieldId }` for cross-workbook references.
isFreeNoMake this workbook a free preview (default: false)
siteIdNoOverride the active site for this single call. Pass to target a specific tenant without mutating shared active-site state — the right pattern when running concurrent agent sessions managing different tenants. Must match a siteId from your THINCMS_SITES config (use thincms_list_sites to inspect). When omitted, the call uses the active site set by thincms_switch_site.
dripDateNoISO date when this workbook becomes available (scheduled drip mode)
moduleIdYesModule ID (required)
fieldsFileNoLocal file path containing a JSON array of field definitions — use for large workbook specs
isUnlockedNoManually unlock regardless of drip settings
descriptionNoHTML content shown above the form
introContentNoOptional additional HTML intro shown after the description
requiredForCompletionNoWhether marking the workbook complete is required for module completion (default: true)
confirmProductionWriteNoAcknowledge that this call may write to a configured production site (THINCMS_PRODUCTION_SITE_IDS env var). Required for any POST/PUT/PATCH/DELETE against a production-listed site; ignored otherwise. The error message lists which site triggered the requirement and recommends thincms_snapshot before any production write.
allowExportBeforeCompleteNoWhether learners can export before marking complete (default: true)
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention that the tool performs a write operation, any required permissions, side effects on module item order, or the nature of the response (e.g., returns created workbook). This lack of transparency leaves the agent underinformed.

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

Conciseness5/5

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

The description is extremely concise, consisting of two short sentences. Each sentence earns its place: the first states the core purpose and context, the second offers an important alternative for large specs. No wasted words.

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

Completeness3/5

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

Given the tool's complexity (14 parameters, no output schema), the description is minimal. It does not discuss return values, error conditions, prerequisites (e.g., module existence), or the confirmProductionWrite safety parameter. While the schema descriptions fill some gaps, the description could do more to ensure the agent fully understands the tool's usage context.

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?

The schema descriptions cover all 14 parameters (100% coverage), so the description does not need to repeat them. The description adds useful context by explaining the fields array as defining the form spec and introducing fieldsFile as an alternative for large specs, which goes beyond the schema's individual field descriptions.

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 clearly states the action ('Create a workbook inside a module') and differentiates the tool from siblings by specifying that workbooks are fillable forms living alongside lessons and quizzes, and by referencing the reorder tool for positioning. It also introduces key concepts like fields and fieldsFile.

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

Usage Guidelines4/5

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

The description provides guidance on post-creation positioning via thincms_reorder_module_items and on choosing between fields and fieldsFile for large specs. However, it does not explicitly state prerequisites (e.g., module must exist) or when to avoid this tool in favor of alternatives like thincms_create_form.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmccarroll-fuel/thincms-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server