Skip to main content
Glama

Add many classes at once

add_classes

Add up to 500 classes in one go, all or nothing. Each row takes the class fields (as save_class) and may name things instead of giving ids: branch (name or alias), levels, subjects and teachers (lists of names). Send dry_run: true first; when any row has a problem nothing is saved and each row says what to fix.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "rows": "<rows>"
    },
    "name": "add_classes"
  }
}

Input Schema

NameRequiredDescriptionDefault
rowsYes
dry_runNotrue: check everything and save nothing, returning each item's result. Always do this first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

It goes beyond standard annotations by detailing behavioral constraints like the 500-record limit, the 'all or nothing' transaction guarantee, and the specific error reporting mechanism per row during a dry run.

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?

While highly effective, the description is dense. However, every sentence adds crucial information (limit, resolution, transactional safety), justifying the slightly higher score over a low rating.

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 complexity of the payload (array of objects with multiple types of optional parameters), the description fully equips the agent to understand the limitations, the required workflow, and the input format conventions.

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

Parameters5/5

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

The description provides critical semantic information not in the schema, explaining that parameters like branch, levels, subjects, and teachers can be supplied as names or aliases instead of IDs. This is essential for building valid tool calls.

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 resource (classes) and the scope (up to 500 records). It distinguishes this bulk operation from a single class save, which is evident from the resource and operation specified.

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 provides a mandatory safety workflow: running dry_run: true first. This defines the correct usage pattern and explains the transactional integrity (all or nothing).

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