Skip to main content
Glama

Create activity

create_activity

Create a new empty activity for the current user. Its result brings "content_schema": the schema, the writing guide and the limits of the content of that type, which is what set_activity_content needs next. Keep working on the activity already open: create a second one only when the user explicitly asks for another activity, never as a way around the type that is open.

Input Schema

NameRequiredDescriptionDefault
langNoContent language code (es, en, fr...). Defaults to the user language.
typeYesActivity type. The one the user named, in any wording and language (ADIVINANZA = Riddle, ASTERQUIZ = AsterQuiz, COMPLETAR = Fill in the Blanks, CRUCIGRAMA = Crossword Puzzle, DIALOGO = Dialogue, DICTADO = Dictation, FROGGY_JUMPS = Froggy Jumps, LINE_UP = Line Up, ORDENAR_LETRAS = Unscramble Letters, ORDENAR_PALABRAS = Unscramble Words, PRESENTACION = Slideshow, PUZZLE = Jigsaw Puzzle, RELACIONAR = Matching, RELACIONAR_COLUMNAS = Matching Pairs, RELACIONAR_MOSAICO = Memory, RULETA_PALABRAS = Alphabet, SOPA = Word Search Puzzle, TEST = Quiz, VIDEOTEST = Video Quiz, YESORNO = Yes or No); when they named none, the one whose "best_for" suits the content best (the list of types in your context, or list_activity_types), never a quiz just because it is the usual choice.
titleYesTitle of the activity, written by you from what the user asked for. Never leave it empty and never ask the user for it.
descriptionYesShort description of the activity, written by you. Never leave it empty and never ask the user for it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / type / description
      Previous value: -"Activity type. The one the user named, in any wording and language (ADIVINANZA = Riddle, ASTERQUIZ = AsterQuiz, COMPLETAR = Fill in the Blanks, CRUCIGRAMA = Crossword Puzzle, DIALOGO = Dialogue, DICTADO = Dictation, FROGGY_JUMPS = Froggy Jumps, LINE_UP = Line Up, ORDENAR_LETRAS = Unscramble Letters, ORDENAR_PALABRAS = Unscramble Words, PRESENTACION = Slideshow, PUZZLE = Puzzle, RELACIONAR = Matching, RELACIONAR_COLUMNAS = Matching Pairs, RELACIONAR_MOSAICO = Memory, RULETA_PALABRAS = Alphabet, SOPA = Word Search Puzzle, TEST = Quiz, VIDEOTEST = Video Quiz, YESORNO = Yes or No); when they named none, the one whose \"best_for\" suits the content best (the list of types in your context, or list_activity_types), never a quiz just because it is the usual choice."New value: +"Activity type. The one the user named, in any wording and language (ADIVINANZA = Riddle, ASTERQUIZ = AsterQuiz, COMPLETAR = Fill in the Blanks, CRUCIGRAMA = Crossword Puzzle, DIALOGO = Dialogue, DICTADO = Dictation, FROGGY_JUMPS = Froggy Jumps, LINE_UP = Line Up, ORDENAR_LETRAS = Unscramble Letters, ORDENAR_PALABRAS = Unscramble Words, PRESENTACION = Slideshow, PUZZLE = Jigsaw Puzzle, RELACIONAR = Matching, RELACIONAR_COLUMNAS = Matching Pairs, RELACIONAR_MOSAICO = Memory, RULETA_PALABRAS = Alphabet, SOPA = Word Search Puzzle, TEST = Quiz, VIDEOTEST = Video Quiz, YESORNO = Yes or No); when they named none, the one whose \"best_for\" suits the content best (the list of types in your context, or list_activity_types), never a quiz just because it is the usual choice."
  2. Changed2 schema fields changed
    • changedInput schema / properties / type / description
      Previous value: -"Activity type. The one the user named, in any wording and language (ADIVINANZA = Riddle, ASTERQUIZ = AsterQuiz, COMPLETAR = Fill in the Blanks, CRUCIGRAMA = Crossword Puzzle, DIALOGO = Dialogue, DICTADO = Dictation, FROGGY_JUMPS = Froggy Jumps, LINE_UP = Line Up, ORDENAR_LETRAS = Unscramble Letters, ORDENAR_PALABRAS = Unscramble Words, PRESENTACION = Slideshow, RELACIONAR = Matching, RELACIONAR_COLUMNAS = Matching Pairs, RELACIONAR_MOSAICO = Memory, RULETA_PALABRAS = Alphabet, SOPA = Word Search Puzzle, TEST = Quiz, VIDEOTEST = Video Quiz, YESORNO = Yes or No); when they named none, the one whose \"best_for\" suits the content best (the list of types in your context, or list_activity_types), never a quiz just because it is the usual choice."New value: +"Activity type. The one the user named, in any wording and language (ADIVINANZA = Riddle, ASTERQUIZ = AsterQuiz, COMPLETAR = Fill in the Blanks, CRUCIGRAMA = Crossword Puzzle, DIALOGO = Dialogue, DICTADO = Dictation, FROGGY_JUMPS = Froggy Jumps, LINE_UP = Line Up, ORDENAR_LETRAS = Unscramble Letters, ORDENAR_PALABRAS = Unscramble Words, PRESENTACION = Slideshow, PUZZLE = Puzzle, RELACIONAR = Matching, RELACIONAR_COLUMNAS = Matching Pairs, RELACIONAR_MOSAICO = Memory, RULETA_PALABRAS = Alphabet, SOPA = Word Search Puzzle, TEST = Quiz, VIDEOTEST = Video Quiz, YESORNO = Yes or No); when they named none, the one whose \"best_for\" suits the content best (the list of types in your context, or list_activity_types), never a quiz just because it is the usual choice."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "ASTERQUIZ",
      -  "LINE_UP",
      -  "YESORNO",
      -  "FROGGY_JUMPS",
      -  "ADIVINANZA",
      -  "RELACIONAR",
      -  "TEST",
      -  "RULETA_PALABRAS",
      -  "RELACIONAR_MOSAICO",
      -  "RELACIONAR_COLUMNAS",
      -  "SOPA",
      -  "CRUCIGRAMA",
      -  "COMPLETAR",
      -  "ORDENAR_LETRAS",
      -  "ORDENAR_PALABRAS",
      -  "DICTADO",
      -  "PRESENTACION",
      -  "DIALOGO",
      -  "VIDEOTEST"
      -]New value: +[
      +  "ASTERQUIZ",
      +  "LINE_UP",
      +  "YESORNO",
      +  "FROGGY_JUMPS",
      +  "ADIVINANZA",
      +  "RELACIONAR",
      +  "TEST",
      +  "RULETA_PALABRAS",
      +  "RELACIONAR_MOSAICO",
      +  "RELACIONAR_COLUMNAS",
      +  "SOPA",
      +  "CRUCIGRAMA",
      +  "COMPLETAR",
      +  "ORDENAR_LETRAS",
      +  "ORDENAR_PALABRAS",
      +  "DICTADO",
      +  "PRESENTACION",
      +  "DIALOGO",
      +  "VIDEOTEST",
      +  "PUZZLE"
      +]
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that the activity is created *empty* (a non-obvious state) and that the response carries the content_schema needed downstream, which is genuine behavioral value. Missing only details like whether creation is idempotent or requires auth.

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?

Three sentences, front-loaded with the action, then the return value, then the guardrail; every sentence earns its place. Slightly awkward non-native phrasing ('Its result brings "content_schema"') costs a point on polish.

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

Completeness4/5

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

For a 4-param creation tool with no output schema and full annotation coverage, the description covers state ('empty'), the returned payload, and the workflow constraint. Only minor gaps remain, such as what happens to the previously open activity or whether the new activity needs publishing.

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%, including a long enum explanation with best_for guidance, so the baseline of 3 applies. The description adds no parameter-level meaning of its own beyond referencing the type concept.

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?

States a specific verb and resource ('Create a new empty activity') plus the scope ('for the current user'), and immediately clarifies the yield ('content_schema') that separates it from set_activity_content and update_activity. An agent can tell this is the entry point of the activity-building flow without opening the schema.

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?

Explicit when-not guidance: 'create a second one only when the user explicitly asks for another activity, never as a way around the type that is open.' It also implies the correct next step (set_activity_content) and thus which sibling to use after.

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