Skip to main content
Glama

Cubite LMS: Learning Management System

Create course

course_create

Create a new course on this site: settings only, no lessons yet; to copy an existing course with its lessons, use course_duplicate. The public catalog lists a course once it has a slug and isVisibleInCatalog is true (the default), so build with isVisibleInCatalog:false and publish later with course_update. Prerequisites, application questions and certificateConfig (completion and certificate rules) are not accepted here; set them afterwards with course_update. New courses start with the reading-time gate on, so a text unit counts as complete only after a minimum reading time (course_update's certificateConfig turns it off). Creating a course emails no one and fires no webhook. A rejected call (bad value, unknown instructor, taken slug) creates nothing, but names need not be unique, so every successful call adds another course. Returns the new course's name, id and slug; add lessons next with course_content_set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xpNoGamification points awarded (whole number).
nameYesCourse title (required, max 191 chars).
slugNoURL slug used in /course/<slug>/..., lowercased with other characters turned into hyphens. Must be unique across all Cubite sites (a taken slug is a 409 error). Without one the course is not listed in the catalog or reachable by learners.
levelNoDifficulty label shown in the catalog, e.g. "Beginner" (max 191 chars).
priceNoList price in US dollars; omit or 0 for a free course.
bannerNoWide banner image for the course about page.
topicsNoTopic tag names; an existing tag with the same name is reused, otherwise it is created.
creditsNoCredits/CEUs awarded on completion (decimals allowed).
endDateNoCourse end, ISO 8601 date or date-time.
discountNoSale price in US dollars that learners pay INSTEAD of `price` (the discounted price, not an amount off). Omit or 0 for no sale.
durationNoContent length in hours (whole number), shown in the catalog; not an access limit.
featuredNoHighlight the course in featured catalog slots (default false).
subjectsNoSubject tag names; an existing tag with the same name is reused, otherwise it is created.
metaTitleNoSEO meta title (<=60 chars recommended, max 191).
startDateNoCourse start, ISO 8601 date or date-time.
coverImageNoCatalog card image: absolute URL or Cloudinary public id (max 191 chars).
introVideoNoIntro video: a YouTube or Loom URL, or a direct video file URL (max 191 chars).
descriptionNoCatalog summary shown on the course page; not the lessons.
instructorsNoInstructor user ids. Each must already be on this site (a site role or site admin); one unknown id fails the call and nothing is created.
metaDescriptionNoSEO meta description (<=155 chars recommended).
discussionEnabledNoTurn on the course discussion forum (default false).
enrollmentEndDateNoWhen enrollment closes, ISO 8601.
isSyllabusVisibleNoShow the syllabus to visitors who are not enrolled (default true).
accessDurationDaysNoDays of access from each enrollment (whole number); omit for unlimited access.
isVisibleInCatalogNoList the course in the public catalog. Defaults to TRUE, so pass false while you are still building the course.
enrollmentStartDateNoWhen enrollment opens, ISO 8601.
requiresApplicationNoLearners must apply and be approved before they are enrolled (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=false and destructiveHint=false, so the mutation/safety profile is covered. The description still adds real value beyond them: no emails or webhooks fire, a rejected call creates nothing but names need not be unique so each success adds another course, and the reading-time gate starts on.

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?

Front-loaded and dense with no filler sentences; each clause carries routing or behavior information. It is a wall of text for a 27-parameter tool, but nearly every sentence earns its place.

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?

Complete for a large create tool: it covers side effects, defaults with workflow consequences, error/failure behavior, the return shape (name, id, slug) despite no output schema, and the next step. Little an agent needs before calling it is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the 27 properties are already fully documented and the baseline is 3. The description adds some scope knowledge not derivable from the schema (prerequisites, application questions and certificateConfig are deliberately absent here), but the field-level semantics themselves duplicate what the schema already states.

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?

Opens with a precise verb+resource and immediately scopes it: 'Create a new course on this site: settings only, no lessons yet.' It explicitly distinguishes itself from the sibling course_duplicate, so an agent can pick between them without opening schemas.

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?

Gives explicit when/when-not routing ('to copy an existing course with its lessons, use course_duplicate'), a build-then-publish workflow (create with isVisibleInCatalog:false, publish later with course_update), and directs follow-on work to course_update and course_content_set.

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.

Resources