Skip to main content
Glama
DodoNic

wandpad-etsy-mcp

by DodoNic

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoWenn gesetzt, läuft der Server im HTTP-Modus (Streamable HTTP, Pfad /mcp). Wird von Hosting-Plattformen wie Render automatisch gesetzt; lokal nicht vorhanden → stdio
ETSY_API_KEYYesKeystring deiner Etsy-App
ETSY_SHOP_IDNoWird sonst automatisch beim Login ermittelt
ETSY_SHOP_NAMENoNur zur Anzeige
ETSY_TOKEN_PATHNoAblageort der lokalen Tokens./.secrets/etsy-tokens.json
ETSY_REDIRECT_URIYesMuss exakt der in Etsy registrierten Callback-URL entsprechen
ETSY_TLS_KEY_PATHNoAblageort des lokalen TLS-Schlüssels
ETSY_SHARED_SECRETYesShared Secret deiner Etsy-App. Seit der Etsy-Änderung vom 2026-02-09 für jede Anfrage im x-api-key-Header erforderlich (keystring:secret), nicht nur für den Token-Austausch
ETSY_TLS_CERT_PATHNoAblageort des lokalen TLS-Zertifikats
ETSY_WRITE_ENABLEDNofalse (Default) = nur Lesezugriff. true schaltet die Stufe-2-Schreib-Tools frei - ersetzt NICHT die Einzelbestätigung vor jeder echten Änderungfalse
ETSY_AUDIT_LOG_PATHNoAblageort des Audit-Logs für spätere Schreibaktionen
ETSY_MCP_AUTH_TOKENNoEin langes Zufalls-Token (z.B. mit openssl rand -hex 32 erzeugen) - schützt den öffentlichen Endpunkt im HTTP-Modus

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
etsy_auth_statusA

Zeigt, ob gerade eine gültige Etsy-Anmeldung besteht (ohne Tokens preiszugeben), inkl. Scope und Ablaufzeitpunkt.

etsy_auth_loginA

Startet den OAuth-2.0-Login mit PKCE: öffnet die Etsy-Autorisierungsseite im Browser, empfängt den Callback lokal, prüft den state-Wert und speichert die Tokens sicher lokal. Fordert die Scopes shops_r, listings_r, transactions_r und listings_w an. listings_w allein aktiviert noch keine Schreibfunktion - dafür muss zusätzlich ETSY_WRITE_ENABLED=true lokal gesetzt sein.

etsy_auth_logoutA

Entfernt die lokal gespeicherten Etsy-Tokens. Eine erneute Anmeldung ist danach jederzeit möglich.

etsy_get_shopA

Liest Shop-Stammdaten von Etsy: Name, Titel, Ankündigung, Währung, Anzahl aktiver Listings, Favoriten, Bewertungsdurchschnitt, Urlaubsmodus-Status. Reine Fakten direkt von Etsy, keine Berechnung.

etsy_get_shop_sectionsA

Listet alle Kategorien (Shop-Sections) des Shops mit Titel, Rang und Anzahl aktiver Listings darin.

etsy_list_listingsA

Listet Listings des Shops auf, gefiltert nach Status (active/inactive/draft/expired/sold_out; ohne Angabe: nur aktive). Enthält Titel, Preis, Bestand, Tags, Zeitstempel je Listing. Maximal 100 Ergebnisse pro Aufruf (Etsy-Limit), Paginierung über 'offset'.

etsy_get_listingA

Liest die Detaildaten eines einzelnen Listings anhand seiner numerischen Listing-ID.

etsy_get_listing_inventoryA

Liest Varianten (Products/Offerings), SKUs, Preise pro Variante und Bestand für ein Listing. Wichtig für Analysen zu fehlenden SKUs oder niedrigen Beständen.

etsy_get_listing_imagesA

Liest die Produktbilder eines Listings inklusive ihrer Reihenfolge (rank) und Bild-URLs.

etsy_get_receiptsA

Liest Bestellungen des Shops (Etsy nennt sie 'Receipts') für einen optionalen Zeitraum (max. 366 Tage), mit Paginierung (max. 100 pro Aufruf). Aus Datenschutzgründen werden Käufername, Adresse und Kontaktdaten NICHT zurückgegeben - nur Status, Land (grob), Summen und Zeitstempel.

etsy_get_receipt_transactionsB

Liest die einzelnen Kaufpositionen (Transaktionen) des Shops: welches Listing, welche SKU, welche Menge und welcher Preis pro Bestellung verkauft wurde. Enthält keine Käuferdaten (buyer_user_id wird herausgefiltert).

etsy_analyze_shopA

Sammelt Shop-, Listing- und Section-Daten und berechnet daraus objektive Kennzahlen (z.B. Preisspanne, Aufrufe, fehlende Shop-Section, kurze Titel, wenige Tags, mögliche Duplikate, fehlende SKUs, optional niedriger Bestand je Variante). Die Antwort trennt strikt zwischen 'fakten' (unverändert von Etsy), 'kennzahlen' (deterministisch berechnet) und enthält BEWUSST KEINE fertigen Empfehlungen - Interpretation und Handlungsempfehlungen sollen auf Basis dieser Rohdaten von Claude selbst formuliert werden.

etsy_create_draft_listingA

Erstellt ein NEUES Listing IMMER als Entwurf (draft) - niemals direkt aktiv. Erfordert ETSY_WRITE_ENABLED=true. Standardmäßig dry_run:true (nur Vorschau). Für eine echte Erstellung: zuerst die Vorschau prüfen, dem Nutzer die geplanten Daten zeigen, dessen ausdrückliche Zustimmung einholen, dann erneut mit dry_run:false und confirm:true aufrufen.

etsy_update_listingA

Ändert Titel, Beschreibung, Materialien, Shop-Section, Kategorie oder Herstellungsangaben eines bestehenden Listings (NICHT Preis/Bestand/Tags/Status - dafür gibt es eigene Tools). Erfordert ETSY_WRITE_ENABLED=true. dry_run:true (Standard) zeigt nur die Vorschau (alt→neu).

etsy_update_tagsA

Setzt die Tag-Liste (max. 13, je max. 20 Zeichen) für ein oder mehrere Listings gleichzeitig. Betrifft die Aktion mehr als ein Listing, ist zusätzlich confirm_bulk:true nötig (Sammelbestätigung), nachdem der Nutzer die vollständige Liste bestätigt hat. dry_run:true (Standard) zeigt alt→neu je Listing.

etsy_update_priceA

Ändert den Preis eines Listings - entweder einheitlich ('price') für alle Varianten, oder individuell je Variante ('variation_prices'). Erfordert IMMER eine Einzelbestätigung (confirm:true nach ausdrücklicher Nutzerzustimmung). dry_run:true (Standard) zeigt alt→neu je Variante.

etsy_update_inventoryA

Ändert den Lagerbestand (quantity) eines Listings - einheitlich ('quantity') oder individuell je Variante ('variation_quantities'). Erfordert IMMER eine Einzelbestätigung. dry_run:true (Standard) zeigt alt→neu je Variante.

etsy_update_variationsA

Ersetzt die vollständige Varianten-/Angebotsstruktur (Products/Offerings inkl. SKU, Eigenschaften, Preis, Bestand) eines Listings - Experten-Tool für komplexere Änderungen (neue Variante hinzufügen, SKU-Schema umbauen etc.). Ersetzt IMMER die gesamte Struktur, keine Teil-Updates. Erfordert IMMER eine Einzelbestätigung. dry_run:true (Standard) zeigt aktuell vs. geplant im Vergleich.

etsy_upload_listing_imageA

Lädt ein lokal vorhandenes Bild (JPG/PNG/GIF, max. 10 MB) zu einem Listing hoch. Nur lokale Dateipfade, keine URLs (aus Sicherheitsgründen wird nichts von externen Quellen heruntergeladen). Erfordert IMMER eine Einzelbestätigung. dry_run:true (Standard) prüft nur Datei und zeigt die Vorschau.

etsy_reorder_listing_imagesA

Ändert die Anzeige-Reihenfolge (rank) bereits hochgeladener Bilder eines Listings, ohne sie neu hochzuladen. Erfordert IMMER eine Einzelbestätigung. dry_run:true (Standard) zeigt aktuelle vs. geplante Reihenfolge.

etsy_activate_listingA

Setzt den Status von einem oder mehreren Listings auf "active". Betrifft die Aktion mehr als ein Listing, ist zusätzlich confirm_bulk:true nötig (Sammelbestätigung). dry_run:true (Standard) zeigt den aktuellen Status je Listing.

etsy_deactivate_listingA

Setzt den Status von einem oder mehreren Listings auf "inactive". Betrifft die Aktion mehr als ein Listing, ist zusätzlich confirm_bulk:true nötig (Sammelbestätigung). dry_run:true (Standard) zeigt den aktuellen Status je Listing.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DodoNic/wandpad-etsy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server