market.waxed/mcp
REMOTE · MCP.WAXED.MARKET · SCANNED AUG 3
WAXED vinyl marketplace: record/catalog search, price history, and dealer store management.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_listing). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6018 tokens (~139/item across 43 items; 43 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.waxed.market
claude mcp add --transport http market-waxed-mcp https://mcp.waxed.market/
[mcp_servers.market-waxed-mcp] url = "https://mcp.waxed.market/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"market-waxed-mcp": {
"type": "remote",
"url": "https://mcp.waxed.market/",
"enabled": true
}
}
} openclaw mcp add market-waxed-mcp --url https://mcp.waxed.market/ --transport streamable-http
mcp_servers:
market-waxed-mcp:
url: "https://mcp.waxed.market/" {
"mcpServers": {
"market-waxed-mcp": {
"type": "http",
"url": "https://mcp.waxed.market/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.waxed.market
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.waxed.market | CN=WE1,O=Google Trust Services,C=US | 29 Jul 2026 | 27 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | c4b0da225bee65bb0ed588b2e53e0d72 |
| SANs: mcp.waxed.market | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of mcp.waxed.market. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| market. | present | 40531 | 8 | Verified |
| waxed.market. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(self), microphone=(), geolocation=() |
| www-authenticate | Bearer resource_metadata="https://mcp.waxed.market/.well-known/oauth-protected-resource" |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.waxed.market | Verified | 200 | |
| http (plaintext) | http://mcp.waxed.market | HTTPS enforced | 301 | https://mcp.waxed.market/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
browse_marketplace ~114
Browse active vinyl listings on WAXED with filters. Returns paginated listings with title, artist, price (USD cents), condition, genre, year, format, and cover art.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | Filter by format, e.g. "LP". |
| genre | string | — | Filter by genre, e.g. "Jazz". |
| page | integer | — | Zero-based page number (48 per page). |
| sort | string | — | Sort order; "newest" (default) or price-based sorts. |
No output schema declared.
No examples provided.
bulk_update_listings ~362
Run one bulk operation across up to 100 of the authenticated dealer's listings at once (requires an agent key). action 'price_update' with mode 'set' sets every listing to value (integer USD cents; the $0.50 floor applies to active listings), or mode 'percent' adjusts each listing's current price by value percent (e.g. -10 lowers price 10%; same floor on active listings). action 'auto_price' runs the WAXED pricing engine per listing from its linked catalog release id — capped at 25 listing ids per call (estimatePrice can live-fetch and run long); listings without a linked release are skipped. action 'status_change' moves listings to status 'active', 'removed', or 'collection' — 'removed' cascades a best-effort Discogs delist + Square inventory decrement for linked listings. action 'mark_sold' marks listings sold and cascades the same best-effort delist/decrement. action 'export_csv' returns the listings as CSV text (no mode/value/status needed). Bulk delete is deliberately not offered here — use delete_listing per item to permanently remove a listing.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | The bulk operation to run. |
| listing_ids | array | yes | Listing ids to act on, 1–100 items. auto_price is further capped at 25. |
| mode | string | — | For action 'price_update' only: 'set' (fixed price) or 'percent' (relative adjustment). |
| status | string | — | For action 'status_change' only: the new status. |
| value | number | — | For action 'price_update' only: integer USD cents (mode 'set') or a percent like -10 (mode 'percent'). |
No output schema declared.
No examples provided.
create_checkout_link ~162
Build a link for a human to review and pay for a cart of WAXED listings. This does NOT purchase anything, move money, create a Stripe session, or collect any payment/address/shipping info — it only returns a checkout_url that pre-loads WAXED's cart. The human opens that link, signs in, enters their shipping address, picks a shipping option per seller, and pays through WAXED's existing checkout — all of that happens on the website, not here. Multi-seller carts are normal: WAXED checkout splits payment per seller automatically. Hand this link to your human; do not try to complete the purchase yourself.
| Name | Type | Req | Description |
|---|---|---|---|
| listing_ids | array | yes | Listing ids to include in the cart, 1-20. |
No output schema declared.
No examples provided.
create_crate ~119
Create a new crate or lot for the authenticated dealer (requires an agent key). type 'crate' (default) is a dealer-curated bundle sold together; 'lot' is a private grouping. Use modify_crate_items afterward to add listings, and publish_crate to put it up for sale.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | — | Optional display color (hex or theme name). |
| name | string | yes | Crate name, e.g. 'Jazz Deep Cuts'. |
| type | string | — | 'crate' (default) or 'lot'. |
No output schema declared.
No examples provided.
create_listing ~303
Create a new marketplace listing for the authenticated dealer (requires an agent key). price_cents is an integer number of USD cents (e.g. 1500 = $15.00); active listings require at least 50 cents. condition and sleeve_condition are Goldmine grades: 'Mint', 'Near Mint', 'VG+', 'VG', 'Good+', 'Good', 'Fair', 'Poor' (sleeve_condition also accepts 'Generic' for a plain/missing jacket). status defaults to 'active' (for sale); use 'collection' for a non-selling catalog entry.
| Name | Type | Req | Description |
|---|---|---|---|
| artist | string | yes | Artist name. |
| condition | string | yes | Media (vinyl) condition, Goldmine grade. |
| description | string | — | Optional free-text listing description (max 5000 chars). |
| discogs_release_id | string | — | Deprecated alias for release_id. Prefer release_id. |
| price_cents | integer | yes | Price in USD cents. Minimum 50 for active listings. |
| quantity | integer | — | Number of copies available. |
| release_id | string | — | Optional catalog release id to link this listing to — the same id get_release, search results, and lookup_barcode return. |
| sleeve_condition | string | — | Sleeve condition, Goldmine grade or 'Generic'. |
| status | string | — | 'active' (for sale, default) or 'collection' (not for sale). |
| title | string | yes | Release title. |
No output schema declared.
No examples provided.
delete_crate ~112
Permanently delete one of the authenticated dealer's crates (requires an agent key). This is irreversible: the crate row and all its item memberships are deleted (member listings themselves are untouched). If the crate was published, its public bundle listing is left orphaned — unpublish first. Requires confirm: true or the call is rejected before anything is deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true to proceed — this is a permanent, irreversible delete. |
| crate_id | string | yes | The crate id to delete. |
No output schema declared.
No examples provided.
delete_listing ~103
Permanently delete one of the authenticated dealer's listings (requires an agent key). This is irreversible: the WAXED row is deleted outright and, when linked, the corresponding Discogs listing (or collection instance) is also deleted upstream. Requires confirm: true or the call is rejected before anything is deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true to proceed — this is a permanent, irreversible delete. |
| listing_id | string | yes | The listing id to delete. |
No output schema declared.
No examples provided.
discogs_pause ~75
Pause or resume the authenticated dealer's automatic Discogs sync (requires an agent key and an already-connected Discogs account). Pausing stops the background worker from picking up sync requests for this dealer until resumed; it does not affect data already synced.
| Name | Type | Req | Description |
|---|---|---|---|
| paused | boolean | yes | true to pause automatic sync, false to resume it. |
No output schema declared.
No examples provided.
discogs_search ~159
Search the full Discogs catalog via WAXED's proxy — at least one param required. Use for finding the right release/version to list or match, e.g. before create_listing or update_listing's release_id rematch.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | Filter by format, e.g. "LP". |
| genre | string | — | Filter by genre, e.g. "Jazz". |
| limit | integer | — | Max results per page. |
| page | integer | — | Zero-based page number. |
| q | string | — | Free-text search, e.g. an artist, album title, or catalog number. |
| year_from | integer | — | Earliest release year, inclusive. |
| year_to | integer | — | Latest release year, inclusive. |
No output schema declared.
No examples provided.
discogs_status ~72
Get the authenticated dealer's Discogs connection and sync status (requires an agent key). Returns connected flag, discogs username, listings_for_sale count, last_listings_sync_at, listings_sync_error, sync_pending/force_sync_requested, and paused. If Discogs isn't connected, returns { connected: false }.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
discogs_sync ~94
Queue a full Discogs sync for the authenticated dealer (requires an agent key, and the dealer must have already connected Discogs in Settings — otherwise this returns a clear 'Discogs not connected' error). The sync runs on a background worker and this call returns immediately (HTTP 202, queued: true) rather than waiting for completion; poll discogs_status to watch progress via last_listings_sync_at / sync_pending.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_artist ~77
Get a WAXED artist page by name: bio, verified flag, tags, full discography, and copies currently for sale on WAXED with prices in USD cents.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max listings (default 48, max 100). |
| name | string | yes | Artist name, e.g. "Miles Davis". |
No output schema declared.
No examples provided.
get_conversation ~176
Get a message thread by conversation id (requires an agent key; you must be the seller or buyer on it). Returns the conversation (id, role relative to you, status, last_message_at) and its messages, newest last, each projected to id, from ('you'|'them'), body, created_at. Pass before (ISO 8601 date-time) to page further back in history. mark_read: true marks the thread read on your side as of now.
| Name | Type | Req | Description |
|---|---|---|---|
| before | string | — | ISO 8601 date-time — return messages created before this time. |
| conversation_id | string | yes | The conversation id. |
| limit | integer | — | Max messages to return (default 50, max 200). |
| mark_read | boolean | — | If true, marks the thread read on your side as of now. |
No output schema declared.
No examples provided.
get_crate ~88
Get a WAXED crate by id: a dealer-curated bundle of records sold together. Returns the full item list (each record with artist, title, release id, and price), the total bundle price in USD cents, item count, genres, and the country the crate ships from.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Crate id (marketplace listing id or bundle_crate_id). |
No output schema declared.
No examples provided.
get_label ~78
Get a WAXED record label page by name: profile/bio, sublabels, full discography, and copies currently for sale on WAXED with prices in USD cents.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max listings (default 48, max 100). |
| name | string | yes | Label name, e.g. "Blue Note". |
No output schema declared.
No examples provided.
get_order ~135
Get full detail for one order by id (requires an agent key; the authenticated dealer must be the buyer or seller on it, else 403). WAXED-native orders only — Square POS sales aren't queryable here. Returns the order row, its order_events history, listing, the other party's profile, and any seller review. Shipping addresses are redacted by role: sellers see the buyer's full address; buyers see only the seller's city/state/country. Pickup orders are the exception — both parties see the full public pickup address plus the seller's pickup instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The order id. |
No output schema declared.
No examples provided.
get_order_shipping_rates ~57
Get live carrier rate quotes for a confirmed order you're selling. Read-only: purchasing the label happens in the dashboard.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The order id. Must be status 'confirmed' and you must be the seller. |
No output schema declared.
No examples provided.
get_price_estimate ~113
Estimate the market price (USD) of a release by catalog release id, optionally adjusted for media condition (1=Poor … 5=Mint) and buyer country. Returns price_usd, confidence tier, and the adjustment factors used.
| Name | Type | Req | Description |
|---|---|---|---|
| condition | integer | — | Media condition 1–5 (5 = Mint). |
| country | string | — | ISO country code for geo pricing, e.g. "US". |
| release_id | string | yes | Catalog release id, as returned by search or get_release. |
No output schema declared.
No examples provided.
get_price_history ~95
Get real historical sales for a release by catalog release id: individual past sales (price, currency, date, condition) plus aggregate stats and the Discogs low/median/high range. mode "exact" = this pressing only; "all_versions" = every pressing of the master.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | — | Default "exact". |
| release_id | string | yes | Catalog release id, as returned by search or get_release. |
No output schema declared.
No examples provided.
get_release ~107
Get full detail for a release by its catalog release id: artist, title, year, label, formats, genres/styles, cover art, other pressings/versions of the same master, and every copy currently for sale on WAXED with price, media/sleeve condition, and seller info. Prices are in USD cents.
| Name | Type | Req | Description |
|---|---|---|---|
| release_id | string | yes | Catalog release id, e.g. "249504" — as returned by search, lookup_barcode, and get_release. |
No output schema declared.
No examples provided.
get_shared_wishlist ~69
Read a publicly shared WAXED want-list by its share token: the wants (artist/title/label/year) and which of them currently have copies for sale on WAXED with prices.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | Share token from a waxed.market/wishlist/<token> link. |
No output schema declared.
No examples provided.
get_shipping_quote ~115
Estimate shipping cost for a listing to a destination. Quotes only — labels cannot be purchased via agents.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | Destination city. |
| country | string | yes | Destination ISO 3166-1 alpha-2 country code, e.g. "US". |
| listing_id | string | yes | The listing id to quote shipping for. |
| postal | string | — | Destination postal/zip code. |
| quantity | integer | — | Number of copies (default 1). |
| state | string | — | Destination state/province. |
No output schema declared.
No examples provided.
get_store ~95
Get a WAXED dealer storefront by store slug, username, or profile id: store profile, follower stats, and its active listings (paginated, prices in USD cents).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max listings (default 48, max 100). |
| offset | integer | — | Pagination offset. |
| slug | string | yes | Store slug (from waxed.market/stores/<slug>), username, or profile UUID. |
No output schema declared.
No examples provided.
hot_items ~107
Demand-scored items for the authenticated dealer's own listings (requires an agent key), ranked by views, favorites, sales velocity, and price competitiveness. mode 'hot' (default) returns the top items to prioritize; 'underperforming' returns competitively-priced items not getting enough engagement; 'full' returns complete scoring data with all metrics.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max items to return (default 10, max 50). |
| mode | string | — | Default 'hot'. |
No output schema declared.
No examples provided.
lookup_barcode ~70
Scan-to-list: resolve a UPC/EAN barcode to a catalog release id, title, artist, and year via WAXED's proxy. Use the result for create_listing or update_listing's release_id rematch.
| Name | Type | Req | Description |
|---|---|---|---|
| barcode | string | yes | UPC/EAN barcode, 8–14 digits. |
No output schema declared.
No examples provided.
market_trends ~108
Market-wide trends across the whole WAXED marketplace (all sellers, not dealer-specific), comparing the current vs previous 30-day period. mode 'full' (default) returns trending genres, artists, and price movement together; 'genres' or 'artists' returns just that trend category. Requires an agent key.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max items for 'genres'/'artists' mode (default 10, max 50). |
| mode | string | — | Default 'full'. |
No output schema declared.
No examples provided.
modify_crate_items ~105
Add or remove listings from one of the authenticated dealer's crates (requires an agent key). action 'add' upserts the given listing ids as crate members (no error on duplicates); 'remove' drops them from the crate without deleting the listings themselves.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 'add' or 'remove'. |
| crate_id | string | yes | The crate id to modify. |
| listing_ids | array | yes | Listing ids to add to or remove from the crate. |
No output schema declared.
No examples provided.
my_analytics ~145
Cross-platform sales/inventory aggregate for the authenticated dealer (requires an agent key), merging WAXED, Discogs, and Square activity. Defaults to the last 30 days when from/to are omitted. platform filters to a single connected platform ('waxed'|'discogs'|'square') or 'all' (default). from/to are ISO 8601 date-times.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | — | Range start, ISO 8601 date-time. Default: 30 days before `to`. |
| platform | string | — | Platform to scope to; default 'all'. |
| to | string | — | Range end, ISO 8601 date-time. Default: now. |
No output schema declared.
No examples provided.
my_conversations ~172
List your buyer/seller message conversations with unread status and last message. role/counterpart/last_message.from are computed relative to you (requires an agent key). Returns a compact projection per conversation: id, role ('seller'|'buyer'), counterpart {id, name, store_name}, listing {id, title, price} or null, last_message {from ('you'|'them'), body, created_at} or null, unread, status, last_message_at.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max conversations to return (default 25, max 100). |
| offset | integer | — | Pagination offset (default 0). |
| role | string | — | Filter to conversations where you're the seller or the buyer; default 'all'. |
| status | string | — | Filter by conversation status; default 'open'. |
No output schema declared.
No examples provided.
my_crates ~81
List the authenticated dealer's own crates and lots (requires an agent key). Returns a compact projection per crate: id, name, color, type ('crate'|'lot'), item_count, total_value (USD cents, sum of member listing prices), item_ids (member listing ids).
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | — | Filter to this type; default 'crate'. |
No output schema declared.
No examples provided.
my_listings ~134
List the authenticated dealer's own marketplace listings (requires an agent key). Returns a compact projection per listing: id, title, artist, price (USD cents), status, condition, sleeve_condition, quantity, release_id, created_at, sync_state ('listed'/'unlisted'/'removed'/null — the listing's cross-platform sync state; null when the dealer doesn't sync externally). Optionally filter by status and cap the count.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max listings to return. |
| status | string | — | Filter to this listing status, e.g. 'active', 'removed', 'sold', 'collection'. |
No output schema declared.
No examples provided.
my_orders ~229
List the authenticated dealer's orders (requires an agent key), merging native WAXED checkout orders (marketplace_transactions) with Square POS sales (square_orders). Returns a compact projection per order: id (Square rows are prefixed 'square:'), source ('waxed'|'square'), status, total_cents (integer USD cents), created_at, and — when available — buyer_name, listing_title, listing_id. role defaults to 'seller'; Square POS rows only ever appear for role 'seller' (they're POS sales, never a buyer's own order). role 'buyer' returns only the caller's own WAXED purchases. Optionally filter by the unified status field and cap the count (default 50, max 200); results are sorted newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max orders to return (default 50, max 200). |
| role | string | — | 'seller' (default) or 'buyer'. |
| status | string | — | Filter to this unified order status, e.g. 'pending', 'confirmed', 'shipped', 'completed'. |
No output schema declared.
No examples provided.
my_profile ~81
Get the authenticated dealer's own storefront profile (requires an agent key). Returns a compact projection only: id, store_name, display_name, username, store_slug, bio, store_location, is_verified, seller_rating, seller_rating_count, discogs_username, discogs_connected, square_connected. Never includes email, Stripe ids, tax fields, or settings blobs.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
publish_crate ~163
Publish or unpublish one of the authenticated dealer's crates (requires an agent key; needs at least 2 member listings to publish). action 'publish' activates every member listing priced at or above $0.50 and creates (or updates) a public bundle page at waxed.market/crates/{crate_id}, priced as the sum of member prices. action 'unpublish' moves member listings back to 'collection' (not for sale) and removes the public bundle listing. Re-running publish recalculates the crate price from current member prices — to reprice a crate, update_listing its members then publish again.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 'publish' or 'unpublish'. |
| crate_id | string | yes | The crate id to publish or unpublish. |
No output schema declared.
No examples provided.
search ~91
Search the WAXED vinyl marketplace and catalog. Returns mixed results (records, artists, stores, labels, genres, crates) ranked by relevance. Record results include listing counts and minimum price when copies are for sale. Catalog numbers also match.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max results (default 20). |
| query | string | yes | Free-text search, e.g. an artist, album title, or label. |
No output schema declared.
No examples provided.
send_message ~166
Sends a real message the other party sees immediately in their inbox. There is no undo. Pass conversation_id to reply in an existing thread, or omit it and pass buyer_id (optionally listing_id) to start a new conversation with that buyer and send the first message in one call (you are the seller). Requires an agent key.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Message text, up to 4000 characters. |
| buyer_id | string | — | The buyer's profile id to start a new conversation with. Required when conversation_id is omitted. |
| conversation_id | string | — | Existing conversation id to reply in. Omit to start a new conversation instead. |
| listing_id | string | — | Optional listing id to associate with a new conversation. Only used when conversation_id is omitted. |
No output schema declared.
No examples provided.
set_listing_status ~145
Delist or relist one of the authenticated dealer's listings (requires an agent key). action 'delist' removes the listing from WAXED and, when linked, deletes the corresponding Discogs listing (irreversible on the Discogs side — Discogs has no un-delete) and decrements Square inventory. action 'relist' brings it back for sale on WAXED and re-increments linked Square inventory, but does NOT restore a deleted Discogs listing; relisting also requires the dealer to have completed Stripe payouts onboarding.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 'delist' or 'relist'. |
| listing_id | string | yes | The listing id to change. |
No output schema declared.
No examples provided.
square_push ~119
Push up to 20 of the authenticated dealer's listings to their connected Square catalog (requires an agent key, and the dealer must have already connected Square — otherwise this returns a clear 'No Square account connected' error). Creates or updates the matching Square catalog item and variation for each listing id and sets Square inventory (1 if the listing is active, else 0). Pull sync (Square -> WAXED) is dashboard-only and not exposed here.
| Name | Type | Req | Description |
|---|---|---|---|
| listing_ids | array | yes | Listing ids to push to Square, 1–20 items. |
No output schema declared.
No examples provided.
square_status ~72
Get the authenticated dealer's Square POS connection and health (requires an agent key). Returns connected flag, merchantId, connectedAt, lastSyncAt, tokenHealthy, integrationHealth ('healthy' or an error state from the last token-refresh/webhook), and lastErrorMessage. If Square isn't connected, connected is false.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
update_crate ~85
Rename or recolor one of the authenticated dealer's crates (requires an agent key). Only provided fields are changed; does not touch membership (use modify_crate_items) or publish state (use publish_crate).
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | — | New display color. |
| crate_id | string | yes | The crate id to update. |
| name | string | — | New crate name. |
No output schema declared.
No examples provided.
update_listing ~285
Update fields on one of the authenticated dealer's existing listings (requires an agent key). Only provided fields are changed. price_cents is an integer number of USD cents; active listings require at least 50 cents. condition/sleeve_condition are Goldmine grades (sleeve_condition also accepts 'Generic'). This does not change listing status (delisted/relisted) — use set_listing_status for that — and does not cascade to Discogs or Square.
| Name | Type | Req | Description |
|---|---|---|---|
| accept_offers | boolean | — | Whether buyers can submit offers below the listed price. |
| condition | string | — | Media condition, Goldmine grade. |
| description | string | — | Free-text listing description (max 5000 chars). |
| discogs_release_id | string | — | Deprecated alias for release_id. Prefer release_id. |
| listing_id | string | yes | The listing id to update. |
| location | string | — | Storage/location note for the dealer. |
| price_cents | integer | — | New price in USD cents. |
| quantity | integer | — | Number of copies available. |
| release_id | string | — | Rematch this listing to a different pressing/version (get_release returns versions[] to choose from). The numeric catalog release id. Blocked for listings synced from an external platform. Cover art… |
| sleeve_condition | string | — | Sleeve condition, Goldmine grade or 'Generic'. |
No output schema declared.
No examples provided.
update_order_status ~340
Advance an order's status, or attach a note without changing status (requires an agent key; the authenticated dealer must be the buyer or seller on it). Legal status transitions: confirmed→shipped (seller only; pass tracking_number/carrier — registers tracking for delivery webhooks), confirmed→canceled (either party), shipped→delivered (buyer only, except a seller may mark a pickup order delivered themselves), delivered→return_requested (buyer only), return_requested→returned (seller only). event_type 'note' can be attached at any status by either party and never changes status. Any other transition is rejected with a 422. NOTE: returned→refunded is a real transition in the app, but it fires a DB trigger that auto-issues store credit to the buyer. The refunded transition is dashboard-only because it issues store credit to the buyer; it is blocked for agent keys (403) even though this tool accepts other transitions.
| Name | Type | Req | Description |
|---|---|---|---|
| carrier | string | — | Carrier name, e.g. 'USPS', 'UPS'. Only meaningful with event_type 'shipped'; carried in the event's metadata. |
| event_type | string | yes | The transition (or note) to apply — see tool description for the legal transition table. 'refunded' is intentionally not offered here (dashboard-only, issues store credit). |
| note | string | — | Optional free-text note stored on the event, alongside a transition or standalone with event_type "note". |
| order_id | string | yes | The order id. |
| tracking_number | string | — | Shipment tracking number. Only meaningful with event_type 'shipped'; carried in the event's metadata. |
No output schema declared.
No examples provided.
update_profile ~326
Update your public storefront profile: bio, display/store name, location, featured genres, social links, currency, and publish/unpublish (`is_published: false` hides your storefront — closest thing to vacation mode). Store policies are not a WAXED feature yet. Requires an agent key; updates only your own profile row, all fields optional.
| Name | Type | Req | Description |
|---|---|---|---|
| bio | string | — | Storefront bio/about text (max 2000 chars). Empty string clears it. |
| default_currency | string | — | Default storefront display currency. |
| display_name | string | — | Public display name (max 80 chars). Cannot be blank. |
| featured_genres | array | — | Up to 10 featured genres, each max 40 chars. Blank entries are dropped. |
| is_published | boolean | — | false hides your storefront from the public marketplace (vacation mode); true publishes it. |
| social_bandcamp | string | — | Bandcamp URL, must start with https:// (empty string clears it). |
| social_instagram | string | — | Instagram URL, must start with https:// (empty string clears it). |
| social_twitter | string | — | Twitter/X URL, must start with https:// (empty string clears it). |
| social_youtube | string | — | YouTube URL, must start with https:// (empty string clears it). |
| store_location | string | — | Storefront location, e.g. "Portland, OR" (max 120 chars). Empty string clears it. |
| store_name | string | — | Storefront name (max 80 chars). Cannot be blank. |
No output schema declared.
No examples provided.