Skip to main content
Glama

Server Details

AXL MCP lets AI assistants create and manage landing pages, courses, email campaigns, CRM records, and marketing workflows inside AXL. Built for growing expert businesses, it turns chat requests into real work across sales, marketing, and course delivery. An AXL account is required. Sign in securely with OAuth 2.1. Website: https://axl.tech/developers/mcp . Setup guide: https://docs.axl.tech/mcp .

Watch AXL in 77 seconds: pages, courses, CRM, and automation. Product overview: https://www.youtube.com/watch?v=jlhR9CafIww

Ownership verified
Status
Unhealthy
OAuth
Not checked
Last Tested
Transport
Streamable HTTP
URL

Available Tools

16 tools
capability_mapA
Read-only
Inspect

CALL THIS FIRST, before any other tool. Orientation map of the whole Admin API: the platform-wide conventions you cannot see from a schema, and six task areas — each listing what users ask for, the literal first calls that serve those requests, and the cross-module traps that would otherwise send you to the wrong module. Module names are namespace segments and several of them lie about their contents, so routing by name alone fails. Pass 'area' for that area's modules (purpose, gotcha, recipes) and its FULL trap list — the overview carries only the first two traps per area.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoOptional area id from the overview (sales, learning, sites, communications, automation, platform). Omit for the overview.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already mark it read-only, and the description adds meaningful behavioral detail: the overview contains only the first two traps per area, while passing an area returns full trap lists and module recipes. This clarifies an important limitation an agent could not infer from the schema alone.

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?

The description is dense but every sentence earns its place: the imperative call-first rule, the tool's purpose, the module-name warning, and parameter behavior. It is front-loaded and structured, though slightly long-winded in the middle.

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 an orientation tool with one optional parameter, no output schema, and a read-only annotation, the description covers what an agent needs: when to call it, what it contains, why it is necessary, and how to use 'area' to get deeper details. Nothing critical is missing for correct invocation.

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% and the schema already documents the 'area' parameter and its allowed values. The description adds extra meaning by explaining that omitting it yields the overview and that passing it returns that area's modules, gotchas, recipes, and full trap list, going beyond the schema's basic wording.

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 is explicit: this is an orientation map of the whole Admin API, with platform-wide conventions, six task areas, and first-call recommendations. It clearly distinguishes itself from the sibling operation tools by saying it must be called first and that module names alone are misleading.

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 gives an explicit ordering instruction: 'CALL THIS FIRST, before any other tool.' It also tells the agent when to pass 'area' versus omit it, and warns that routing by module name fails, which is direct guidance for choosing this tool over searching or invoking operations directly.

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

check_scenario_node_payloadA
Read-only
Inspect

Dry-run a scenario node 'payload' against its config class BEFORE writing it: reports unknown/misspelled properties and type mismatches, and returns the normalized JSON. Read-only — nothing is created or changed. Worth calling for any node type whose get_scenario_node_schema card says validation=NONE, because there the server accepts a broken payload silently and the node only misbehaves once a contact reaches it.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesThe payload JSON you intend to send, as a string.
actionTypeYesNode type (C# class name), e.g. 'SendEmailScenarioAction'.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds meaningful behavioral detail: nothing is created or changed, it reports unknown/misspelled properties and type mismatches, it returns normalized JSON, and it warns that the server silently accepts broken payloads when validation=NONE. This gives the agent a realistic model of the tool's behavior without contradicting any annotation.

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?

Three sentences with no fluff: the first sentence states the action and results, the second states safety, and the third gives concrete usage guidance. The most important information is front-loaded.

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 low-complexity tool with two simple parameters, present annotations, and no output schema, the description covers purpose, behavior, return value, and usage context. An agent has enough to decide whether and how to invoke it correctly.

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?

The schema already describes both parameters clearly and completely (payload string and actionType string), so the baseline is 3. The description ties the parameters to the tool's purpose, calling payload 'the payload JSON you intend to send' and actionType 'Node type (C# class name)', but does not add substantially beyond the schema's descriptions.

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 uses a specific verb, 'Dry-run', and clearly identifies the resource: a scenario node payload checked against its config class before writing. It also distinguishes itself from siblings by stating exactly what it reports and what it returns, so an agent can tell it apart from schema and operation tools.

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

Usage Guidelines4/5

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

The description gives explicit guidance on when to call the tool: before writing a payload, especially for nodes whose get_scenario_node_schema card says validation=NONE. It explains the consequence of not calling it in that situation, though it does not explicitly state when not to use it or name an alternative tool for validation.

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

generate_imageAInspect

Generate a BRAND-NEW image via Gemini; stores it and returns image_url (+ markdown preview). Billed — REQUIRES confirmSpend=true after a REAL human yes in a SEPARATE message. STANDALONE: omit sitePageId → account-root AI folder; after success SHOW the image. PAGE/SITE: forPage=true AND sitePageId= → Sites/{site}/{page}/AI; propose prompt+quality+charge first, then place the URL on the page. quality: standard/high/premium. On aiSpendExhausted: warn + Billing — do not retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoStyle hint: realistic, cartoon, minimal, abstract
promptYesDetailed description of the image (role, subject, style, aspect ratio).
forPageNotrue when this image is for a site/page you are building.
qualityNoQuality tier: standard (default), high, or premium.
sitePageIdNoSite page id. Required when forPage=true — files under Sites/{site}/{page}/AI. Omit for account-root AI.
confirmSpendNoMust be true only after the human explicitly accepted THIS generation (prompt/quality + AI charge) in a SEPARATE message.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are minimal generic hints (readOnly=false, openWorld=true, idempotent=false, destuctive=false). The desciption adds the load-bearing behavioral facts: the operation is Billed, requires confirmSpend=true only after a REAL human yes in a SEPARATE message, stores the result, and must not be retried on spending exhaustion. No contradiction with the annotations.

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-loaded purose, then the billing gate, then the two mode branches, then failure handling and quality. Scannable typography (caps, arrows, em-dashes) keeps dense information parseable. Every clause carries operational weight and none of it repeats what the input schema already states.

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?

With no output schema, the desciption discloses the return (image_url + markdown preview). For a billed 6-parameter mutation it also covers storage location, the human-approval sequence, post-success actions (SHOW / place URL on page), and the spending-exhaustion path. Nothing needed to call it correctly is missing.

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 baseline is 3. The desciption adds meaning above the schema by explaining interdependencies: the forPage/sitePageId pair resolves the storage path, confirmSpend has an ordering requirement (separate-message human approval of prompt+quality+charge), and quality tiers are restated. Genuine added value, though not every param (e.g., style) is elaborated.

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?

Opens with a specific verb+resource+output: 'Generate a BRAND-NEW image via Gemini; stores it and returns image_url (+ markdown preview).' It names the engine, the side effect, and the return shape, and the 'BRAND-NEW' phrasing explicitly contrasts with the sibling regenerate_image so an agent can distinguish them without opening either schema.

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?

Carves out the two usage modes explicitly: STANDALONE (omit sitePageId → account-root AI folder; SHOW the image after success) and PAGE/SITE (forPage=true AND sitePageId=<page id> → Sites/{site}/{page}/AI; propose prompt+quality+charge first). It also gives a when-not: 'On aiSpendExhausted: warn + Billing — do not retry.' The only implicit branch is regenerate_image for existing images, but 'BRAND-NEW' already signals that boundary.

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

get_extended_filter_schemaA
Read-only
Inspect

Format of extended filters ('extendedFilter' property of list filters): envelope, condition enum and filter types. Without arguments returns the full type catalog; 'search' filters it; 'filterType' returns the payload JSON schema of one type.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoOptional search over type names/descriptions, e.g. 'payment'.
filterTypeNoOptional exact type name to get its payload schema, e.g. 'HasTag'.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark it read-only; the description adds meaningful behavioral detail: the output changes based on arguments, the no-argument case returns a full catalog, and 'filterType' returns a JSON schema. This goes beyond what annotations alone convey.

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?

A single dense sentence that front-loads the core purpose and then lists the three usage modes without wasted words. Every clause earns its place.

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 read-only schema-introspection tool with no output schema, the description fully covers what an agent needs: what the tool returns, how to request each variant, and how parameters affect the response. Minor details like error handling for unknown filterType are not essential given the tool's simplicity.

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% with clear parameter descriptions and examples. The description adds value by explaining how each parameter transforms the result (catalog vs. filtered list vs. single-type schema), which the schema alone does not fully convey.

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 states a specific resource ('extendedFilter' property of list filters) and the tool's job: returning a type catalog, filtered catalog, or per-type payload schema. It clearly distinguishes this introspection tool from unrelated sibling tools like image generation and operation listing.

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

Usage Guidelines4/5

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

The description explicitly explains the three invocation modes: no arguments for the full catalog, 'search' for filtering, and 'filterType' for a single type's payload schema. It does not name alternatives, but no sibling tool offers this functionality, so the usage context is sufficiently clear.

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

get_fields_schemaA
Read-only
Inspect

Exact set of fields supported by the operation's 'fields' selector (GraphQL-like syntax: '{id, firstName, tags{id, text}}'), respecting the current admin's rights. Returns the root entity's scalar fields in full; nested entities are stubs marked expandable=true — expand one by re-calling with 'path'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoOptional dot-path to expand a nested node, e.g. 'orders.product'.
operationIdYesOperation id from list_operations/search_operations.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, but the description goes well beyond that: it discloses that the result respects the current admin's rights, root entities return full scalar fields, nested entities are stubs with expandable=true, and expansion requires re-calling with 'path'.

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?

Two sentences deliver the core purpose, syntax example, permission sensitivity, return behavior, and expansion workflow. Every sentence carries necessary information, and the key concept is front-loaded.

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 two-parameter introspection tool with read-only annotations and no output schema, the description adequately covers what the tool returns, how nested expansion works, and how it respects permissions. No critical behavioral gap remains.

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 both parameters are already documented. The description adds meaningful context, particularly explaining how 'path' relates to re-calling for nested expansion and reinforcing the syntax style. This goes slightly beyond the schema's literal property descriptions.

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 names a specific resource ('the operation's 'fields' selector') and states the exact behavior: returning the supported field set with GraphQL-like syntax. It is clearly distinguishable from sibling tools like get_operation_schema or get_extended_filter_schema because it focuses exclusively on the 'fields' selector and its expansion mechanics.

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 implies when this tool is relevant—when a caller needs the exact fields for an operation's selector and wants to expand nested entities—but it never explicitly names alternatives or states when not to use this tool. The contrast with siblings is not articulated, so the agent must infer routing from the narrow wording.

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

get_operation_schemaA
Read-only
Inspect

Full schema of one operation: parameters, request body (schema + example) and responses, plus 'hints' and any matching 'recipes'. Nested schemas are inlined up to depth 4; deeper objects are marked truncated. Large schemas are trimmed to fit — use section='request'/'response' to fetch one part in full.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich part to return: 'request' (params + body), 'response' (responses), 'guide' (the full site-page HTML-editing guide + ackToken, gated operations only) or 'all' (default).all
operationIdYesOperation id from list_operations/search_operations, e.g. 'crm.Lead.GetItems.post'.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses concrete truncation and inlining behavior: nested schemas are inlined up to depth 4, deeper objects are marked truncated, and large schemas are trimmed. This is exactly the kind of non-obvious behavior an agent needs before relying on returned data.

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?

Two sentences front-load the primary purpose and follow with essential caveats. Every clause adds information; there is no filler or repetition of the schema.

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 read-only introspection tool with no output schema, the description covers what the agent receives, how deep nested schemas go, and how to retrieve trimmed content in full. Combined with the annotated parameters, nothing critical is missing for correct invocation.

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 the schema already documents operationId and section thoroughly. The description only restates the request/response section usage without adding new parameter-level semantics, so baseline 3 is appropriate.

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?

Description names the resource ('Full schema of one operation') and enumerates exact content: parameters, request body with schema and example, responses, hints, and recipes. This clearly distinguishes it from sibling schema tools like get_fields_schema by anchoring to an operationId.

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

Usage Guidelines4/5

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

The description gives conditional usage guidance: when schemas are trimmed, use section='request'/'response' to get a complete part, and the input schema ties operationId to list_operations/search_operations. It does not explicitly name alternative tools or exclusions, but the intended context is clear.

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

get_quiz_item_schemaA
Read-only
Inspect

Quiz/form item types and the shape of their 'SettingsJson' — a STRINGIFIED JSON object whose keys depend entirely on the item's 'Type', which the OpenAPI schema cannot show (it types the property as an opaque string). CALL THIS BEFORE creating or updating ANY form item: the server stores SettingsJson verbatim, never fills a default and never validates a key, so a guessed blob is saved with HTTP 200 and only breaks in the respondent's browser — and it must never be null or empty, not even for a separator. Without arguments returns the shared base settings, the conventions and the traps; 'category'/'search' list types; 'itemType' returns one type's full settings card with a ready-to-send example and the system contact attributes it may be bound to.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoOptional search over type names and purposes, e.g. 'choose one' or 'image'.
categoryNoOptional category filter: input, selection, scale, upload, data, layout, media, social.
itemTypeNoOptional exact item type, e.g. 'monoSelect' or 'separator'.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false; the description carries the real behavioral burden and does so thoroughly. It discloses the server's verbatim storage, absence of defaults/validation, the HTTP-200-with-broken-browser failure mode, and the never-null/empty constraint even for separators. It also reveals what each call mode returns, including the ready-to-send example and system contact attribute bindings for itemType.

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?

The description is a single dense paragraph of roughly 130 words, which is justified given the subtle failure modes it must convey. It is front-loaded with the core purpose and every clause earns its place (storage trap, null/empty rule, invocation modes). Slight penalty for the wall-of-text structure; short section breaks or bullet-like phrasing would improve scannability.

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?

There is no output schema, so the description carries full responsibility for explaining return values — and it does, covering the shared base settings/conventions/traps, the type-listing modes, and the full settings card with example and bindings. It also covers the critical failure behavior and constraints. For a read-only introspection tool with this complexity, nothing essential is missing.

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% (search, category, itemType all have descriptions), so the baseline is 3. The description adds value on top by explaining what each parameter mode returns: category/search list types, while itemType returns a full settings card with example and contact-attribute bindings. This semantic mapping is not present in the schema descriptions.

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 identifies a specific resource (quiz/form item types and their SettingsJson shape) and a distinct purpose: retrieving the schema needed before creating or updating form items. The directive 'CALL THIS BEFORE creating or updating ANY form item' anchors the tool's role clearly, and its focus on the opaque SettingsJson string distinguishes it from the sibling schema tools like get_fields_schema and get_operation_schema.

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

Usage Guidelines4/5

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

Provides an explicit when-to-use directive with a concrete rationale: the server stores SettingsJson verbatim, never validates keys, and accepts bad blobs with HTTP 200, so this tool must be called before any form-item write. It also documents the three invocation modes (no args, category/search, itemType). It does not name sibling alternatives or give exclusions, but the context and prerequisite nature are unambiguous.

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

get_scenario_node_schemaA
Read-only
Inspect

Scenario node types and the JSON schema of their polymorphic 'payload' config — the shape the OpenAPI schema cannot show (it types 'payload' as an opaque string). CALL THIS BEFORE creating or configuring ANY scenario node: the server fills a default payload only for events and listeners (every ACTION comes back null) and type-checks only 13 of 137 node types, so a guessed payload is stored with HTTP 200 and breaks at run time. Without arguments returns the graph model and workflow; 'kind'/'search'/'outputs' list node types (outputs='fail' answers "which steps can I attach error handling to?"); 'actionType' returns one node's payload schema, default payload and — critically — which link types it routes to; 'scenarioId' returns the trigger events THAT scenario accepts.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOptional kind filter: 'action', 'event' or 'listener'.
searchNoOptional search over node type names, titles and categories, e.g. 'send email' or 'tag'.
outputsNoOptional link-type filter: 'fail' lists every node an error branch can actually hang off (most actions have none), 'success' the branching ones, 'default' the linear ones.
actionTypeNoOptional exact node type (the C# class name), e.g. 'DelayScenarioAction'.
scenarioIdNoOptional scenario id — returns the events that scenario accepts as triggers.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important runtime behaviors: actions come back with null default payloads, only 13 of 137 node types are type-checked, guessed payloads are stored with HTTP 200 and fail later, and each argument mode changes what is returned. It also clarifies the critical link-type routing detail for actionType. No contradiction with annotations.

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?

The description is dense but every sentence earns its place: purpose, critical usage warning with rationale, and per-parameter behavior are all covered in a tight structure. The most important call-before guidance is front-loaded ahead of optional parameter details.

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 that no output schema is present, the description supplies the needed return behavior for the main invocation modes: no arguments returns the graph model and workflow; outputs='fail' identifies error-handling targets; actionType returns payload schema, default payload, and link types; scenarioId returns accepted trigger events. It also explains the key risk that motivates the tool. No critical gap remains.

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?

The input schema already provides 100% description coverage, so the baseline is 3. The description adds meaningful semantics beyond the schema: outputs='fail' maps to attachable error-handling steps, actionType returns the payload schema plus default payload plus routed link types, and scenarioId returns accepted trigger events for that scenario.

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 explicitly names the resource: scenario node types and the JSON schema of their polymorphic payload configuration. It immediately distinguishes this from sibling schema tools by focusing on scenario nodes and explains why the OpenAPI schema cannot cover the payload shape. The imperative 'CALL THIS BEFORE creating or configuring ANY scenario node' makes the purpose immediately actionable.

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

Usage Guidelines4/5

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

There is a clear, explicit when-to-use instruction: call before creating or configuring any scenario node, with concrete reasons involving default payloads, type-check coverage, and silent HTTP 200 failures. The description does not explicitly compare against sibling tools such as check_scenario_node_payload, so alternative selection is left partly implicit.

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

import_image_from_urlAInspect

Import an EXTERNAL http(s) image into account storage (no Gemini charge). Returns image_url (+ preview). Optional sitePageId → Sites/{site}/{page}/AI; omit → account-root AI. SSRF-guarded.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of an EXTERNAL image to import.
nameNoOptional display name for the file manager.
sitePageIdNoOptional site page id — when set, store under Sites/{site}/{page}/AI.

TDQS

A4.4/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond annotations: it is SSRF-guarded, incurs no Gemini charge, stores at account-root or sitePage-specific path, and returns image_url plus preview. These details help an agent anticipate side effects and constraints without contradicting any annotation.

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?

The description is three concise sentences with no wasted words, front-loding the core action and key differentiator (external, no Gemini charge) before optional routing details.

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 simple 3-parameter tool with a full schema and no output schema, the description covers purpose, return value, storage behavior, security guard, and cost implication. It could name sibling alternatives explicitly for fully complete routing, but nothing essential is missing.

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 the schema already documents all three parameters accurately. The description adds a useful routing explanation for sitePageId but does not need to expand the url or name parameters further.

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 uses a specific verb and resource: imports an external http(s) image into account storage, and distinguishes itself from sibling generation tools via 'EXTERNAL' and 'no Gemini charge'. It also states the return value, image_url + preview, and the optional storage routing.

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

Usage Guidelines4/5

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

The description clearly defines when to use this tool: to import an external image rather than generate or regenerate one. It provides context about account storage and the no-Gemini-charge benefit, but it does not explicitly name alternative tools or state when not to use it.

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

invoke_operationA
Destructive
Inspect

Execute an Admin API operation through the standard HTTP pipeline (caller's token, account context and permissions apply). Success returns {success: true, body: ...}; an API error returns {success: false, errors: [{code, type, message, hint?}]} (statusCode added only when not 200); a guard refusal returns {error, details?}.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body — a JSON object ({"page":1}) or that same JSON as a string. Both work.
confirmNoSet true ONLY to confirm an intentional un-scoped bulk delete (empty/omitted filter, hits EVERY record). This must reflect a REAL reply from the human — ask them directly what it affects, wait for their next message, and never infer it from their original request or set it in the same turn where you explain the risk. Leave false normally; a refusal explains what to ask.
guideAckNoAcknowledgement token from an HTML-editing guide (get_operation_schema section="guide", or the refusal). REQUIRED when writing a site page's BodyHtml/HeadHtml, a site header/footer's BodyHtml (fragment only — no HeadHtml), OR a course step's theory designHTMLPublished/designStylePublished/customTheoryHtml — confirms you read and applied that operation's guide; otherwise the write is refused.
pathParamsNoRoute parameters, scalars only — a JSON object ({"id":"a1b2"}) or that same JSON as a string.
operationIdNoREQUIRED. Operation id to execute, e.g. 'crm.Lead.GetItems.get'. Get one from capability_map -> list_recipes(search="<intent>") -> search_operations(query). A recipe INTENT is not an operation id — open the recipe and use its operationId.
queryParamsNoQuery parameters — a JSON object or that same JSON as a string; array values are sent as repeated keys.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only provide destructiveHint: true and readOnlyHint: false. The description adds valuable behavioral detail: caller's token/account context/permissions apply, success returns {success: true, body: ...}, API errors return a structured errors array, and guard refusals return {error, details?}. This goes well beyond the annotations without contradicting them.

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?

The description is a single dense, well-structured sentence that front-loads the core purpose and then compactly specifies the three possible return shapes. Every clause earns its place; there is no filler or repetition of schema content.

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?

There is no output schema, so the description correctly carries the return-contract information. It covers success, API errors, guard refusals, statusCode nuance, caller context, and the destructive/confirmation flow via the confirm parameter. Together with the schema, an agent has enough to call this tool correctly in most scenarios.

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%, and each parameter has a meaningful description already (e.g., confirm's safety rules, guideAck's requirements, operationId's look-up workflow). The main description does not add parameter-level semantics beyond the schema, so the baseline 3 applies.

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 description states a clear action ('Execute') and a clear resource ('an Admin API operation'), and adds that it goes through the standard HTTP pipeline with the caller's token and permissions. It is not as specific as sibling tools like 'get_operation_schema' or 'list_operations', but it accurately identifies itself as the generic execution entry point. It earns a 4 rather than a 5 because it does not explicitly contrast itself with the listed sibling tools.

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

Usage Guidelines4/5

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

The description gives solid context: this is the tool for running Admin API operations, and the operationId parameter description reinforces the workflow by pointing to capability_map -> list_recipes -> search_operations and warning that a recipe intent is not an operation id. It does not explicitly state when to avoid this tool or name alternatives, so it stops short of a 5.

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

list_modulesA
Read-only
Inspect

Flat index of every Admin API module: operation count, the area it belongs to, what it owns and its known trap. This is a drill-down, NOT the entry point — call capability_map first to route a request to an area, then use this to see every module or list_operations(module) for one module's operations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds meaningful behavioral context beyond that: the tool returns a flat index, includes metadata like area and ownership, and surfaces a 'known trap' per module. It also clarifies its role in the navigation flow. Slight deduction for not describing the exact response shape, since there is no output schema.

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?

Two sentences carry substantial information: what the tool returns, its role, and the routing rule. The core purpose is front-loaded, and every clause earns its place. No filler or repetition of the name.

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?

With zero parameters and a readOnly annotation, the only open question is what results look like; the description answers that by listing the elements of the index and by linking the tool into the larger workflow (capability_map first, list_operations for a single module). An agent can invoke and interpret this correctly without additional information.

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?

The tool has zero parameters, so schema-only semantics are irrelevant. The description correctly focuses on what the tool returns rather than inputs, which is the right burden given the empty schema. A 4 matches the baseline for parameterless tools.

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 opens with a specific verb and resource: 'Flat index of every Admin API module,' and enumerates exactly what it provides (operation count, area, ownership, known trap). It also explicitly contrasts itself with sibling tools (capability_map, list_operations), making it unmistakable what this tool is for.

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?

The description gives direct routing guidance: it is a drill-down, NOT the entry point, and tells the agent to call capability_map first. It also names the alternative for per-module operation listing (list_operations(module)), so when-to-use vs. when-not-to-use is fully explicit.

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

list_operationsA
Read-only
Inspect

List operations of one API module: operationId, HTTP method, path, summary. Paginated by 100. Optional 'search' filters within the module (every word must match operationId, path or summary). Module names come from capability_map (which also says what each module owns and where its traps are).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number.
moduleYesModule name from capability_map or list_modules, e.g. 'crm'.
searchNoOptional search query to filter operations within the module.

TDQS

A4.7/5.0
Behavior5/5

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

Adds concrete behavior beyond the readOnlyHint annotation: page size of 100 and the strict search matching rule (every word must match operationId, path, or summary). Also points the agent to capability_map for module ownership and trap locations, which is actionable context.

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?

Three dense sentences with no filler; the core output fields and pagiation are front-loaded, followed by filtering behavior and module-name provenance. Every sentence contributes new information.

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 read-only list tool with 100% schema coverage, the description supplies output shape, pagiation behavior, search semantics, and module-name source. No critical invocation information is missing, and there is no output schema that would otherwise document return values.

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 baseline is 3; the description adds value by defining search word-matching semantics and clarifying that module names come from capability_map/list_modules. This meaningfully disambiguates 'search' beyond the schema's generic phrasing.

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?

Clearly states it lists operations of one API module and enumerates the returned fields (operationId, HTTP method, path, summary). The 'one API module' scoping distinguishes it from sibling search_operations without needing to open the schema.

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

Usage Guidelines4/5

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

Provides clear context: use on a single module, paginated by 100, optional in-module search. It names capability_map as the source of valid module names and notes what each module owns and where its traps are. It does not explicitly say when to prefer search_operations over this tool, but the module-scoped wording implies it.

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

list_recipesA
Read-only
Inspect

Ready-made, VERIFIED recipes: intent -> operationId + a correct example body + notes on non-obvious conventions the schema can't show (e.g. 'a new tag is created only when id == text', or 'this endpoint adds, the *.Update endpoint replaces'). capability_map names the recipe for a task as 'recipe:' — fetch it here with search= before building that call by hand. Search is AND over every word, so ask for ONE intent per call ('upload_file', then 'create_landing_site') — bundling several returns nothing. With 'search' the closest few come back in FULL (an exact intent match always among them) and any further matches as stubs — intent + operationId, usually all you need; without 'search', lightweight stubs of every recipe. A recipe that CREATES something also carries 'deadUnless': the surface a real client meets that artifact on and the connection that makes it work. Treat it as part of the job — most things here are invisible until something a visitor actually opens carries them, and the same text comes back on the invoke_operation result that creates one.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoOptional search over recipe intent/title/notes. ONE intent per call, e.g. 'tag contact' or 'upload_file' — every word must match, so multi-intent queries return zero. Empty returns all.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses rich behavior: AND-over-words search, full recipes for close matches with an exact-intent guarantee, stubs for other matches, the deadUnless field on creating recipes, and the note that the same text appears on invoke_operation results. This is substantial value added over the annotations and schema.

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?

The description is dense but front-loaded with the core purpose and the most critical search contract. Later sentences add distinct behavioral facts about output format and deadUnless. The single long paragraph with several parenthetical asides makes it slightly heavier to parse than ideal, but every sentence earns its place.

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 there is no output schema, the description fully covers what an agent needs: input semantics, search behavior, result shape, exact-match guarantee, and the meaning of deadUnless. It also ties the tool into the larger workflow by referencing capability_map and invoke_operation, so the agent can use it correctly without external documentation.

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 only parameter, search, is thoroughly explained: it is optional, one intent per call, every word must match, empty returns all, and the presence or absence of search changes the result shape between full recipes and stubs. This goes well beyond the schema's 'search over recipe intent/title/notes' description.

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 opens with 'Ready-made, VERIFIED recipes: intent -> operationId + a correct example body + notes...', naming the exact verb, resource, and output. It also distinguishes itself from capability_map by explaining that capability_map merely names 'recipe:<intent>' and that the actual recipe is fetched here.

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

Usage Guidelines4/5

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

It gives explicit when-to-use guidance: 'fetch it here with search=<intent> before building that call by hand.' It also provides a firm constraint: ONE intent per call because search is AND-over-words, preventing a common misuse. It does not explicitly enumerate alternatives to prefer in other cases, but the context is clear.

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

regenerate_imageAInspect

Edit/restyle an existing image; stores a NEW file and returns image_url (+ markdown preview). Does NOT patch site HTML. Billed — REQUIRES confirmSpend=true. PAGE/SITE: forPage=true + sitePageId; propose edit+quality+charge first. STANDALONE: show the new image.

ParametersJSON Schema
NameRequiredDescriptionDefault
forPageNotrue when this edit is for a site/page you are building.
qualityNoQuality tier: standard (default), high, or premium.
sitePageIdNoSite page id. Required when forPage=true.
confirmSpendNoMust be true only after the human explicitly accepted THIS edit in a SEPARATE message.
edit_instructionYesWhat to change; keep the rest of the image.
source_image_urlYesCurrent absolute URL of the image to edit.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false and say nothing about cost. The description discloses the two most critical behavioral traits: this is a BILLED operation that REQUIRES confirmSpend=true, and it stores a NEW file — which explains why destructiveHint=false despite the mutation. It also promises a concrete return (image_url + markdown preview) and rules out a side effect (no HTML patching). No contradiction with annotations.

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?

Four telegraphic sentences, each carrying a distinct fact: core behavior, return value, billing gate, and the two usage modes. The core edit/restyle behavior is front-loaded before caveats. The PAGE/SITE vs STANDALONE shorthand is dense but efficient — no sentence is redundant or filler.

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 billed, high-stakes mutation tool with no output schema, the description covers everything an agent needs to invoke it correctly: what it does, what it returns, the billing gate, the two invocation contexts, and what it deliberately does not do. The schema's confirmSpend human-approval requirement complements the workflow guidance. Missing error/rejection behavior is a minor omission against this level of coverage.

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 covers 100% of parameters with individual descriptions, so the baseline is 3. The description adds value by encoding workflow semantics: it binds forPage + sitePageId together for site edits, elevates confirmSpend to a hard gate ('REQUIRES confirmSpend=true'), and orders the flow as propose edit+quality+charge first. Minor gap: 'charge' is referenced but is not a named parameter, leaving the term slightly undefined.

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 precise verb+resource pair ('Edit/restyle an existing image') and immediately differentiates from siblings: it stores a NEW file (vs generate_image creating from scratch), returns image_url + markdown preview, and explicitly says it does NOT patch site HTML. An agent can distinguish this from generate_image and import_image_from_url without opening schemas.

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

Usage Guidelines4/5

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

Provides clear invocation context for the two modes — PAGE/SITE (forPage=true + sitePageId, propose edit+quality+charge first) versus STANDALONE (show the new image) — plus the required workflow ordering (propose before confirmSpend). However, it never names a sibling like generate_image as the alternative for creating new images, so when-not-to-use is implied rather than explicit.

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

search_docsA
Read-only
Inspect

The AXL product documentation (docs.axl.tech, the knowledge base an admin reads) — searchable, and readable in full. Use it for PRODUCT questions the API surface cannot answer: what a feature is, which flow it belongs to, what the business rules are, what the UI calls the thing the user just asked about, whether the platform can do X at all. It does NOT document the API — for operations, bodies and field semantics use capability_map / list_recipes / get_operation_schema. TWO STEPS: (1) search_docs(query="…") returns a ranked shortlist — title, UI section, the article's own summary, a matched snippet — and NOT the articles; (2) pick what looks relevant and call search_docs(slugs="slug-a,slug-b") to read those in full. Call with no arguments for the section outline, or section="CRM" to list one section. Articles are English-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax search hits (default 8, max 25).
queryNoNatural-language question or keywords, e.g. 'why did my mailing not reach a contact' or 'subscription auto renewal'. Returns a shortlist, never article bodies.
slugsNoComma-separated article slugs to return IN FULL (from a previous search's 'slug', from a recipe's docs[].slug, or from a docs.axl.tech URL). Max 3 per call.
sectionNoOptional sidebar-section filter, e.g. 'CRM', 'Sales', 'Mail and mailings', 'CRM / Contact card'. With no query it lists that section's articles.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false, which is minimal. The description carries the burden and does a strong job: it discloses the two-phase behavior (search returns shortlist only, never bodies; reading requires a second call with slugs), the max-3-slugs constraint, the English-only limitation, and that results include title, UI section, summary, and matched snippet. This is exactly the kind of behavioral context annotations cannot 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?

The description is dense but high-value. Almost every sentence adds a distinct piece of information: scope, exclusions, two-step workflow, section listing, English-only. The 'TWO STEPS' block is clearly structured and front-loaded. It is somewhat long, but for a tool with four parameters and a non-obvious two-phase behavior, the length is justified.

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 read-only search tool with zero required parameters, a 100% schema-described parameter set, and no output schema, the description provides everything an agent needs to decide whether to call it and how to call it correctly. It even includes the exclusion guidance needed to pick among 14 siblings. The English-only caveat is a nice completeness touch.

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. The description adds meaningful value beyond the schema: it clarifies the semantic difference between query (shortlist only) and slugs (full articles), explains where slugs can come from (previous search, recipe docs[].slug, docs URL), and describes the section parameter's behavior when combined with no query. It misses only a small detail like the exact section names available, which the schema already gives examples of.

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 states a specific verb+resource (search the AXL product documentation) and explicitly scopes what it covers (product questions, business rules, UI terminology) versus what it does NOT cover (the API). It also differentiates itself from siblings like capability_map, list_recipes, get_operation_schema, and search_operations by naming them as the correct tools for API-level questions.

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?

The description provides explicit when-to-use guidance ('Use it for PRODUCT questions the API surface cannot answer') and explicit when-not-to-use guidance ('It does NOT document the API — for operations, bodies and field semantics use capability_map / list_recipes / get_operation_schema'). It also gives a concrete two-step invocation pattern and a no-argument/section-listing alternative.

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

search_operationsA
Read-only
Inspect

Search operations across all API modules. Every word of the query must match the operationId, path, module, summary or a request-body property name (order-insensitive). Results are ranked by relevance; zero results include which words didn't match. It matches API vocabulary, not business vocabulary — if the request is phrased the way a user would phrase it, capability_map routes it faster; come here when no area fits or you already know the API's word for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results.
queryYesSearch query, e.g. 'lead list'.

TDQS

A4.8/5.0
Behavior5/5

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

Adds meaningful behavior beyond the readOnly/openWorld annotations: every word must match, order is irrelevant, results are relevance-ranked, and zero-result responses disclose which words didn't match. No contradictions with annotations.

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?

Four sentences, dense and front-loaded: scope first, then matching rules, then behavioral outcomes, then usage guidance. There is no padding or repetition; each sentence adds information the agent cannot infer from the schema alone.

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?

Given no output schema, it would be slightly stronger to explicitly state that results are operation definitions/metadata. However, 'Search operations' plus the matched fields and ranking/zero-result behavior make the return shape sufficiently inferrable. This is a minor gap, not a functional one.

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?

The schema already documents both parameters at 100% coverage. The description nonetheless adds real value for 'query' by defining exactly what kinds of fields must match and the all-words constraint. 'limit' receives no extra detail, but that is acceptable because its schema description is already complete.

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: 'Search operations across all API modules.' It then enumerates the exact fields matched (operationId, path, module, summary, request-body property name), which distinguishes it from generic search tools and siblings like search_docs.

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?

Explicitly tells the agent when to use it: when no area fits or when the API's own vocabulary is already known. It also names the alternative, capability_map, and explains why user-phrased requests should go there instead. This is unusually clear routing guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updates
    • First observedcapability_map
    • First observedcheck_scenario_node_payload
    • First observedgenerate_image
    • First observedget_extended_filter_schema
    • First observedget_fields_schema
    • First observedget_operation_schema
    • First observedget_quiz_item_schema
    • First observedget_scenario_node_schema
    • First observedimport_image_from_url
    • First observedinvoke_operation
    • First observedlist_modules
    • First observedlist_operations
    • First observedlist_recipes
    • First observedregenerate_image
    • First observedsearch_docs
    • First observedsearch_operations

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with 220+ tools for building websites, sending email, managing contacts, invoicing, databases, automation, and more through a single secure connection. Features hardware-bound authentication and works with Claude Desktop, Claude Code, Cursor, and other MCP-compatible clients.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with GoHighLevel CRM through MCP tools, with support for OAuth 2.1 remote deployment and agency multi-sub-account mode.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server and Claude skills for AI agents to build landing pages, run A/B experiments, and track first-party conversions. Lets agents onboard clients, create and publish pages, manage variants, and pull performance reports via the UXON API.
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Hosted MCP server that gives AI agents read and write access to your full marketing & ecommerce stack — Google Analytics, Search Console, Google & Meta Ads, Shopify, WooCommerce, Shopware, Slack and LinkedIn. 100+ tools across 10 connectors. BYOK, OAuth 2.1.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Every tool has a clearly scoped target: discovery, schema introspection, validation, execution, docs, and image services are all distinct. Closely related tools like list_modules/list_operations/search_operations and get_scenario_node_schema/check_scenario_node_payload are explicitly differentiated by their descriptions.

Naming Consistency4/5

Almost all tools follow a predictable verb_noun snake_case pattern such as get_*, list_*, search_*, generate_*, and import_*. The lone noun-style capability_map and the unique check_ verb are minor deviations rather than a broken convention.

Tool Count4/5

16 tools is slightly above the ideal 3–15 range, but the count is justified by the broad Admin API surface covering discovery, schemas, validation, execution, recipes, docs, and images. It is dense but not bloated.

Completeness5/5

The set covers the full discovery–schema–recipe–execute lifecycle, plus validation for opaque polymorphic types and product documentation lookup. invoke_operation delegates to the entire Admin API, so there are no dead ends; any arguable gaps are reachable through that operation.

Resources