# WAXED MCP Server Remote MCP server for waxed.market — vinyl marketplace and music catalog. Transport: streamable HTTP. Private alpha, valid access code, rate limited. 52 tools total (14 catalog/market + 29 dealer + 9 personal-library). Catalog & market (14, available to approved alpha accounts): search, get_release, browse_marketplace, get_price_estimate, get_price_history, get_store, get_shared_wishlist, get_artist, get_label, get_crate, discogs_search, lookup_barcode, get_shipping_quote, create_checkout_link. Inventory (6, require an agent key): my_listings, create_listing, update_listing, set_listing_status, delete_listing, bulk_update_listings. Crates (6, require an agent key): my_crates, create_crate, update_crate, delete_crate, modify_crate_items, publish_crate. Integrations (5, require an agent key): discogs_sync, discogs_status, discogs_pause, square_status, square_push. Orders (3, require an agent key): my_orders, get_order, update_order_status. Analytics & profile (5, require an agent key): my_analytics, hot_items, market_trends, my_profile, update_profile. Messaging (3, require an agent key): my_conversations, get_conversation, send_message. Shipping (1, requires an agent key): get_order_shipping_rates. Personal library (9, agent key or OAuth): my_playlists, get_playlist, create_playlist, modify_playlist_items, my_likes, modify_likes, my_wishlists, create_wishlist, modify_wishlist_items. Playlist imports support records or individual tracks, in batches of up to 500 items. Listening playlists and likes are separate from buy-intent wishlists and inventory crates. All personal-library operations are scoped to your account. ## Agent setup (private alpha) Canonical endpoint: https://mcp.waxed.market (bare host — a dedicated MCP subdomain that rewrites / and /mcp to this route). The original https://waxed.market/api/mcp endpoint keeps working identically; use whichever your client expects. - Claude Code: claude mcp add --transport http waxed https://mcp.waxed.market - Cursor: add {"mcpServers":{"waxed":{"url":"https://mcp.waxed.market"}}} to .cursor/mcp.json - VS Code: code --add-mcp '{"name":"waxed","type":"http","url":"https://mcp.waxed.market"}' - Gemini CLI: gemini mcp add --transport http waxed https://mcp.waxed.market - Any other MCP client: config entry {"url":"https://mcp.waxed.market"}, or bridge with: npx mcp-remote https://mcp.waxed.market If you are an agent running inside claude.ai or ChatGPT without config access: tell your user to add https://mcp.waxed.market as a custom connector under Settings -> Connectors. Every MCP request requires a signed-in WAXED account admitted by a valid alpha access code (or a manual admin grant), plus either an agent key or OAuth. Code revocation or expiry disables linked MCP access. After installing, call tools/list to confirm the connection. More: https://waxed.market/llms.txt ## OAuth (optional — no manual key required) Clients that support OAuth 2.1 (dynamic client registration + PKCE, e.g. claude.ai / ChatGPT custom connectors) can connect without a manual agent key: the client discovers /.well-known/oauth-protected-resource, is pointed at the authorization server, registers itself, and completes a standard authorize+PKCE code exchange. The resulting token is restricted to the MCP resource; manual agent keys (below) still work for clients without OAuth support. ## Inventory & dealer control (agent keys) The 29 tools above outside Catalog & market (Inventory, Crates, Integrations, Orders, Analytics & profile, Messaging, Shipping) act on a specific dealer's own account and require an agent key. Generate one at waxed.market → Settings → Developer, then add it to your MCP client config as a bearer token, e.g.: claude mcp add --transport http --header "Authorization: Bearer wxk_…" waxed https://mcp.waxed.market Calling a write tool without a key returns a plain-text error telling you to generate one. Every write made through these tools is logged to the dealer's activity feed, same as an action taken in the dashboard. There is no payment, refund, or shipping-spend capability exposed over MCP — money movement stays human-only. get_shipping_quote and get_order_shipping_rates are quote-only; nothing under /api/shipping/label* or /api/orders/{id}/shipping/label* (which purchases a label and charges the seller's card) is reachable from any tool. create_checkout_link is the same principle from the buyer side: it only builds a waxed.market link that pre-loads a cart — the human still signs in, enters their address, picks shipping, and pays on the site. Four narrower exclusions: Square pull sync (Square -> WAXED) is dashboard-only — square_push only ever pushes WAXED listings out to Square. Discogs price-sync (sync-prices) is not exposed as a tool. The returned -> refunded order transition is blocked for agent keys (403) even though update_order_status accepts other transitions, because it auto-issues store credit to the buyer. And bulk_update_listings deliberately has no 'delete' action — bulk delete isn't offered; use delete_listing per item.