Live luxury watch listings from watchesinstock.com, with photos, prices and trade nicknames.
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.
Says whether listings are still on watchesinstock.com. Use it when someone asks if a watch from earlier is still there. A listing can sell at any time, so a specialist has the final word.
Listing ids from search_watches.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http watches-in-stock https://watchesinstock-mcp.vercel.app/mcp
Says whether listings are still on watchesinstock.com. Use it when someone asks if a watch from earlier is still there. A listing can sell at any time, so a specialist has the final word.
| Argument | Type | Description |
|---|---|---|
| ids* | array | Listing ids from search_watches. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 24,
"minItems": 1,
"description": "Listing ids from search_watches."
}
}
}Shows two to four listings side by side with their prices and details. Use it when someone wants to choose between specific listings.
| Argument | Type | Description |
|---|---|---|
| ids* | array | Listing ids from search_watches. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 4,
"minItems": 2,
"description": "Listing ids from search_watches."
}
}
}For a watch that is not listed, or not listed the way the customer wants it. Returns a WhatsApp link to a Watches in Stock specialist with a draft note describing what they want. It only returns a link: nothing is sent, ordered, reserved or paid for.
| Argument | Type | Description |
|---|---|---|
| request* | string | The watch the customer wants, such as "a 2019 Batgirl, full set, under USD 20,000". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"request"
],
"properties": {
"request": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "The watch the customer wants, such as \"a 2019 Batgirl, full set, under USD 20,000\"."
}
}
}Looks up which Watches in Stock specialist handles a listing and returns a WhatsApp link with a draft note. It only returns a link: nothing is sent, ordered, reserved or paid for. Use it when someone wants to talk to a specialist about a listing.
| Argument | Type | Description |
|---|---|---|
| id* | string | The listing id from search_watches. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The listing id from search_watches."
}
}
}Shows one listing in detail, with its photo, parsed facts and the dealer description. Use it when someone asks about a specific watch from search_watches.
| Argument | Type | Description |
|---|---|---|
| id* | string | The listing id from search_watches. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The listing id from search_watches."
}
}
}Explains a watch nickname or reference: which references it covers, what they look like and which years they were made. Use it for questions such as "what is a Bruce Wayne?".
| Argument | Type | Description |
|---|---|---|
| query* | string | A nickname or reference. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "A nickname or reference."
}
}
}Shows charts of the current market for a watch: asking prices by year, what a full set adds, new listings each day, and links to compare on other sites. Use it for questions about value, trends or whether a price is fair. Based on dealer asking prices from the last 14 days, not sold prices.
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand name, such as Rolex or Patek Philippe. |
| query | string | What the customer asked for, in their words. Understands nicknames ("batgirl"), models ("daytona"), references ("126710BLNR"), years ("2016 or 2020") and budgets ("under 20k"). |
| reference | string | An exact reference number, such as 126710BLNR or 5711/1A. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"brand": {
"type": "string",
"maxLength": 40,
"description": "Brand name, such as Rolex or Patek Philippe."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "What the customer asked for, in their words. Understands nicknames (\"batgirl\"), models (\"daytona\"), references (\"126710BLNR\"), years (\"2016 or 2020\") and budgets (\"under 20k\")."
},
"reference": {
"type": "string",
"maxLength": 40,
"description": "An exact reference number, such as 126710BLNR or 5711/1A."
}
}
}Shows the Watches in Stock storefront: new arrivals, our own stock, leading brands and example questions. Use it when someone wants to browse, asks what is new or what is available, or has not named a watch yet.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Gives the low, median and high asking price from current listings for a watch. Use it for questions such as "what does a 2021 Batgirl go for?".
| Argument | Type | Description |
|---|---|---|
| set | string | What comes with the watch. |
| brand | string | Brand name, such as Rolex or Patek Philippe. |
| query | string | What the customer asked for, in their words. Understands nicknames ("batgirl"), models ("daytona"), references ("126710BLNR"), years ("2016 or 2020") and budgets ("under 20k"). |
| years | array | Specific production or card years. |
| bracelet | string | |
| full_set | boolean | Only watches with box and papers. |
| year_max | integer | Latest year. |
| year_min | integer | Earliest year. |
| condition | string | |
| max_price |
Searches current watch listings and shows them as photo cards. Use it when someone wants to find, browse or buy a watch. Knows trade nicknames and which years each one existed, so a request for a year that did not exist returns the closest real watch with an explanation.
| Argument | Type | Description |
|---|---|---|
| set | string | What comes with the watch. |
| sort | string | Best match puts Watches in Stock inventory first. |
| brand | string | Brand name, such as Rolex or Patek Philippe. |
| limit | integer | Listings per group. Default 12. |
| query | string | What the customer asked for, in their words. Understands nicknames ("batgirl"), models ("daytona"), references ("126710BLNR"), years ("2016 or 2020") and budgets ("under 20k"). |
| years | array | Specific production or card years. |
| offset | integer | Skip this many listings, to show more results. |
| bracelet | string | |
| full_set |
Gives what Watches in Stock has published about itself: authenticity, how prices are set, availability, buying, selling, consignment, where listings come from, and shipping, returns, warranty and payment. Use it for questions about the business rather than a particular watch.
| Argument | Type | Description |
|---|---|---|
| topic* | string | The subject of the question. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"what_makes_it_different",
"authenticity",
"pricing",
"availability",
"buying",
"selling",
"consignment",
"price_differences",
"country_pricing",
"data_source",
"dealer_privacy",
"shipping",
"returns",
"warranty",
"payment"
],
"type": "string",
"description": "The subject of the question."
}
}
}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 7, 2026.
| number |
| Highest price in USD. |
| min_price | number | Lowest price in USD. |
| reference | string | An exact reference number, such as 126710BLNR or 5711/1A. |
| our_stock_only | boolean | Only watches held by Watches in Stock, excluding other dealers. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"set": {
"enum": [
"Full set",
"Watch & card",
"Watch only"
],
"type": "string",
"description": "What comes with the watch."
},
"brand": {
"type": "string",
"maxLength": 40,
"description": "Brand name, such as Rolex or Patek Philippe."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "What the customer asked for, in their words. Understands nicknames (\"batgirl\"), models (\"daytona\"), references (\"126710BLNR\"), years (\"2016 or 2020\") and budgets (\"under 20k\")."
},
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2100,
"minimum": 1951
},
"maxItems": 6,
"description": "Specific production or card years."
},
"bracelet": {
"enum": [
"Jubilee",
"Oyster",
"Oysterflex",
"President",
"Leather",
"Rubber"
],
"type": "string"
},
"full_set": {
"type": "boolean",
"description": "Only watches with box and papers."
},
"year_max": {
"type": "integer",
"maximum": 2100,
"minimum": 1951,
"description": "Latest year."
},
"year_min": {
"type": "integer",
"maximum": 2100,
"minimum": 1951,
"description": "Earliest year."
},
"condition": {
"enum": [
"New",
"Pre-owned"
],
"type": "string"
},
"max_price": {
"type": "number",
"description": "Highest price in USD.",
"exclusiveMinimum": 0
},
"min_price": {
"type": "number",
"description": "Lowest price in USD.",
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 40,
"description": "An exact reference number, such as 126710BLNR or 5711/1A."
},
"our_stock_only": {
"type": "boolean",
"description": "Only watches held by Watches in Stock, excluding other dealers."
}
}
}| boolean |
| Only watches with box and papers. |
| year_max | integer | Latest year. |
| year_min | integer | Earliest year. |
| condition | string |
| max_price | number | Highest price in USD. |
| min_price | number | Lowest price in USD. |
| reference | string | An exact reference number, such as 126710BLNR or 5711/1A. |
| exact_filters | boolean | Use only the filter fields given here, ignoring any years, budget or set named in the query text. |
| our_stock_only | boolean | Only watches held by Watches in Stock, excluding other dealers. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"set": {
"enum": [
"Full set",
"Watch & card",
"Watch only"
],
"type": "string",
"description": "What comes with the watch."
},
"sort": {
"enum": [
"best_match",
"price_low",
"price_high",
"newest"
],
"type": "string",
"description": "Best match puts Watches in Stock inventory first."
},
"brand": {
"type": "string",
"maxLength": 40,
"description": "Brand name, such as Rolex or Patek Philippe."
},
"limit": {
"type": "integer",
"maximum": 24,
"minimum": 1,
"description": "Listings per group. Default 12."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "What the customer asked for, in their words. Understands nicknames (\"batgirl\"), models (\"daytona\"), references (\"126710BLNR\"), years (\"2016 or 2020\") and budgets (\"under 20k\")."
},
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2100,
"minimum": 1951
},
"maxItems": 6,
"description": "Specific production or card years."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Skip this many listings, to show more results."
},
"bracelet": {
"enum": [
"Jubilee",
"Oyster",
"Oysterflex",
"President",
"Leather",
"Rubber"
],
"type": "string"
},
"full_set": {
"type": "boolean",
"description": "Only watches with box and papers."
},
"year_max": {
"type": "integer",
"maximum": 2100,
"minimum": 1951,
"description": "Latest year."
},
"year_min": {
"type": "integer",
"maximum": 2100,
"minimum": 1951,
"description": "Earliest year."
},
"condition": {
"enum": [
"New",
"Pre-owned"
],
"type": "string"
},
"max_price": {
"type": "number",
"description": "Highest price in USD.",
"exclusiveMinimum": 0
},
"min_price": {
"type": "number",
"description": "Lowest price in USD.",
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 40,
"description": "An exact reference number, such as 126710BLNR or 5711/1A."
},
"exact_filters": {
"type": "boolean",
"description": "Use only the filter fields given here, ignoring any years, budget or set named in the query text."
},
"our_stock_only": {
"type": "boolean",
"description": "Only watches held by Watches in Stock, excluding other dealers."
}
}
}