Skip to main content

MCP API reference

This page is the technical reference for developers integrating with the ScentSell MCP server.

Server details​

PropertyValue
Base URLhttps://mcp.scentsell.com.au
MCP endpoint/api/mcp
TransportStreamable HTTP (MCP spec 2025-11-25)
AuthenticationOAuth 2.1 with PKCE + Dynamic Client Registration
Tools exposed62 (13 cabinet/marketplace reads + 13 mutations + 28 SniffBot agent + 8 utility)
Version headerserverInfo.version auto-bumps per deploy (1.<git-sha-7>.<10min-bucket>) so clients cache-bust automatically

Endpoints​

MethodPathDescription
POST/api/mcpMain MCP endpoint — send tool calls here
GET/.well-known/oauth-authorization-serverOAuth metadata (RFC 8414)
POST/oauth/registerDynamic client registration
GET/oauth/authorizeOAuth authorisation endpoint
POST/oauth/consentOAuth consent endpoint
POST/oauth/tokenOAuth token endpoint
GET/healthServer health check

Authentication​

ScentSell MCP uses OAuth 2.1 with PKCE. The server supports dynamic client registration as per the MCP spec.

Required OAuth scopes​

The server grants access to all 62 tools upon successful authorisation. There is no granular scope system — a valid Premium user token grants full read/write access to their own cabinet, shelves, wishlist, wear history, marketplace listings, and SniffBot Oracle.

Token format​

Bearer tokens are issued as JWT-style opaque tokens. Include in the Authorization header:

Authorization: Bearer <your_token>

Premium enforcement​

Requests from non-Premium accounts receive:

HTTP/1.1 403 Forbidden
{
"error": "premium_required",
"message": "MCP access requires a ScentSell Premium subscription.",
"upgrade_url": "https://scentsell.com.au/subscribe"
}

Rate limiting​

LimitValue
Requests per minute100 per user
Rate limit headerX-RateLimit-Remaining
Throttle responseHTTP 429 with retry_after_ms

Available tools​

See Tools reference for full documentation of all 62 tools.

CORS​

The server accepts cross-origin requests from any origin:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization, Mcp-Session-Id

Next steps: