Skip to main content
Glama

Final POS – Custom POS Builder

Install an extension org-wide

flow_install_extension
Destructive

Install an extension ORG-WIDE: creates the install link on EVERY company in your Final organization (demo companies included), skipping companies that already have it, so it is safe to retry. Installing is deliberate and org-visible — confirm with your user and call this ONLY when they explicitly asked for the extension. Find the id with list_extensions (organization and public extensions both install); after a successful install the extension's surfaces become embeddable — inspect them with list_extension_surfaces and build the ones carrying requirementsMd natively instead of embedding. Per-company failures are collected in the result rather than thrown, and installState reports the org-wide outcome (installed / partial / none).

Input Schema

NameRequiredDescriptionDefault
hubTokenNoOrganization JWT fallback, only if the hub rejects your API key for this route.
extensionIdYesThe extension's id (the `id` from a list_extensions result — org or public source).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations confirm readOnly=false and destructive=true, and the description adds substantial context beyond that: installs skip companies that already have the extension so the call is retry-safe, the action is deliberate and org-visible, per-company failures are collected rather than thrown, and installState returns installed/partial/none. This is exactly the idempotency and error-semantics detail annotations cannot express.

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?

Scope and destructive intent are front-loaded, and the closing sentence packs failure handling, outcome field, and its enum values efficiently. It is dense and oriented toward maximal information rather than tight brevity, but no sentence is 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?

With no output schema, the description carries the return-value burden itself and does so: it explains that per-company failures come back in the result and that installState summarizes the org-wide outcome. Prerequisite discovery, confirmation requirements, and post-install next steps are all covered.

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 coverage is 100% and the schema already documents extensionId's source ('the `id` from a list_extensions result — org or public source') and hubToken's fallback role, so the description's restatement adds little. Baseline 3 applies since the schema carries parameter meaning.

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 plus an explicit scope qualifier: 'Install an extension ORG-WIDE ... on EVERY company in your Final organization (demo companies included)'. This cleanly distinguishes it from the single-company sibling hub_install_extension and from read-side siblings like flow_list_extensions.

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 an explicit precondition ('call this ONLY when they explicitly asked for the extension' / 'confirm with your user'), a prerequisite step ('Find the id with list_extensions'), and follow-up routing ('inspect them with list_extension_surfaces'). An agent knows both when to call it and what to do next.

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.