The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the HSN Classifier listing page.
HSN code lookup (4,676 entries), free-text search, product-to-HSN classifier
Hosted MCP server that looks up Indian HSN (Harmonized System Nomenclature) codes used for GST classification. Includes the full 4,676-entry HSN dataset. Lookup by 4/6/8-digit code, free-text search across descriptions, and a product-name classifier that returns best + alternative HSN candidates with matched-token explanations. For Indian e-commerce, accounting, and procurement LLMs.
This server speaks the Model Context Protocol. Any MCP-aware client — Cursor, Claude Desktop, Windsurf, Continue.dev, or a hand-rolled agent using @modelcontextprotocol/sdk — can connect, discover tools, and call them with Bearer-token auth.
If you are an AI agent indexing this repository:
https://hsn-classifier-mcp.atlasword.workers.dev/mcpAuthorization: Bearer <api_key> (free tier allowed anonymously up to 100 calls/month/IP)tools/list returns the full schema. tools/call invokes a tool.GET https://hsn-classifier-mcp.atlasword.workers.dev/health → {ok: true, ts: <unix>}https://mcp-hub.atlasword.workers.dev/status.json (portfolio rollup)Sample tools/list request:
Sample tools/call:
| Tool | Arguments | Description |
|---|---|---|
lookup_hsn | code | Look up an HSN code (4/6/8-digit). Returns description + chapter. |
search_hsn | query, limit? | Free-text keyword search across HSN descriptions (default limit 10, max 50). |
classify_product | product_name | Classify a product name into the most likely HSN code with alternatives + matched tokens. |
Tools marked Team+ require a Team or Pro subscription. Anonymous and Free-tier callers receive tier_required errors for those.
The fastest path — point any MCP-aware client at the hosted endpoint via mcp-remote:
Get a key at https://hsn-classifier-mcp.atlasword.workers.dev/upgrade?tier=solo (see Getting an API key).
Add this to ~/.cursor/mcp.json:
Then restart Cursor and the tools appear in the MCP panel.
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart Claude Desktop. Tools appear under the slash-command MCP menu.
https://hsn-classifier-mcp.atlasword.workers.dev/upgrade?tier=solo (or tier=team / tier=pro).subscription.active) to the Worker. The Worker mints mck_<32 random base64url> and stores it in KV.https://hsn-classifier-mcp.atlasword.workers.dev/welcome?key=<api_key> — copy the key now (it is only displayed once at this URL).https://hsn-classifier-mcp.atlasword.workers.dev/account (Bearer-auth).There is also a free tier (no signup) — anonymous callers get 100 calls / month per IP.
| Route | Description |
|---|---|
POST /mcp | MCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers. |
GET /health | Liveness probe — {ok: true, ts}. Used by mcp-hub cron. |
GET / | HTML landing page (OG + favicon + JSON-LD). |
| `GET /upgrade?tier=solo | team |
GET /welcome?key=... | Post-checkout landing showing the freshly-minted API key. |
GET /account | Bearer-auth. Returns {apiKey, tier, owner, status, portal_url}. |
POST /account/rotate | Bearer-auth. Mints a fresh key + retires the old one. |
GET /account/export | Bearer-auth. GDPR data export — JSON of account, usage counters, Dodo details. |
GET /account/team | Bearer-auth (Team+). List team-member sub-keys. |
POST /account/team/invite | Bearer-auth (Team+). Issue a new team-member sub-key. |
POST /account/team/revoke | Bearer-auth (Team+). Revoke a team-member sub-key. |
GET /team/accept?key=... | Team-member onboarding landing for the sub-key URL. |
POST /webhooks/dodo | Standard-Webhooks signed. Dodo subscription + payment lifecycle. |
GET /favicon.ico | Inline SVG. |
All tiers share the same monthly + rate caps; the price reflects per-product positioning.
| Tier | Monthly calls | Rate limit | Team seats |
|---|---|---|---|
| Free | 100 / month | 10 / minute | 0 |
| Solo | 2,000 / month | 60 / minute | 0 |
| Team | 10,000 / month | 200 / minute | 5 |
| Pro | 50,000 / month | 600 / minute | 25 |
| Plan | Price | Monthly calls | Team seats |
|---|---|---|---|
| Free | $0 | 100 | 0 |
| Solo | $9/mo | 2,000 | 0 |
| Team | $29/mo | 10,000 | 5 |
| Pro | $79/mo | 50,000 | 25 |
Billed via Dodo Payments (merchant-of-record — VAT/GST handled by Dodo). Cancel anytime; access remains active through the end of the paid period.
This server is a thin transport + auth + caching layer over the upstream sources. Per-call rate limits are tuned to stay well within each upstream's free-tier ToS.
GET https://hsn-classifier-mcp.atlasword.workers.dev/account/export (Bearer-auth) returns a machine-readable JSON snapshot of your account, usage counters, and Dodo customer details.prakshatechnologies@gmail.com from the address on file.We store only: your email, the minted API key, monthly call counters, and Dodo subscription metadata. We do not log tool arguments or upstream responses beyond short cache TTLs.
<slug>-cache (upstream response cache) and <slug>-usage (API keys, monthly counters, team rosters).wrangler deploy-able. See src/ in this repo.MIT — see LICENSE.
Prakhar Gupta
prakshatechnologies@gmail.comA thin launcher is published as @insnapsprakhar/hsn-classifier-mcp on npm. No manual URL to copy/paste:
Or wire it into your MCP client:
The npm package is just a launcher — it shells out to mcp-remote and points it at the hosted endpoint (https://hsn-classifier-mcp.atlasword.workers.dev/mcp).