Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

TATUAT.RO — Tattoo & Piercing Supplies

von estartokenVersion 0.1.0i★ –iLäuft in der Cloud
Name in der Registryio.github.estartoken/tatuat-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Tattoo and piercing supply catalog (Romania): search, live stock, shipping cost, checkout link.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft in der Cloud
  • Transport: Streamable HTTP
  • Kategorie: Onlineshops & Zahlungen

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
  • Die Registry nennt keinen Schlüssel zum Eintragen.

Du brauchst

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:

  1. Öffne Settings → Connectors
  2. Tippe auf Add custom connector
  3. Füge die Adresse unten ein und tippe auf Add
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Add2https://…3
https://api.tatuat.ro/mcp

Führe das in deinem Terminal aus

claude mcp add --transport http tatuat https://api.tatuat.ro/mcp

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "tatuat": {
      "url": "https://api.tatuat.ro/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "tatuat": {
      "type": "http",
      "url": "https://api.tatuat.ro/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

ChatGPT verbindet sich nur mit Servern im Internet:

  1. Öffne ChatGPT im Web → Settings → Connectors (Apps)
  2. Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
  3. Füge die Adresse unten ein, gib ihr einen Namen und speichere
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Create2https://…3
https://api.tatuat.ro/mcp

Menünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto estartoken bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Endpunkt antwortet

    Noch nicht geprüft; wir prüfen die Endpunkte reihum

  • … Noch nicht geprüft

    Anmeldung mit OAuth

    Noch nicht geprüft; wir prüfen die Endpunkte reihum

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen

Im Vergleich mit anderen in Onlineshops & Zahlungeni

  • Mehr Sterne als 0 % der anderen 2555 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 43 % der anderen 2555 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 2555 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist TATUAT.RO — Tattoo & Piercing Supplies sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.0) kam vor 39 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Stripe MCP

MCP server integrating with Stripe - tools for customers, products, payments, and more.

von stripeWachsend★ 2043Aktualisiert vor 12 Monaten

Läuft in der Cloud✓ stripe.com

MCP Cn Commerce

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

von TonyWang-hubAm Anfang↓ 73/Wo.★ 96Aktualisiert vor 29 Tagen

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

TATUAT.RO — server MCP

Catalogul [tatuat.ro](https://tatuat.ro) — echipament de tatuaj și piercing — disponibil pentru ChatGPT, Claude și orice agent AI. Caută produse, verifică stocul real, calculează transportul și generează un link de comandă, direct din conversație.

Documentație publică: api.tatuat.ro · llms.txt

🟢 Live: https://api.tatuat.ro/mcp · transport streamable HTTP · fără autentificare

English — MCP server exposing the TATUAT.RO catalog (tattoo &

piercing supplies, Romania) to AI agents. Live at https://api.tatuat.ro/mcp, streamable

HTTP, no auth required. Six tools: product search, category browsing, product detail,

real-time stock, shipping calculator, and a signed checkout link. Prices in RON.

Read-only except the checkout link — the purchase is completed on tatuat.ro.


Ce poate face un agent

ToolCe face
search_productsCaută după nume, brand sau tip de produs. Întoarce preț în RON, disponibilitate și link direct la fișă.
browse_categoryO pagină de produse dintr-o categorie (sau din tot catalogul), cu sortare.
get_productFișa completă: descriere, preț efectiv, preț dinainte de reducere, brand, variante cu preț și stoc propriu.
get_stockDisponibilitatea reală pentru o cantitate cerută. Patru stări: integral, parțial, precomandă și cantitate la plafonul maxim pe linie.
calculate_shippingCost de transport, pragul de transport gratuit și cadourile atinse la prag.
create_checkoutLink semnat către coșul de pe tatuat.ro. Valabil 15 minute.

Primele cinci sunt read-only — nu scriu nimic. Al șaselea generează doar un link; nu plasează comanda și nu atinge baza de date.

Exemplu

— *Am nevoie de cartușe 0.30 RL, vreo 20 de bucăți. Cât mă costă cu transport?*

Agentul apelează search_products → get_product (alege varianta) → get_stock → calculate_shipping, răspunde cu prețul real și cu cât mai trebuie până la transport gratuit, apoi create_checkout dă linkul pe care clientul finalizează comanda pe tatuat.ro.

Cum îl conectezi

Claude Code

claude mcp add --transport http tatuat https://api.tatuat.ro/mcp

Claude Desktop — Settings → Connectors → Add custom connector → https://api.tatuat.ro/mcp

Orice client MCP — endpoint streamable HTTP, protocol 2025-06-18, fără token.

Prețuri și monedă

Prețul contractual e RON, etichetat explicit în fiecare răspuns. Magazinul are și prețuri în HUF (rată fixă), dar nu se expun aici: un preț fără etichetă de monedă, citit de un model, e exact felul în care un client ajunge să creadă că plătește altă sumă.

La produsele cu variante (mărimi, configurații) prețul întors e minimul dintre variante, marcat price_from: true când variantele au prețuri diferite, ca agentul să spună „de la X RON", nu „X RON".

Pentru calculate_shipping, fiecare linie acceptă variant_id din get_product. Când variantele au prețuri diferite, ID-ul este necesar pentru un total exact. Fără el, serverul cere selecția. Un produs/variantă neconfirmată sau un preț lipsă oprește calculul cu isError, fără un subtotal parțial. Produsele cu variante la același preț pot fi calculate fără selecție. subtotal direct nu poate verifica produse sau tarife de colet greu.

Ce NU face

  • Nu scrie nimic în baza de date. Niciun tool nu mutează stare.
  • Nu ține coș pe server. Coșul trăiește pe tatuat.ro.
  • Nu autentifică utilizatori. OAuth e fază ulterioară.
  • Nu procesează plăți. Checkout-ul se finalizează pe tatuat.ro — cerință explicită OpenAI pentru plugin-uri („external checkout").
  • Linkul de checkout nu conține prețuri. Transportă doar intenția (produs, variantă, cantitate); prețul final se calculează și se confirmă pe site.

Pentru dezvoltatori

Rute

RutăMetodeCe face
/GETDocumentație publică indexabilă, fără JavaScript sau autentificare.
/robots.txtGETPermite documentația și exclude transportul MCP și verificarea domeniului.
/llms.txtGETRezumat compact al conectării, uneltelor și regulilor de utilizare.
/mcpPOST, GET, DELETEEndpointul MCP. Toate trei delegate pachetului, ca 405-ul să vină de la protocol, nu de la Next.
/.well-known/mcp-server-card.jsonGETCartea de vizită a serverului.
/.well-known/openai-apps-challengeGETVerificarea proprietății domeniului. Întoarce doar tokenul din OPENAI_APPS_CHALLENGE_TOKEN; 404 dacă lipsește.

Allowlist de gazde

Marginea HTTP validează Host și Origin împotriva unei allowlist statice din MCP_ALLOWED_HOSTS (implicit api.tatuat.ro). Lista nu se derivă niciodată din cererea însăși — o allowlist construită din propriul header Host ar accepta trivial o pagină de DNS rebinding.

Consecințe care arată ca defecțiuni, dar sunt intenționate:

  • Un URL de preview Vercel primește 403 — nu e în allowlist. Adaugă hostul în MCP_ALLOWED_HOSTS pentru acel environment; nu relaxa validarea.
  • Host absent → 403 (missing_host), fail-closed: clienții MCP trimit mereu Host.
  • Origin absent → trece. Polaritate opusă față de Host: clienții non-browser nu trimit Origin, iar a-i respinge ar rupe exact clientul pentru care există serverul. Un Origin prezent dar de pe alt host, sau literalul null, primește 403.
  • Validarea e port-agnostică și normalizează majusculele.

Refuzul are formă JSON-RPC cu status 403, nu HTML — un client MCP îl poate parsa.

Variabile de mediu

Numele sunt în .env.example, fără valori. Valorile vin din env-ul proiectului Vercel în producție și din macOS Keychain la setup local — niciodată din repo.

VariabilăObligatorieNotă
SUPABASE_URLdaPostgREST, server-to-server
SUPABASE_ANON_KEYdaCheia anon, nu service_role: tot ce citesc tool-urile e deja public prin RLS
AGENT_CHECKOUT_SECRETpentru create_checkoutAceeași valoare și în proiectul site-ului
MCP_ALLOWED_HOSTSnuImplicit api.tatuat.ro. Listă separată prin virgulă
TATUAT_SITE_URLnuImplicit https://tatuat.ro
OPENAI_APPS_CHALLENGE_TOKENla submissionDat de portalul OpenAI

Arhitectură

  • Logica în `.mjs`, glue-ul în `.ts`. app/**/route.ts sunt delegări pure, fără nicio decizie: repo-ul nu are teste pe .ts, deci un .ts nu are voie să conțină ceva care poate greși. Tot ce decide ceva e în src/**/*.mjs, acoperit de node --test.
  • Fără `@supabase/supabase-js`. Acces direct pe PostgREST cu fetch — CORS e o restricție de browser, nu se aplică server-to-server.
  • Rate limiting singleton la nivel de modul. createMcpHandler rulează factory-ul pe fiecare cerere; o găleată creată în factory s-ar reseta de fiecare dată. Plafonul e per-instanță de funcție, deci „best effort", nu global.
  • Căutare în catalogul RO. p_lang nu se trimite în căutare/listare. Fișele accesate direct pot întoarce produse cu livrare limitată la Ungaria; get_product, get_stock și calculate_shipping declară atunci order_restriction: "hu_only". Fail-closed.
  • Proiect separat de magazin, ca un tool schimbat să nu ceară redeploy al site-ului.

Comenzi

npm run test           # node --test pe src/mcp, src/mcp/tools, src/well-known

npm run typecheck # tsc --noEmit — vede și .mjs (checkJs + include) npm run test:critical # ambele npm run dev # Next dev pe :3000 npm run build # next build

Gardă înainte de push
git config core.hooksPath .githooks

Activează .githooks/pre-push, care rulează test:critical și oprește push-ul dacă pică ceva. O singură dată pe clonă. Ocolire, când chiar trebuie: git push --no-verify.

npm run typecheck acoperă și fișierele .mjs (checkJs: true plus "**/*.mjs" în include). Fără acele două linii, gate-ul privea zero fișiere și trecea mereu.


Magazinul: [tatuat.ro](https://tatuat.ro) — echipament profesional de tatuaj și piercing.

PopNx fragen