Search, price and buy authenticated luxury and collectibles, paying from any chain.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Everything about one listing: description, condition, provenance record and how to buy it.
Listing id (the slug from search_listings)
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http marketplace https://port66.xyz/api/mcp
Everything about one listing: description, condition, provenance record and how to buy it.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id (the slug from search_listings) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id (the slug from search_listings)"
}
}
}Offer the seller a price below the listed one, with a message. The seller has 24 hours to answer. If accepted, start_purchase charges the agreed amount. Needs a Port66 session.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id (the slug from search_listings) |
| message | string | A short, polite note to the seller |
| amount_usd* | number | Offered price in USD |
{
"type": "object",
"required": [
"id",
"amount_usd"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id (the slug from search_listings)"
},
"message": {
"type": "string",
"description": "A short, polite note to the seller"
},
"amount_usd": {
"type": "number",
"minimum": 1,
"description": "Offered price in USD"
}
}
}The buyer's latest offer on a listing, and the agreed price if the seller accepted. Needs a Port66 session.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id (the slug from search_listings) |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id (the slug from search_listings)"
}
}
}Assets and chains a buyer can pay from. The seller always receives USDC.
No arguments.
{
"type": "object",
"properties": {}
}Live, non-binding price of a listing in a crypto asset, from NEAR Intents solvers: what the buyer would send so the seller receives the exact USD price in USDC. Reserves nothing.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id (the slug from search_listings) |
| chain | string | Optional chain when the asset exists on several, e.g. Arbitrum for ETH |
| pay_with* | string | What the buyer pays with: BTC, SOL, NEAR, ETH, USDC, USDT, DOGE or LTC |
{
"type": "object",
"required": [
"id",
"pay_with"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id (the slug from search_listings)"
},
"chain": {
"type": "string",
"description": "Optional chain when the asset exists on several, e.g. Arbitrum for ETH"
},
"pay_with": {
"type": "string",
"description": "What the buyer pays with: BTC, SOL, NEAR, ETH, USDC, USDT, DOGE or LTC"
}
}
}Progress of a purchase: awaiting_deposit, deposit_seen, processing, paid (order recorded), refunded, failed, expired or review. Needs a Port66 session.
| Argument | Type | Description |
|---|---|---|
| checkout_id* | string | The checkout_id from start_purchase |
{
"type": "object",
"required": [
"checkout_id"
],
"properties": {
"checkout_id": {
"type": "string",
"description": "The checkout_id from start_purchase"
}
}
}Tell Port66 the hash of the buyer's deposit transaction. Optional; it only speeds up detection.
| Argument | Type | Description |
|---|---|---|
| tx_hash* | string | Hash of the deposit transaction |
| checkout_id* | string | The checkout_id from start_purchase |
{
"type": "object",
"required": [
"checkout_id",
"tx_hash"
],
"properties": {
"tx_hash": {
"type": "string",
"description": "Hash of the deposit transaction"
},
"checkout_id": {
"type": "string",
"description": "The checkout_id from start_purchase"
}
}
}Search active Port66 listings: luxury, streetwear and collectibles. Returns price, condition, authenticity level, image and link for each.
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand name |
| limit | integer | Results, default 10 |
| query | string | Words to look for in the title, e.g. 'KAWS figure' or 'Chrome Hearts' |
| category | string | Category name |
| max_price | number | Maximum price in USD |
| min_price | number | Minimum price in USD |
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "Brand name"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Results, default 10"
},
"query": {
"type": "string",
"description": "Words to look for in the title, e.g. 'KAWS figure' or 'Chrome Hearts'"
},
"category": {
"type": "string",
"description": "Category name"
},
"max_price": {
"type": "number",
"description": "Maximum price in USD"
},
"min_price": {
"type": "number",
"description": "Minimum price in USD"
}
}
}Reserve a listing for the signed-in buyer and get a one-time NEAR Intents deposit address and the exact amount to send. Nothing is charged by this call; the purchase completes when the buyer's wallet sends that amount. Needs a Port66 session.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id (the slug from search_listings) |
| chain | string | Optional chain when the asset exists on several, e.g. Arbitrum for ETH |
| pay_with* | string | What the buyer pays with: BTC, SOL, NEAR, ETH, USDC, USDT, DOGE or LTC |
| refund_to* | string | The buyer's own address on the paying chain; refunds go here |
| shipping_address* | object | Where the piece is shipped |
{
"type": "object",
"required": [
"id",
"pay_with",
"refund_to",
"shipping_address"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id (the slug from search_listings)"
},
"chain": {
"type": "string",
"description": "Optional chain when the asset exists on several, e.g. Arbitrum for ETH"
},
"pay_with": {
"type": "string",
"description": "What the buyer pays with: BTC, SOL, NEAR, ETH, USDC, USDT, DOGE or LTC"
},
"refund_to": {
"type": "string",
"description": "The buyer's own address on the paying chain; refunds go here"
},
"shipping_address": {
"type": "object",
"required": [
"name",
"line1",
"city",
"postal",
"country"
],
"properties": {
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"phone": {
"type": "string"
},
"postal": {
"type": "string"
},
"region": {
"type": "string"
},
"country": {
"type": "string"
}
},
"description": "Where the piece is shipped"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.