Tanatasa Beauty
REMOTE · TANATASA.SG
Search Singapore skincare and beauty, build guest carts, and prepare buyer checkout links.
Available components
Last scanned (21 hours ago)
Scores higher than 43% of remote servers
Reachable. Last reached 4 Nov 2026.
Category E-commerce
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 → Why this is hard to score →
Endpoint Security46
- 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 (set_cart_item). See how to fix → View diagnostics → Fail
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- 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 Usability40
- 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3952 tokens (~219/item across 18 items; 17 tools + 1 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 Management22
- Stability check failed: schema churn in the 10 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 8 additions. See how to fix → Fail
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
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.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 19 to 22.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 12 to 15.
- 1 Nov 26 −2
- Stability: 0.20 → fail ▼ security
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “set_cart_coupon” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “create_checkout” rewrote its description, which is the text the model reads security
- Tool “get_order” rewrote its description, which is the text the model reads security
- Tool “get_product” rewrote its description, which is the text the model reads security
- Tool “prepare_payment” rewrote its description, which is the text the model reads security
- Tool “quote_cart” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- Tool “set_cart_item” rewrote its description, which is the text the model reads security
- Schema quality: 175 → 219 ▼ functional
- New tool “search_products_batch” functional
- New tool “start_checkout” functional
- “get_product” added an optional parameter “guest_token” cosmetic
- “search_products” added an optional parameter “guest_token” cosmetic
- “search_products” added an optional parameter “max_delivery_days” cosmetic
- “search_products” added an optional parameter “sort” cosmetic
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +2
- The server rewrote its instructions, which are the text every model session reads security
- Tool “checkout_session” rewrote its description, which is the text the model reads security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “create_checkout” rewrote its description, which is the text the model reads security
- Tool “get_cart” rewrote its description, which is the text the model reads security
- Tool “get_checkout” rewrote its description, which is the text the model reads security
- Tool “get_order” rewrote its description, which is the text the model reads security
- Tool “get_product” rewrote its description, which is the text the model reads security
- Tool “prepare_payment” rewrote its description, which is the text the model reads security
- Tool “quote_cart” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- Tool “set_cart_coupon” rewrote its description, which is the text the model reads security
- Tool “set_cart_item” rewrote its description, which is the text the model reads security
- Tool “set_checkout_details” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Tool coverage: 23% → 100% ▲ functional
- Schema quality: good → excellent functional
- New tool “list_orders” functional
- New tool “request_order_change” functional
- New tool “sign_in” functional
- “create_cart” added an optional parameter “items” cosmetic
- “create_checkout” added an optional parameter “account_token” cosmetic
- “create_checkout” added an optional parameter “coupon_code” cosmetic
- “create_checkout” added an optional parameter “details” cosmetic
- “create_checkout” added an optional parameter “use_credit” cosmetic
- “get_order” added an optional parameter “account_token” cosmetic
- “quote_cart” added an optional parameter “account_token” cosmetic
- “quote_cart” added an optional parameter “coupon_code” cosmetic
- “quote_cart” added an optional parameter “use_credit” cosmetic
- “checkout_session” reworded the description of “checkout_session” cosmetic
- “checkout_session” reworded the description of “idempotency_key” cosmetic
- “create_checkout” reworded the description of “cart_id” cosmetic
- “create_checkout” reworded the description of “expected_total” cosmetic
- “create_checkout” reworded the description of “idempotency_key” cosmetic
- “create_checkout” reworded the description of “version” cosmetic
- “get_cart” reworded the description of “cart_id” cosmetic
- “get_checkout” reworded the description of “checkout_id” cosmetic
- “get_order” reworded the description of “order_id” cosmetic
- “get_product” reworded the description of “product” cosmetic
- “prepare_payment” reworded the description of “buyer_confirmed” cosmetic
- “prepare_payment” reworded the description of “checkout_id” cosmetic
- “prepare_payment” reworded the description of “details_version” cosmetic
- “prepare_payment” reworded the description of “expected_total” cosmetic
- “prepare_payment” reworded the description of “idempotency_key” cosmetic
- “quote_cart” reworded the description of “cart_id” cosmetic
- “search_products” reworded the description of “brand” cosmetic
- “search_products” reworded the description of “category” cosmetic
- “search_products” reworded the description of “in_stock” cosmetic
- “search_products” reworded the description of “ingredient” cosmetic
- “search_products” reworded the description of “limit” cosmetic
- “search_products” reworded the description of “max_price” cosmetic
- “search_products” reworded the description of “min_price” cosmetic
- “search_products” reworded the description of “page” cosmetic
- “search_products” reworded the description of “purpose” cosmetic
- “search_products” reworded the description of “q” cosmetic
- “search_products” reworded the description of “skin_type” cosmetic
- “set_cart_coupon” reworded the description of “cart_id” cosmetic
- “set_cart_coupon” reworded the description of “coupon_code” cosmetic
- “set_cart_coupon” reworded the description of “version” cosmetic
- “set_cart_item” reworded the description of “cart_id” cosmetic
- “set_cart_item” reworded the description of “quantity” cosmetic
- “set_cart_item” reworded the description of “variant_id” cosmetic
- “set_cart_item” reworded the description of “version” cosmetic
- “set_checkout_details” reworded the description of “checkout_id” cosmetic
- “set_checkout_details” reworded the description of “details” cosmetic
- “set_checkout_details” reworded the description of “details_version” cosmetic
- 29 Oct 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.
- 28 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “set_checkout_details”, which the server declares destructive security
- Tool “checkout_session” rewrote its description, which is the text the model reads security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “create_checkout” rewrote its description, which is the text the model reads security
- Tool “get_order” rewrote its description, which is the text the model reads security
- Schema quality: 61 → 99 ▼ functional
- Tool coverage: 0% → 23% ▲ functional
- Schema quality: fair → good functional
- New tool “get_checkout” functional
- New tool “prepare_payment” functional
- “checkout_session” added an optional parameter “guest_token” cosmetic
- “create_cart” added an optional parameter “guest_token” cosmetic
- “create_checkout” added an optional parameter “guest_token” cosmetic
- “get_cart” added an optional parameter “guest_token” cosmetic
- “get_order” added an optional parameter “guest_token” cosmetic
- “quote_cart” added an optional parameter “guest_token” cosmetic
- “set_cart_coupon” added an optional parameter “guest_token” cosmetic
- “set_cart_item” added an optional parameter “guest_token” cosmetic
- 27 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “checkout_session” rewrote its description, which is the text the model reads security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “get_order” rewrote its description, which is the text the model reads security
- Tool coverage: 22% → 0% ▼ functional
- Schema quality: 91 → 61 ▲ functional
- Schema quality: good → fair functional
- “checkout_session” dropped the optional parameter “guest_token” cosmetic
- “create_cart” dropped the optional parameter “guest_token” cosmetic
- “create_checkout” dropped the optional parameter “guest_token” cosmetic
- “get_cart” dropped the optional parameter “guest_token” cosmetic
- “get_order” dropped the optional parameter “guest_token” cosmetic
- “quote_cart” dropped the optional parameter “guest_token” cosmetic
- “set_cart_coupon” dropped the optional parameter “guest_token” cosmetic
- “set_cart_item” dropped the optional parameter “guest_token” cosmetic
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 4 Nov 2026 · Probed https://tanatasa.sg/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=tanatasa.sg | CN=WE1,O=Google Trust Services,C=US | 7 Oct 2026 | 5 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | cf3e89a76f1457e70e0bbf996b4a7c83 |
| SANs: tanatasa.sg | ||||||
| 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 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of tanatasa.sg. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| sg. | present | 26329 | 8 | Verified |
| tanatasa.sg. | 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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://tanatasa.sg/mcp | Verified | 200 | |
| http (plaintext) | http://tanatasa.sg/mcp | Inconclusive | 405 |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
checkout_session ~152
Shortcut from product feed items to a checkout: send feed item ids (tanatasa-variant-<id>) and quantities. Guests call create_cart first and pass its guest_token. Item names and prices you send are ignored; Tanatasa's catalogue is authoritative. Returns a checkout and review link; continue with set_checkout_details and prepare_payment.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_session | object | yes | The items to buy: up to 20 feed items with quantities. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| idempotency_key | string | – | A new random key per purchase; retry with the same key. |
No output schema declared.
No examples provided.
create_cart ~153
Start a cart to build up step by step (or use start_checkout to buy in one call); no account needed. Pass items [{variant_id, quantity}] to fill it at once. Returns cart_id, version, a quote (prices, free delivery, total) and, for guests, a private guest_token: pass guest_token on every later call and never share it.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| items | array | – | Optional: start the cart with these items (up to 20 variants), instead of calling set_cart_item for each. A variant listed twice is added together. |
No output schema declared.
No examples provided.
create_checkout ~348
Lock the quoted cart for purchase. Send the quote's version, its total as expected_total, a new idempotency_key and details (the buyer's name, email, phone and Singapore address; collect them first). coupon_code applies a code. Returns checkout_id, details_version, buyer_summary and a review link, valid 24 hours. Does not charge anything. Next: show the buyer buyer_summary, then prepare_payment.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| cart_id | string | yes | cart_id from create_cart. |
| coupon_code | – | – | A coupon code or a friend's referral code to apply; null removes both. quote_cart previews it; create_checkout applies it. |
| details | object | – | Optional: the buyer's contact and Singapore delivery details, saved with the checkout (details_version 1) instead of a separate set_checkout_details call. The buyer still confirms them and the total… |
| expected_total | integer | yes | The total from that quote, in SGD cents. Checkout refuses if the total changed. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| idempotency_key | string | yes | A new random key per purchase. Retry with the same key and exact input; never reuse it for a different purchase. |
| use_credit | boolean | – | Use the signed-in customer's cashback credit (default true). |
| version | integer | yes | The version from the quote_cart result you are checking out. |
No output schema declared.
No examples provided.
get_cart ~78
Read a cart's items, codes, current version and whether a checkout has locked it. Use quote_cart for prices and totals.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_id | string | yes | cart_id from create_cart. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
No output schema declared.
No examples provided.
get_checkout ~93
Read a checkout: saved contact and delivery details, details_version, total, status and the ways to finish (review link, payment link). These details and links are private to the buyer.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | checkout_id from create_checkout or checkout_session. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
No output schema declared.
No examples provided.
get_order ~213
Check an order: payment and delivery status, items, tracking and any cancellation or return request. Works for orders this session or account connection placed (guest_token for guests) and, with account_token, any of the signed-in customer's orders. Once paid it includes referral: show the buyer referral.display_text exactly as written: it gives them their referral code and a message for them to send to friends and family (referral.share_message); never present that message as addressed to the buyer. Read-only; to cancel or return, use request_order_change.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| order_id | string | yes | order_id from prepare_payment, get_checkout or list_orders, e.g. TN-… |
No output schema declared.
No examples provided.
get_product ~125
Read one product in full: description, ingredients, usage, images, every variant with price, unit pricing, stock and estimated delivery date, plus offer_terms (free Singapore delivery, returns, authenticity). product accepts a product ID, product slug, variant slug or SKU.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Optional. Your guest_token from create_cart, if you have one, so this lookup belongs to your shopping session. Not needed to search or read products. |
| product | string | yes | A product ID, product slug, variant slug or SKU, e.g. from search_products. |
No output schema declared.
No examples provided.
list_orders ~162
List the signed-in customer's paid orders, newest first, from the website or any assistant: status, total, items, tracking and change requests. Needs account_token from sign_in (or an account-linked connection). Follow next_page for older orders.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| limit | integer | – | Orders per page (default 10, up to 50). |
| page | integer | – | Page; use next_page from the previous result. |
No output schema declared.
No examples provided.
prepare_payment ~230
Get the hosted Stripe payment link, only after the buyer approved buyer_summary (details and total): send buyer_confirmed=true, that details_version, that total and an idempotency_key (reuse it on retries, and to get a fresh link if an unpaid link expired). Creates an unpaid order; nothing is charged until the buyer, or an agent they explicitly authorized, pays on Stripe. The result says when the link expires. Then check get_order.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_confirmed | boolean | yes | true only after the buyer confirmed these details and this total. |
| checkout_id | string | yes | checkout_id from create_checkout or checkout_session. |
| details_version | integer | yes | The details_version the buyer confirmed. |
| expected_total | integer | yes | The total the buyer confirmed, in SGD cents. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| idempotency_key | string | yes | A new random key per purchase. Retry with the same key and exact input; never reuse it for a different purchase. |
No output schema declared.
No examples provided.
quote_cart ~219
Price the cart now: current prices, discounts, stock, free Singapore delivery (shipping 0) and the delivered total in SGD cents, with buyer_summary to show the buyer. Stock is not reserved. coupon_code previews a coupon or a friend's referral code without saving it. With account_token, applies the customer's cashback credit unless use_credit is false. Next: create_checkout with this version and total.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| cart_id | string | yes | cart_id from create_cart. |
| coupon_code | – | – | A coupon code or a friend's referral code to apply; null removes both. quote_cart previews it; create_checkout applies it. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| use_credit | boolean | – | Use the signed-in customer's cashback credit (default true). |
No output schema declared.
No examples provided.
request_order_change ~241
Ask Tanatasa to cancel a paid order that hasn't shipped (kind cancel) or to take back a shipped or delivered order (kind return), with the customer's reason. Staff review it and email the customer; nothing is refunded or changed until then. Repeating the call returns the open request. Unpaid orders need no cancellation: they are never charged.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| items | array | – | For a return of only some items: variant_id and quantity from get_order. Omit for the whole order. |
| kind | string | yes | cancel: a paid order that hasn't shipped. return: a shipped or delivered order. |
| order_id | string | yes | order_id from prepare_payment, get_checkout or list_orders, e.g. TN-… |
| reason | string | yes | The customer's reason, in their words. |
No output schema declared.
No examples provided.
search_products ~437
Find Tanatasa products to buy for Singapore delivery: pantry, household, health, personal care and beauty, 100% authentic. Delivery is free anywhere in Singapore with no minimum spend, so prices shown are delivered prices. Searches by words, brand, category, purpose, skin type, ingredient, stock, price (SGD cents) and delivery time; sort by price, unit_price or delivery. Each result has variant_id, price, unit pricing, stock and estimated_delivery_date; store-wide terms are in offer_terms. Follow next_page for more.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Brand name or slug. |
| category | string | – | Category name or slug, e.g. "pantry" or "skincare". |
| guest_token | string | – | Optional. Your guest_token from create_cart, if you have one, so this lookup belongs to your shopping session. Not needed to search or read products. |
| in_stock | boolean | – | Only variants available now. |
| ingredient | string | – | A key ingredient, e.g. "ceramides". |
| limit | integer | – | Results per page (1-50). |
| max_delivery_days | integer | – | Only items delivered within this many Singapore working days (each result shows its estimated_delivery_date). |
| max_price | integer | – | Highest price in SGD cents (S$40 is 4000). |
| min_price | integer | – | Lowest price in SGD cents. |
| page | integer | – | Result page; use next_page from the previous result. |
| purpose | string | – | What it is for, e.g. "sensitive-skin". |
| q | string | – | Search words, e.g. "cerave cleanser" or "gift for dad under $40". A price phrase sets max_price when it is absent. |
| skin_type | string | – | e.g. "oily", "dry", "sensitive". |
| sort | string | – | relevance (default), price (lowest first), price_desc, unit_price (lowest price per 100ml/100g first; items without a comparable size last) or delivery (fastest first). |
No output schema declared.
No examples provided.
search_products_batch ~156
Search for a whole shopping list in one call: up to 10 queries, each with the search_products filters (5 results each by default). Delivery is free anywhere in Singapore with no minimum spend, so prices shown are delivered prices. Then start_checkout with the chosen variant_ids.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Optional. Your guest_token from create_cart, if you have one, so this lookup belongs to your shopping session. Not needed to search or read products. |
| queries | array | yes | One entry per shopping-list item (up to 10), e.g. [{"q": "rice 5kg"}, {"q": "dishwashing liquid", "max_price": 600}]. Each takes the search_products filters. |
No output schema declared.
No examples provided.
set_cart_item ~193
Add, change or remove one item in an existing cart. quantity is the total wanted (not an increment); 0 removes it. Send the cart's current version; the result has the new one and a fresh quote. If the version is stale, the error includes current_cart; if stock is short, it includes available_quantity and alternatives. Up to 20 variants and 99 of each.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_id | string | yes | cart_id from create_cart. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| quantity | integer | yes | The total quantity wanted (not an increment); 0 removes the item. |
| variant_id | integer | yes | variant_id from search_products or get_product. |
| version | integer | yes | The cart's current version, from the last cart result. Each edit increments it. |
No output schema declared.
No examples provided.
set_checkout_details ~137
Save the buyer's contact and Singapore delivery details on a checkout. Send its current details_version; the result has the new one. Does not charge anything. Details can't change once payment preparation starts.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | checkout_id from create_checkout or checkout_session. |
| details | object | yes | Contact and Singapore delivery details exactly as the buyer gave them. |
| details_version | integer | yes | The checkout's current details_version from get_checkout (0 before any details are saved). |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
No output schema declared.
No examples provided.
sign_in ~225
Sign the customer in with a code from their email. 1) Send email: Tanatasa emails them a 6-digit code. 2) Send email and the code they read to you: returns a private account_token (24 hours, this session only). 3) Send only account_token: shows their referral code and cashback credit with expiry dates. The token lets quote_cart and create_checkout use their credit and list_orders and get_order open their orders. Never guess a code.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| code | string | – | The 6-digit code the customer read from their email. |
| string | – | The customer's email. Alone: Tanatasa emails them a 6-digit code. With code: signs them in. | |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
No output schema declared.
No examples provided.
start_checkout ~331
Fastest way to buy: send the whole basket (items [{variant_id, quantity}]) and the buyer's details (name, email, phone, Singapore address) in one call. Creates the cart, quotes it and starts checkout; no account needed. Returns checkout_id, details_version, total, buyer_summary and, for guests, a private guest_token to pass on later calls. Delivery is free anywhere in Singapore with no minimum spend, so prices shown are delivered prices. Does not charge anything. Next: show the buyer buyer_summary; after they approve, prepare_payment.
| Name | Type | Req | Description |
|---|---|---|---|
| account_token | string | – | Private account token from sign_in, after the customer gave you the code from their email. Lets quotes and checkout use their cashback credit, and opens their orders. |
| coupon_code | – | – | A coupon code or a friend's referral code to apply; null removes both. quote_cart previews it; create_checkout applies it. |
| details | object | – | The buyer's contact and Singapore delivery details. Include them: the result is then ready for the buyer's approval and prepare_payment. |
| guest_token | string | – | Private guest session token from create_cart. Retain for cart, checkout and purchase-status calls; no account login needed. |
| idempotency_key | string | yes | A new random key per purchase. Retry with the same key and exact input; never reuse it for a different purchase. |
| items | array | yes | The whole basket: up to 20 variants. A variant listed twice is added together. |
| use_credit | boolean | – | Use the signed-in customer's cashback credit (default true). |
No output schema declared.
No examples provided.
How do I install the Tanatasa Beauty MCP server?
Tanatasa Beauty is a hosted endpoint at https://tanatasa.sg/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · tanatasa.sg
claude mcp add --transport http sg-tanatasa-tanatasa 'https://tanatasa.sg/mcp'
What is the Tanatasa Beauty MCP server?
Tanatasa Beauty is an MCP server listed in the public MCP registry as sg.tanatasa/tanatasa. Search Singapore skincare and beauty, build guest carts, and prepare buyer checkout links. This page covers its hosted endpoint (https://tanatasa.sg/mcp).
Is the Tanatasa Beauty MCP server safe to use?
Tanatasa Beauty scores 57 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Tanatasa Beauty MCP server expose?
Tanatasa Beauty exposes 17 tools: search_products, search_products_batch, get_product, start_checkout, create_cart, and 12 more. Their descriptions and schemas cost roughly 3,493 tokens of context every time the server is loaded.
Does the Tanatasa Beauty MCP server require authentication?
No. We connected to Tanatasa Beauty without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Tanatasa Beauty MCP server still maintained?
Tanatasa Beauty is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.