← WebMCP Directory

Tool tree

admirable-otter-252fa1.netlify.app

Productivity & BusinessTools verified
Website
REWIND makes AI agent actions transactional: preview, guardrail, approve, commit, and revert. A WebMCP merchant catalog operations console.
Explore capabilities
    search_productsAnswer

    Search the merchant catalog and read current product state: price, unit cost, gross margin, inventory and status. Use this first to understand what a pricing change would affect, and to obtain the exact productIds or SKUs required by other tools. Read-only: it never modifies the catalog.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the merchant catalog and read current product state: price, unit cost, gross margin, inventory and status. Use this first to understand what a pricing change would affect, and to obtain the exact productIds or SKUs required by other tools. Read-only: it never modifies the catalog.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string",
            "description": "Restrict to one collection. Use \"All\" or omit for the whole catalog.",
            "enum": [
              "All",
              "Summer",
              "Essentials",
              "Accessories",
              "Footwear",
              "Outerwear",
              "Home"
            ]
          },
          "status": {
            "type": "string",
            "description": "Restrict by publication status. Defaults to \"any\".",
            "enum": [
              "any",
              "active",
              "draft",
              "archived"
            ]
          },
          "text": {
            "type": "string",
            "description": "Case-insensitive substring match on product name or SKU."
          },
          "minMarginPct": {
            "type": "number",
            "description": "Only products whose current gross margin is at least this percentage."
          },
          "maxMarginPct": {
            "type": "number",
            "description": "Only products whose current gross margin is at most this percentage. Useful for finding products close to a margin floor."
          },
          "limit": {
            "type": "number",
            "description": "Maximum rows to return. Defaults to 50."
          }
        },
        "additionalProperties": false
      }
    }
    get_catalog_statsAnswer

    Return catalog-wide totals, per-collection rollups (product count, average price, average margin, inventory), the currently active guardrail policy, and ledger counters including how many committed change sets are still revertible. Read-only. Call this to orient before proposing a bulk change.

    View tool JSON
    {
      "name": "get_catalog_stats",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return catalog-wide totals, per-collection rollups (product count, average price, average margin, inventory), the currently active guardrail policy, and ledger counters including how many committed change sets are still revertible. Read-only. Call this to orient before proposing a bulk change.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    preview_bulk_price_changeAnswer

    Compute an exact, deterministic preview of a bulk price change WITHOUT modifying the catalog. Returns a per-product diff with before and after price, before and after gross margin, and a guardrail verdict for every product. Products whose resulting margin would fall below the configured minimum are marked as blocked and will be excluded when the change is committed. The preview is rendered in the page for the human to inspect. Returns a previewId; pass that id to apply_change_set to commit. Always preview before applying.

    View tool JSON
    {
      "name": "preview_bulk_price_change",
      "kind": "answer",
      "impl": "imperative",
      "description": "Compute an exact, deterministic preview of a bulk price change WITHOUT modifying the catalog. Returns a per-product diff with before and after price, before and after gross margin, and a guardrail verdict for every product. Products whose resulting margin would fall below the configured minimum are marked as blocked and will be excluded when the change is committed. The preview is rendered in the page for the human to inspect. Returns a previewId; pass that id to apply_change_set to commit. Always preview before applying.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "discount_pct",
              "increase_pct",
              "set_price"
            ],
            "description": "discount_pct reduces price by a percentage; increase_pct raises it by a percentage; set_price sets an absolute price in US dollars."
          },
          "value": {
            "type": "number",
            "description": "For discount_pct and increase_pct, a percentage greater than 0 and at most 90. For set_price, a price in US dollars."
          },
          "collection": {
            "type": "string",
            "enum": [
              "All",
              "Summer",
              "Essentials",
              "Accessories",
              "Footwear",
              "Outerwear",
              "Home"
            ],
            "description": "Apply to every product in this collection. Ignored when productIds is supplied."
          },
          "productIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Explicit product ids or SKUs to target. Takes precedence over collection."
          },
          "includeStatuses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "draft",
                "archived"
              ]
            },
            "description": "Which publication statuses to include when targeting a collection. Defaults to [\"active\"]."
          }
        },
        "required": [
          "mode",
          "value"
        ],
        "additionalProperties": false
      }
    }
    apply_change_setAction

    Commit a previously generated preview to the live catalog as a single atomic change set. Products blocked by a guardrail are excluded automatically and reported back; the rest are applied exactly as previewed. If the change is consequential under the current approval policy, this call BLOCKS while a human in the page approves or denies it — expect it to take time, and do not retry it while it is pending. A denial returns ok:false with the human’s reason and changes nothing. On success the change set is written to the audit ledger with the actor recorded as AGENT and can be reverted later with revert_change_set.

    View tool JSON
    {
      "name": "apply_change_set",
      "kind": "act",
      "impl": "imperative",
      "description": "Commit a previously generated preview to the live catalog as a single atomic change set. Products blocked by a guardrail are excluded automatically and reported back; the rest are applied exactly as previewed. If the change is consequential under the current approval policy, this call BLOCKS while a human in the page approves or denies it — expect it to take time, and do not retry it while it is pending. A denial returns ok:false with the human’s reason and changes nothing. On success the change set is written to the audit ledger with the actor recorded as AGENT and can be reverted later with revert_change_set.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "previewId": {
            "type": "string",
            "description": "The previewId returned by preview_bulk_price_change. A preview can be committed at most once."
          }
        },
        "required": [
          "previewId"
        ],
        "additionalProperties": false
      }
    }
    list_change_setsAnswer

    List the audit ledger of every change committed in this workspace, newest first, by both humans and agents. Each entry records the actor, the originating tool, how many products were affected, whether human approval was required and what was decided, and whether the change has since been reverted. Read-only. Use this to find the changeSetId you need for get_change_set or revert_change_set.

    View tool JSON
    {
      "name": "list_change_sets",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the audit ledger of every change committed in this workspace, newest first, by both humans and agents. Each entry records the actor, the originating tool, how many products were affected, whether human approval was required and what was decided, and whether the change has since been reverted. Read-only. Use this to find the changeSetId you need for get_change_set or revert_change_set.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "number",
            "description": "Maximum entries to return, newest first. Defaults to 20."
          },
          "actor": {
            "type": "string",
            "enum": [
              "AGENT",
              "HUMAN"
            ],
            "description": "Only entries created by this actor."
          },
          "onlyRevertible": {
            "type": "boolean",
            "description": "When true, return only change sets that are still committed and can be reverted."
          }
        },
        "additionalProperties": false
      }
    }
    get_change_setAnswer

    Return the complete per-product diff for one change set: exact before and after values for every field it touched, the guardrail exclusions recorded at commit time, and its approval record. Read-only. Use this to explain to a user precisely what a past change did before deciding whether to revert it.

    View tool JSON
    {
      "name": "get_change_set",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the complete per-product diff for one change set: exact before and after values for every field it touched, the guardrail exclusions recorded at commit time, and its approval record. Read-only. Use this to explain to a user precisely what a past change did before deciding whether to revert it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "changeSetId": {
            "type": "string",
            "description": "The id of the change set to inspect."
          }
        },
        "required": [
          "changeSetId"
        ],
        "additionalProperties": false
      }
    }
    set_guardrailAction

    Change the application-level policy that constrains every pricing change: the minimum gross margin percentage, and the thresholds above which a change requires human approval. Lowering the minimum margin permits discounts that are currently blocked, so treat it as a consequential decision and confirm intent with the user first. The policy change itself is recorded in the ledger. It does not retroactively alter past change sets.

    View tool JSON
    {
      "name": "set_guardrail",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the application-level policy that constrains every pricing change: the minimum gross margin percentage, and the thresholds above which a change requires human approval. Lowering the minimum margin permits discounts that are currently blocked, so treat it as a consequential decision and confirm intent with the user first. The policy change itself is recorded in the ledger. It does not retroactively alter past change sets.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "minMarginPct": {
            "type": "number",
            "description": "Minimum permitted gross margin percentage, 0 to 95. Products falling below this are excluded from any commit."
          },
          "approvalProductThreshold": {
            "type": "number",
            "description": "Number of affected products at or above which a commit requires human approval in the page."
          },
          "approvalRevenueThresholdUsd": {
            "type": "number",
            "description": "Absolute estimated revenue impact in US dollars at or above which a commit requires human approval."
          }
        },
        "additionalProperties": false
      }
    }