Skip to main content
Glama

Cubite LMS: Learning Management System

Review course application

application_review

Approve or reject one course application from application_list. Approving ENROLLS the applicant right away (prerequisites skipped, the course's access period applied) and emails them an approval with a link into the course; rejecting records the decision and emails them your decisionNote, enrolling no one. Repeating the decision an application already has does nothing (no second enrollment or email), and rejecting an application that was already approved does not remove the enrollment: use enrollment_revoke for that. To enroll someone who never applied, use enrollment_create. Returns {id, status, decisionNote, reviewedAt}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesApplication id from application_list.
decisionYes"approved" enrolls the applicant and emails an approval; "rejected" emails a rejection and enrolls no one. Either email is skipped if the site has turned it off.
decisionNoteNoOptional note saved on the application; it appears in the rejection email only (the approval email does not show it).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

With annotations only providing readOnlyHint=false and openWorldHint=false, the description carries rich behavioral detail: approval instantly enrolls with prerequisites skipped and the access period applied, both branches send emails, and decisions are idempotent. This is exactly the side-effect disclosure a mutation tool needs.

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?

Front-loads the core action, then layers consequences, idempotency, and alternatives. The semicolon structure keeps it dense but every clause carries actionable information; nothing is wasted.

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?

Covers the decision semantics, side effects, idempotency, non-reversal behavior, sibling routing, and even the return shape. An agent has everything needed to call this correctly without opening another tool.

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 all three parameters (id, decision enum, decisionNote) are already documented in the schema, including the note appearing only in the rejection email. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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?

Names a specific verb pair (approve/reject) and the exact resource (one course application), and scopes it to an item from application_list. An agent can immediately distinguish this from enrollment_create and enrollment_revoke.

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 alternatives and the conditions that select them: enrollment_revoke for removing an existing enrollment, enrollment_create for someone who never applied. It also states the when-does-nothing cases (repeat decisions, rejecting an already-approved application).

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