Tool tree
The first marketplace where AI agents negotiate directly on the listing page using the Chrome WebMCP open protocol standard (navigator.modelContext).
Implementation
gradeNot graded
gradeNot graded
page: Every page
search_listingsAnswer
Search and browse marketplace listings by keywords, max price, or category.
View tool JSON
{
"name": "search_listings",
"kind": "answer",
"impl": "imperative",
"description": "Search and browse marketplace listings by keywords, max price, or category.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search terms (e.g. 'e-bike', 'camera', 'desk')"
},
"maxPrice": {
"type": "number",
"description": "Maximum asking price in USD"
},
"category": {
"type": "string",
"description": "Category filter (Electronics, Vehicles, Furniture, Music, Home)"
}
}
},
"page": "/"
}get_listing_detailsAnswer
Retrieve comprehensive details for a specific listing including condition, price, seller info, and active negotiation status.
View tool JSON
{
"name": "get_listing_details",
"kind": "answer",
"impl": "imperative",
"description": "Retrieve comprehensive details for a specific listing including condition, price, seller info, and active negotiation status.",
"inputSchema": {
"type": "object",
"properties": {
"listingId": {
"type": "string",
"description": "Unique listing ID (e.g. 'listing-1')"
}
},
"required": [
"listingId"
]
},
"page": "/"
}page: Home
make_offerSensitive Action
Make an initial price offer on a listing as a buyer. Creates a new negotiation session.
View tool JSON
{
"name": "make_offer",
"kind": "transact",
"impl": "imperative",
"description": "Make an initial price offer on a listing as a buyer. Creates a new negotiation session.",
"inputSchema": {
"type": "object",
"properties": {
"listingId": {
"type": "string",
"description": "Listing ID to make an offer on"
},
"amount": {
"type": "number",
"description": "Offer amount in USD"
},
"message": {
"type": "string",
"description": "Optional message or terms to the seller"
}
},
"required": [
"listingId",
"amount"
]
},
"page": "/"
}page: Listing 1
counter_offerAction
Counter an active offer with a revised price and optional note. Gated by turn (only available when responding to the other party).
View tool JSON
{
"name": "counter_offer",
"kind": "act",
"impl": "imperative",
"description": "Counter an active offer with a revised price and optional note. Gated by turn (only available when responding to the other party).",
"inputSchema": {
"type": "object",
"properties": {
"negotiationId": {
"type": "string",
"description": "Active negotiation ID"
},
"amount": {
"type": "number",
"description": "Counter offer price in USD"
},
"message": {
"type": "string",
"description": "Reasoning or note for the counter offer"
}
},
"required": [
"negotiationId",
"amount"
]
},
"page": "/listing/listing-1"
}accept_offerAction
Accept the latest offer from the opposing party and close the price agreement phase. Gated to the party receiving the offer.
View tool JSON
{
"name": "accept_offer",
"kind": "act",
"impl": "imperative",
"description": "Accept the latest offer from the opposing party and close the price agreement phase. Gated to the party receiving the offer.",
"inputSchema": {
"type": "object",
"properties": {
"negotiationId": {
"type": "string",
"description": "Negotiation ID to accept"
}
},
"required": [
"negotiationId"
]
},
"page": "/listing/listing-1"
}reject_offerAction
Decline and terminate the current negotiation session with an optional reason.
View tool JSON
{
"name": "reject_offer",
"kind": "act",
"impl": "imperative",
"description": "Decline and terminate the current negotiation session with an optional reason.",
"inputSchema": {
"type": "object",
"properties": {
"negotiationId": {
"type": "string",
"description": "Negotiation ID to reject"
},
"reason": {
"type": "string",
"description": "Optional reason for declining"
}
},
"required": [
"negotiationId"
]
},
"page": "/listing/listing-1"
}get_negotiation_historyAnswer
Fetch full audit trail of offers, messages, and pickup details for context-aware decision making.
View tool JSON
{
"name": "get_negotiation_history",
"kind": "answer",
"impl": "imperative",
"description": "Fetch full audit trail of offers, messages, and pickup details for context-aware decision making.",
"inputSchema": {
"type": "object",
"properties": {
"negotiationId": {
"type": "string",
"description": "Negotiation ID to inspect"
}
},
"required": [
"negotiationId"
]
},
"page": "/listing/listing-1"
}