← WebMCP Directory

Tool tree

counterparty-xi.vercel.app

CommerceTools verified
Website
Let your AI negotiate with competing sellers while you keep final authority.
Explore capabilities
    search_productsAnswer

    Search Counterparty's live product catalog using structured budget, memory, warranty, and ranking constraints. Use this before negotiating. Returns public product and seller information only.

    View tool JSON
    {
      "name": "search_products",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search Counterparty's live product catalog using structured budget, memory, warranty, and ranking constraints. Use this before negotiating. Returns public product and seller information only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Optional product name, seller, processor, or use-case query."
          },
          "maxPrice": {
            "type": "number",
            "minimum": 1,
            "description": "Target final purchase budget in USD. Negotiable listings up to 10% above it may be returned as candidates."
          },
          "minimumRamGb": {
            "type": "integer",
            "minimum": 1,
            "description": "Minimum required memory in gigabytes."
          },
          "minimumWarrantyMonths": {
            "type": "integer",
            "minimum": 1,
            "description": "Minimum listed warranty in months."
          },
          "sortBy": {
            "type": "string",
            "enum": [
              "value",
              "price",
              "warranty",
              "delivery"
            ],
            "description": "How to rank matching products."
          }
        },
        "additionalProperties": false
      }
    }
    start_negotiationAction

    Open a stateful negotiation with the seller of one product. Returns the seller's opening terms and a negotiation ID. This does not reserve inventory or create a purchase.

    View tool JSON
    {
      "name": "start_negotiation",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a stateful negotiation with the seller of one product. Returns the seller's opening terms and a negotiation ID. This does not reserve inventory or create a purchase.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "Exact product identifier returned by search_products."
          }
        },
        "required": [
          "productId"
        ],
        "additionalProperties": false
      }
    }
    submit_counterofferSensitive Action

    Submit structured commercial terms to an active seller negotiation. The seller may accept, reject, or counter according to a private policy. This never creates a binding purchase.

    View tool JSON
    {
      "name": "submit_counteroffer",
      "kind": "transact",
      "impl": "imperative",
      "description": "Submit structured commercial terms to an active seller negotiation. The seller may accept, reject, or counter according to a private policy. This never creates a binding purchase.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "negotiationId": {
            "type": "string",
            "description": "Active negotiation identifier."
          },
          "price": {
            "type": "number",
            "minimum": 1,
            "description": "Proposed total purchase price in USD."
          },
          "warrantyMonths": {
            "type": "integer",
            "minimum": 1,
            "description": "Requested warranty term in months."
          },
          "shippingDays": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum acceptable delivery time in days."
          }
        },
        "required": [
          "negotiationId",
          "price",
          "warrantyMonths",
          "shippingDays"
        ],
        "additionalProperties": false
      }
    }
    get_negotiationsAnswer

    Read all active and accepted negotiations, including current terms and remaining rounds. Use this to compare counterparties before making a recommendation.

    View tool JSON
    {
      "name": "get_negotiations",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read all active and accepted negotiations, including current terms and remaining rounds. Use this to compare counterparties before making a recommendation.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    prepare_agreementAction

    Freeze the accepted terms of one negotiation into a reviewable agreement. The agreement will await explicit human approval and cannot yet be committed.

    View tool JSON
    {
      "name": "prepare_agreement",
      "kind": "act",
      "impl": "imperative",
      "description": "Freeze the accepted terms of one negotiation into a reviewable agreement. The agreement will await explicit human approval and cannot yet be committed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "negotiationId": {
            "type": "string",
            "description": "Negotiation with accepted terms to freeze as an agreement."
          }
        },
        "required": [
          "negotiationId"
        ],
        "additionalProperties": false
      }
    }
    commit_agreementAction

    Commit a prepared agreement only after the human has explicitly approved its exact terms in the Counterparty interface. Returns HUMAN_APPROVAL_REQUIRED when approval is absent.

    View tool JSON
    {
      "name": "commit_agreement",
      "kind": "act",
      "impl": "imperative",
      "description": "Commit a prepared agreement only after the human has explicitly approved its exact terms in the Counterparty interface. Returns HUMAN_APPROVAL_REQUIRED when approval is absent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "agreementId": {
            "type": "string",
            "description": "Prepared agreement identifier shown to the human."
          }
        },
        "required": [
          "agreementId"
        ],
        "additionalProperties": false
      }
    }