Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_course_delete_category

DestructiveIdempotent

Deletes a course category by product and category ID, requiring a location token with courses.write scope.

Instructions

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

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description isn't obliged to re-explain that. It adds value by disclosing auth requirements (courses.write scope, location token) and the raw endpoint/version header. It does not disclose downstream behavior such as whether deletion is permanent, what happens to lessons under the category, or error conditions.

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?

Content is front-loaded: API name, verb+resource, auth requirement, then technical endpoint metadata. Minor waste from repeating the token/scope requirement three times ('courses.write', 'Requires a Sub-Account (location) token', 'OAuth scopes: courses.write'), but overall restrained and easy to scan.

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?

With only three well-described parameters and annotations covering destructiveness and idempotency, the description supplies enough to invoke it correctly (endpoint, path param semantics, token/scope requirements). The absence of output schema is fine since delete returns nothing meaningful, though cascade/error behavior for the deleted category is unaddressed.

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 description coverage is 100%, so the baseline is 3, but the description genuinely adds meaning by clarifying that the {productId} path parameter is the course (product) id, which the schema only labels 'Product id'. It provides no extra hint for locationId/categoryId beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool states a specific verb and resource ('Delete a category') and adds scope by clarifying that '{productId}' is the course (product) id, which distinguishes this nested category deletion from the top-level course delete. It does not explicitly name the sibling it is not (e.g., ghl_course_delete), but the resource is unambiguous.

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?

The description lists prerequisites needed to call it ('Requires a Location token with courses.write', 'Requires a Sub-Account (location) token'), which is useful context. However, it never says when to prefer this over alternatives or when not to call it (e.g., alternatives for removing a category, or constraints on deleting non-empty categories), so usage is only implicitly derivable from the verb.

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