Skip to main content
Glama
This connector has been deprecated

This connector has been replaced by https://glama.ai/mcp/connectors/io.phas/phasio

publishEquation

Destructive

SENSITIVE — changes live storefront prices immediately. Makes a saved, validated draft typescriptEquation the LIVE pricing equation of its process, post-processing, or the order level; the previously live equation stops pricing at once, and every customer quote from now on uses the new one. Do this ONLY when the manufacturer explicitly asked to make this specific equation live, after generateQuote(equationId) on several real parts compared against the live price, and after telling them what will change. Never publish to 'try it out': generateQuote(equationId) tests a draft without publishing. Requires confirm=true and the id of the equation you are replacing (or NONE). Before this, a new draft prices nothing (lint PROCESS_NO_LIVE_EQUATION). Reversal: publish the previously live equation again with this tool. The same action is also available as save(entity="typescriptEquation", id=, data={isLive: true, replacesLiveEquationId, confirm: true}).

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true. Send it only after the manufacturer explicitly asked to make this equation live and you tested it with generateQuote(equationId) on several real parts.
equationIdYesThe typescriptEquation id (UUID) to make live. It must be a saved, validated equation of this manufacturer.
replacesLiveEquationIdYesThe id of the equation that is live right now for the same process / post-processing / order level, or the string NONE when nothing is live yet. Read it first: query(entity="typescriptEquation", filter="processPricesId==<id>;isLive==true") or processPrices.activeTypescriptEquationId. A mismatch is refused.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true. Send it only after the manufacturer explicitly asked to make this version live and you tested it with generateQuote(equationId) on several real parts."New value: +"Must be true. Send it only after the manufacturer explicitly asked to make this equation live and you tested it with generateQuote(equationId) on several real parts."
    • changedInput schema / properties / equationId / description
      Previous value: -"The typescriptEquation id (UUID) to make live. It must be a validated version of this manufacturer."New value: +"The typescriptEquation id (UUID) to make live. It must be a saved, validated equation of this manufacturer."
    • changedInput schema / properties / replacesLiveEquationId / description
      Previous value: -"The id of the version that is live right now for the same process / post-processing / order level, or the string NONE when nothing is live yet. Read it first: query(entity=\"typescriptEquation\", filter=\"processPricesId==<id>;isLive==true\") or processPrices.activeTypescriptEquationId. A mismatch is refused."New value: +"The id of the equation that is live right now for the same process / post-processing / order level, or the string NONE when nothing is live yet. Read it first: query(entity=\"typescriptEquation\", filter=\"processPricesId==<id>;isLive==true\") or processPrices.activeTypescriptEquationId. A mismatch is refused."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and non-idempotency, but the description adds the crucial downstream effect: live storefront prices change immediately, the previous equation stops pricing at once, and every future customer quote changes. It also discloses the confirm requirement, mismatch refusal, the PROCESS_NO_LIVE_EQUATION state for unpublishing drafts, and a concrete reversal path.

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 SENSITIVE warning and the immediate price impact are correctly front-loaded, and every sentence carries procedural value. It is somewhat long and repeats the generateQuote/confirm requirement in the closing paragraph, which costs a point.

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, price-affecting mutation with no output schema, the description covers preconditions, side effects, failure/refusal behavior, the draft-no-live-equation state, an alternate invocation path, and rollback. Nothing an agent needs before calling this 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% and already documents confirm, equationId, and replacesLiveEquationId (including NONE and how to look up the current live id). The description restates those semantics but adds little parameter-level detail the schema does not already carry, so baseline 3 applies.

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 (publishes/makes live) and resource (typescriptEquation turned into the live pricing equation), plus the exact scope: process, post-processing, or order level. It is clearly separable from generateQuote (tests a draft) and save (generic write) which are named explicitly.

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 chain (manufacturer explicitly asked, generateQuote tested on several real parts, expectations communicated) and an explicit prohibition ('never publish to try it out'). It also names the alternative path via save(entity="typescriptEquation", ...) and the reversal procedure.

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