Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_course_delete_quiz

DestructiveIdempotent

Delete a quiz from a GoHighLevel course by course ID and quiz ID, requiring a sub-account location token with courses.write scope. Use it to remove outdated or unwanted quizzes from a course.

Instructions

COURSES API — the {productId} path parameter is the course (product) id. Delete Quiz Delete a quiz. Requires a Location token with courses.write. Send Version: v3. Endpoint: DELETE /courses/products/{productId}/quizzes/{quizId} (Version header: v3; source: v3/courses-v3.json) Requires a Sub-Account (location) token. OAuth scopes: courses.write

Input Schema

NameRequiredDescriptionDefault
quizIdYesQuiz id
productIdYesProduct id
locationIdYesLocation id or sub-account id is required.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the mutating nature is covered. The description adds value beyond that by naming the required auth context (location token), the OAuth scope, and the mandatory v3 header, which are real invocation requirements. It stops short of saying what a successful delete returns or whether deletion cascades to quiz questions.

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

Conciseness3/5

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

The key facts (delete, hierarchy, auth) are front-loaded, but the auth scope is stated three separate ways ('courses.write' in prose, the sub-account token line, and the 'OAuth scopes' line), and the raw endpoint/source metadata duplicates what the name and schema already convey.

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 3-parameter destructive tool with no output schema, the description covers resource hierarchy, required token type, scope, and API version — everything needed to call it correctly. The only gaps are return behavior and cascade effects, which a delete tool arguably should mention.

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?

Schema coverage is 100%, so the baseline would be 3; the description earns a bump by explaining that productId is the course/product id, resolving the naming mismatch the schema leaves implicit. quizId and locationId receive nothing beyond their schema descriptions, so it does not fully compensate for the whole parameter set.

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 ('Delete a quiz') and immediately disambiguates the resource hierarchy by clarifying that the {productId} path parameter is the course (product) id. This lets an agent distinguish it from siblings such as ghl_course_delete, ghl_course_delete_lesson, and ghl_course_update_quiz without opening any schema.

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

Usage Guidelines3/5

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

It gives prerequisites (Sub-Account/location token, courses.write scope, Version: v3 header) which tell the agent whether it can call the tool at all. However, it never states when to use this versus a related deletion endpoint (course vs lesson vs quiz) or any conditions/caveats for choosing it.

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

Deploy Server

Other Tools