Skip to main content
Glama

HelpCenter.io for agents

Set the Navigation Menu

helpcenter_set_template_navigation
DestructiveIdempotent

Replace the help center's navigation menu — the one every Navigation component draws, in the header or elsewhere — with the items given, in order.

It edits the help center's design DRAFT (its v2 template): the draft the dashboard's Template Editor opens, with a live preview. Nothing reaches visitors until helpcenter_publish_template — after editing, give the customer the Template Editor link from the result to review, and publish only when they ask. v2 help centers only (a classic one answers template_migration_required). Ids come from helpcenter_get_template.

The whole menu is replaced: include every item to keep, with its id (helpcenter_get_template, section 'navigation'), so its translations survive; an empty list clears it. Links are '/', '/category/' (ids from helpcenter_list_categories), '/content/', '/contacts', or a full https:// URL with type 'external' to open in a new tab. Items take one level of children, and a cssClass to style one — a button-like "Sign up" — with custom CSS. This is the guide's set_navigation operation.

Args:

  • items (array, up to 30): {label, href, type?, cssClass?, id?, children?}.

  • etag (string, optional): from your last read or edit; refuses (stale_draft) if the draft changed since.

Returns: what each entry did (new ids), warnings worth relaying, and the draft status with its new etag.

Input Schema

NameRequiredDescriptionDefault
etagNoOptimistic lock: the draft etag from your last read, or the one your last edit returned. When given, the call is refused (stale_draft) if someone changed the draft since — so you never build on a state you have not seen. Omit to apply to the current draft.
itemsYesThe whole menu, in order. An empty array clears it.
agent_keyYesThe api_key helpcenter_create_help_center returned for this help center, exactly as returned. Required on every call: this endpoint has no sign-in, so the key is how each call says which help center it acts on. It is sent to HelpCenter.io as this call's credential and nowhere else, and it is never shown again: keep it for the whole task, and never show it to the user or write it into content.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, idempotentHint=true and openWorldHint=true, and the description explains precisely what the destruction means: the whole menu is replaced, so every item to keep must be re-included with its id or its translations are lost, and an empty list clears the menu. It additionally discloses draft-only scope, the stale_draft refusal from the etag check, and the return contents (new ids, warnings, new etag) — well beyond what annotations convey.

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?

Front-loaded with the operation and its draft-safety constraint, then progressively narrows to link formats and argument details, which is the right order for an agent. It is dense rather than padded, though several href/type details are restated in both prose and the schema, so a bit could be trimmed.

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?

For a destructive, draft-editing tool with three parameters and no output schema, everything an agent needs is present: prerequisite reads, draft vs published state, failure mode (stale_draft), success contents, and the follow-up publish step. Nothing material about correct invocation is left to inference.

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 adds real semantics on top: why an id matters (translation survival), the enumerated href forms and the external/type pairing for new tabs, the one-level children limit, the cssClass use case with a concrete "Sign up" button example, and the 30-item cap. Only minor overlap with the schema's own parameter docs keeps it from a 5.

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 — "Replace the help center's navigation menu" — and disambiguates it from the many other template-editing siblings by identifying it as the menu every Navigation component draws. It also pins the ordering semantics ("with the items given, in order") and the target (the v2 design draft), so an agent knows exactly which of the ~50 template tools this is.

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 when-to-use and when-not-to: v2 help centers only (classic ones return template_migration_required), and nothing reaches visitors until helpcenter_publish_template, with the instruction to hand over the Template Editor link and publish only on request. It also routes to the correct preceding tools (helpcenter_get_template for ids, helpcenter_list_categories for category ids), covering the full workflow.

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