Tattoo and piercing supply catalog (Romania): search, live stock, shipping cost, checkout link.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Întoarce o pagină de produse dintr-o categorie tatuat.ro (sau din tot catalogul, dacă nu se dă un ID de categorie), cu preț în RON, disponibilitate și link direct la fișa de produs. Folosește acest tool când clientul vrea să vadă ce e disponibil într-o categorie sau vrea produsele cele mai populare/ieftine/scumpe/noi. Pentru un produs anume folosește după aceea get_product cu slug-ul întors aici.
Cum se ordonează rezultatele: for_you, popular, cheap, expensive, newest. Implicit „for_you".
Câte produse să întoarcă, între 1 și 20. Implicit 10.
Câte produse se omit de la începutul listei, pentru paginare. Implicit 0.
ID-ul numeric al categoriei ale cărei produse se listează. Omis sau null = tot catalogul, ca „Toate produsele" din magazin.
Întoarce o pagină de produse dintr-o categorie tatuat.ro (sau din tot catalogul, dacă nu se dă un ID de categorie), cu preț în RON, disponibilitate și link direct la fișa de produs. Folosește acest tool când clientul vrea să vadă ce e disponibil într-o categorie sau vrea produsele cele mai populare/ieftine/scumpe/noi. Pentru un produs anume folosește după aceea get_product cu slug-ul întors aici.
| Argument | Type | Description |
|---|---|---|
| sort | string | Cum se ordonează rezultatele: for_you, popular, cheap, expensive, newest. Implicit „for_you". |
| limit | integer | Câte produse să întoarcă, între 1 și 20. Implicit 10. |
| offset | integer | Câte produse se omit de la începutul listei, pentru paginare. Implicit 0. |
| category_id | any | ID-ul numeric al categoriei ale cărei produse se listează. Omis sau null = tot catalogul, ca „Toate produsele" din magazin. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"enum": [
"for_you",
"popular",
"cheap",
"expensive",
"newest"
],
"type": "string",
"default": "for_you",
"description": "Cum se ordonează rezultatele: for_you, popular, cheap, expensive, newest. Implicit „for_you\"."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Câte produse să întoarcă, între 1 și 20. Implicit 10."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Câte produse se omit de la începutul listei, pentru paginare. Implicit 0."
},
"category_id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
{
"type": "null"
}
],
"default": null,
"description": "ID-ul numeric al categoriei ale cărei produse se listează. Omis sau null = tot catalogul, ca „Toate produsele\" din magazin."
}
}
}Calculează costul de transport, pragul pentru transport gratuit și cadourile atinse la prag pentru un coș tatuat.ro. Dă fie 'lines' (produsele coșului, ca tool-ul să citească prețul real din catalog), fie un 'subtotal' deja cunoscut. Pentru variante cu prețuri diferite, trimite variant_id din get_product. Un produs sau o variantă neconfirmată oprește calculul, fără total parțial. Folosește acest tool când clientul întreabă cât costă transportul sau cât mai trebuie să cumpere pentru livrare gratuită sau cadou.
| Argument | Type | Description |
|---|---|---|
| lines | array | Liniile coșului (maxim 50), ca tool-ul să calculeze subtotalul din prețurile reale ale catalogului. Coș gol = listă vidă. Folosește ori acest câmp, ori 'subtotal', niciodată ambele. |
| subtotal | number | Subtotalul coșului în RON, dacă e deja cunoscut (de exemplu calculat din prețurile întoarse de search_products). Folosește ori acest câmp, ori 'lines', niciodată ambele. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"quantity"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Slug-ul produsului, ca cel întors de search_products."
},
"quantity": {
"type": "integer",
"maximum": 9999,
"minimum": 1,
"description": "Câte bucăți din acest produs sunt în coș."
},
"product_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Identificatorul numeric al produsului, alternativă la slug.",
"exclusiveMinimum": 0
},
"variant_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "ID-ul variantei alese, din get_product. Necesar dacă variantele au prețuri diferite; omite pentru produse simple.",
"exclusiveMinimum": 0
}
},
"description": "O linie de coș: exact unul dintre slug sau product_id, cantitatea și variant_id pentru varianta aleasă."
},
"maxItems": 50,
"description": "Liniile coșului (maxim 50), ca tool-ul să calculeze subtotalul din prețurile reale ale catalogului. Coș gol = listă vidă. Folosește ori acest câmp, ori 'subtotal', niciodată ambele."
},
"subtotal": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Subtotalul coșului în RON, dacă e deja cunoscut (de exemplu calculat din prețurile întoarse de search_products). Folosește ori acest câmp, ori 'lines', niciodată ambele."
}
}
}Generează un link semnat către checkout-ul tatuat.ro pentru coșul dat (produse, variante, cantități, opțiuni). Linkul e valabil un timp limitat și NU conține prețuri — prețul final se confirmă pe site. Folosește acest tool când clientul e decis să cumpere; pentru a găsi produse sau prețuri folosește search_products/get_product înainte.
| Argument | Type | Description |
|---|---|---|
| items* | array | Coșul de cumpărat: cel puțin un produs, maximum 20 linii. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"product_id",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 9999,
"minimum": 1,
"description": "Cantitatea cerută din acest produs. Minim 1 — un coș nu poate avea o cantitate zero sau negativă — și maximum 9999."
},
"options": {
"type": "object",
"default": {},
"description": "Opțiuni alese pentru produs, ca pereche nume-valoare (ex. {\"culoare\":\"negru\"}), dacă produsul are. Cel mult 20 opțiuni; numele până la 64 caractere, valoarea până la 200.",
"propertyNames": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"product_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Identificatorul numeric stabil al produsului, ca cel întors de search_products.",
"exclusiveMinimum": 0
},
"variant_id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "null"
}
],
"default": null,
"description": "Varianta aleasă a produsului, sau null dacă produsul nu are variante."
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "Coșul de cumpărat: cel puțin un produs, maximum 20 linii."
}
}
}Întoarce fișa completă a unui produs de pe tatuat.ro după slug: nume, descriere, preț efectiv în RON (cu prețul dinainte de reducere dacă e cazul), disponibilitate, link direct la fișă, brand și variantele cu preț și stoc propriu. Folosește slug-ul întors de search_products. Dacă slug-ul nu corespunde unui produs activ, found este false — nu e o eroare.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Slug-ul produsului, exact cel întors de search_products sau cel din URL-ul fișei (ex. „ace-cartus-0-30-rl"), fără prefixul /product/. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Slug-ul produsului, exact cel întors de search_products sau cel din URL-ul fișei (ex. „ace-cartus-0-30-rl\"), fără prefixul /product/."
}
}
}Verifică disponibilitatea reală a unui produs (sau al unei variante a lui, ex. o mărime) pentru o cantitate cerută de client, folosind slug-ul întors de search_products. Întoarce una din patru stări — disponibil integral acum, parțial disponibil cu rest pe precomandă, precomandă integrală (stoc 0), sau cantitate la plafonul maxim comandabil — plus un text pe care îl poți spune clientului fără să inventezi o cifră.
| Argument | Type | Description |
|---|---|---|
| qty | integer | Câte bucăți vrea clientul să comande. Implicit 1, maximum 9999. |
| slug* | string | Identificatorul textual (slug) al produsului, ca cel întors de search_products sau din URL-ul /product/<slug>. |
| variant_id | integer | ID-ul variantei (ex. mărimea acului) al cărei stoc se verifică. Omite pentru produsele fără variante — sau ca să se verifice varianta implicită a produsului. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"qty": {
"type": "integer",
"default": 1,
"maximum": 9999,
"minimum": 1,
"description": "Câte bucăți vrea clientul să comande. Implicit 1, maximum 9999."
},
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Identificatorul textual (slug) al produsului, ca cel întors de search_products sau din URL-ul /product/<slug>."
},
"variant_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "ID-ul variantei (ex. mărimea acului) al cărei stoc se verifică. Omite pentru produsele fără variante — sau ca să se verifice varianta implicită a produsului.",
"exclusiveMinimum": 0
}
}
}Caută în catalogul tatuat.ro după nume, brand sau tip de produs și întoarce produse cu preț în RON, disponibilitate și link direct la fișa de produs. Folosește acest tool când clientul întreabă dacă un produs există, cât costă sau ce opțiuni sunt disponibile. Pentru detaliile unui produs anume, folosește după aceea get_product cu slug-ul întors aici.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Câte rezultate să întoarcă, între 1 și 20. Implicit 10. |
| query* | string | Ce caută clientul, în cuvintele lui: nume de produs, brand, sau tip de produs (ex. „ace 0.30 RL", „mașină rotativă", „tuș negru"). Minim două caractere ca să se facă efectiv o căutare. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Câte rezultate să întoarcă, între 1 și 20. Implicit 10."
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ce caută clientul, în cuvintele lui: nume de produs, brand, sau tip de produs (ex. „ace 0.30 RL\", „mașină rotativă\", „tuș negru\"). Minim două caractere ca să se facă efectiv o căutare."
}
}
}