← WebMCP Directory

Tool tree

trader-network.pages.dev

Productivity & BusinessTools verified
Website
Trader Network helps market traders sell or exchange surplus stock with the help of WebMCP-enabled agents.
Explore capabilities
    get_inventoryAnswer

    Seller only (or illustrative sandbox without a profile). Returns the trader's inventory, availability, price, and freshness window. Use urgentOnly for perishable stock within 48 hours. Buyers must use find_stock_for_request.

    View tool JSON
    {
      "name": "get_inventory",
      "kind": "answer",
      "impl": "imperative",
      "description": "Seller only (or illustrative sandbox without a profile). Returns the trader's inventory, availability, price, and freshness window. Use urgentOnly for perishable stock within 48 hours. Buyers must use find_stock_for_request.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urgentOnly": {
            "type": "boolean",
            "description": "When true, only return goods with 48 hours or less in their freshness window.",
            "default": false
          }
        }
      }
    }
    show_inventory_itemAction

    Seller only (or illustrative sandbox without a profile). Shows the workspace containing the selected stock so the trader and agent can review it together.

    View tool JSON
    {
      "name": "show_inventory_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Seller only (or illustrative sandbox without a profile). Shows the workspace containing the selected stock so the trader and agent can review it together.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "The inventory item ID returned by get_inventory."
          }
        },
        "required": [
          "itemId"
        ]
      }
    }
    find_surplus_matchesAnswer

    Seller only (or illustrative sandbox without a profile). Returns compatible buyer demand for the trader's stock using D1 records. This is a read-only lookup; live areas are labels, not measured distances.

    View tool JSON
    {
      "name": "find_surplus_matches",
      "kind": "answer",
      "impl": "imperative",
      "description": "Seller only (or illustrative sandbox without a profile). Returns compatible buyer demand for the trader's stock using D1 records. This is a read-only lookup; live areas are labels, not measured distances.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "The inventory item ID returned by get_inventory."
          },
          "maxDistanceKm": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 100,
            "default": 10,
            "description": "Illustrative sandbox only. Live matching uses area labels, not measured distances; this parameter does not filter live records."
          }
        },
        "required": [
          "itemId"
        ]
      }
    }
    draft_surplus_offerAction

    Seller only (or illustrative sandbox without a profile). Prepares a reversible offer draft in the visible workspace. Never sends or reserves inventory; the trader must review and approve it in the page.

    View tool JSON
    {
      "name": "draft_surplus_offer",
      "kind": "act",
      "impl": "imperative",
      "description": "Seller only (or illustrative sandbox without a profile). Prepares a reversible offer draft in the visible workspace. Never sends or reserves inventory; the trader must review and approve it in the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "The inventory item to offer."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "description": "Whole number of units to offer."
          },
          "pricePerUnit": {
            "type": "number",
            "minimum": 1,
            "description": "Offer price per unit in Nigerian naira."
          },
          "matchId": {
            "type": "string",
            "description": "Optional demand match ID returned by find_surplus_matches."
          },
          "note": {
            "type": "string",
            "maxLength": 180,
            "description": "Optional pickup or condition note."
          }
        },
        "required": [
          "itemId",
          "quantity",
          "pricePerUnit"
        ]
      }
    }
    get_trade_contextAnswer

    Read role and data source first. A registered profile always uses live data. Without a profile, Agent sandbox offers Demo seller and Demo buyer; choose the role with the page buttons. All sandbox records are fictional and need no credentials.

    View tool JSON
    {
      "name": "get_trade_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read role and data source first. A registered profile always uses live data. Without a profile, Agent sandbox offers Demo seller and Demo buyer; choose the role with the page buttons. All sandbox records are fictional and need no credentials.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    get_my_requestsAnswer

    Buyer only. Read the current live buyer's requests, or fictional requests when anonymous with Demo buyer selected. Always check source. Includes the unpublished in-page request draft.

    View tool JSON
    {
      "name": "get_my_requests",
      "kind": "answer",
      "impl": "imperative",
      "description": "Buyer only. Read the current live buyer's requests, or fictional requests when anonymous with Demo buyer selected. Always check source. Includes the unpublished in-page request draft.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    find_stock_for_requestAnswer

    Buyer only. Use demandId from get_my_requests, or full request fields. Shows live stock for a registered buyer, or fictional stock in anonymous Demo buyer mode. Exact product/unit matching; subtracts accepted reservations. Area labels are not distances. Delivery and pickup need confirmation; below-asking prices need negotiation. Never reserves or purchases.

    View tool JSON
    {
      "name": "find_stock_for_request",
      "kind": "answer",
      "impl": "imperative",
      "description": "Buyer only. Use demandId from get_my_requests, or full request fields. Shows live stock for a registered buyer, or fictional stock in anonymous Demo buyer mode. Exact product/unit matching; subtracts accepted reservations. Area labels are not distances. Delivery and pickup need confirmation; below-asking prices need negotiation. Never reserves or purchases.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "demandId": {
            "type": "string",
            "description": "An existing request belonging to this buyer."
          },
          "itemName": {
            "type": "string",
            "maxLength": 80,
            "description": "Exact product name; use the trader's spelling when known."
          },
          "category": {
            "type": "string",
            "maxLength": 40
          },
          "requestedQuantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "unit": {
            "type": "string",
            "enum": [
              "crates",
              "baskets",
              "bags",
              "packs",
              "kilograms",
              "piece"
            ],
            "description": "Must match the stock unit; never assume unit conversions."
          },
          "maximumPricePerUnit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 1000000000,
            "description": "Maximum naira per unit, or null for an open budget."
          },
          "neededBy": {
            "type": "string",
            "description": "Future ISO 8601 date including timezone; Nigeria is +01:00."
          },
          "deliveryArea": {
            "type": "string",
            "maxLength": 80,
            "description": "Broad collection area, not a private address."
          },
          "fulfilmentPreference": {
            "type": "string",
            "enum": [
              "pickup",
              "delivery",
              "either"
            ]
          }
        }
      }
    }
    review_incoming_offersAction

    Buyer only. Read offers actually sent to this buyer, with totals and request budget. Excludes unsent trader drafts and other buyers' offers. Explain the terms; acceptance or decline remains a human action in the page. Does not reveal private contact details.

    View tool JSON
    {
      "name": "review_incoming_offers",
      "kind": "act",
      "impl": "imperative",
      "description": "Buyer only. Read offers actually sent to this buyer, with totals and request budget. Excludes unsent trader drafts and other buyers' offers. Explain the terms; acceptance or decline remains a human action in the page. Does not reveal private contact details.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    draft_purchase_requestSensitive Action

    Buyer only. Prepare an editable unpublished request in the page. Does not call a backend, publish, buy, reserve or accept. Human approval uses Approve and publish request (live), or Approve demo request (anonymous sandbox). Sandbox publishing supports only the four sample products and exact units. Cannot overwrite a draft; discard first. Drafts are lost on reload.

    View tool JSON
    {
      "name": "draft_purchase_request",
      "kind": "transact",
      "impl": "imperative",
      "description": "Buyer only. Prepare an editable unpublished request in the page. Does not call a backend, publish, buy, reserve or accept. Human approval uses Approve and publish request (live), or Approve demo request (anonymous sandbox). Sandbox publishing supports only the four sample products and exact units. Cannot overwrite a draft; discard first. Drafts are lost on reload.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "maxLength": 80,
            "description": "Exact product name; use the trader's spelling when known."
          },
          "category": {
            "type": "string",
            "maxLength": 40
          },
          "requestedQuantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "unit": {
            "type": "string",
            "enum": [
              "crates",
              "baskets",
              "bags",
              "packs",
              "kilograms",
              "piece"
            ],
            "description": "Must match the stock unit; never assume unit conversions."
          },
          "maximumPricePerUnit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "maximum": 1000000000,
            "description": "Maximum naira per unit, or null for an open budget."
          },
          "neededBy": {
            "type": "string",
            "description": "Future ISO 8601 date including timezone; Nigeria is +01:00."
          },
          "deliveryArea": {
            "type": "string",
            "maxLength": 80,
            "description": "Broad collection area, not a private address."
          },
          "fulfilmentPreference": {
            "type": "string",
            "enum": [
              "pickup",
              "delivery",
              "either"
            ]
          }
        },
        "required": [
          "itemName",
          "requestedQuantity",
          "unit",
          "maximumPricePerUnit",
          "neededBy",
          "deliveryArea",
          "fulfilmentPreference"
        ]
      }
    }