Vintage Postcard

Affiches vintage : catalogue, devis livraison comprise et paiement Stripe.

Sollte ich dies verwenden

Qualität und Sicherheit

B
Qualität der Beschreibung
86%
Vollständigkeit des Schemas
69%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

  • LOWTool 'quote_cart' description lacks action verbin quote_cart
  • LOWTool 'start_order' description lacks action verbin start_order
  • LOWTool 'get_order_status' description lacks action verbin get_order_status
  • LOWTool 'request_custom_poster' description lacks action verbin request_custom_poster

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,573Tokens (Tool-Definitionen)
~993 BTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.23% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "boutique": {
      "url": "https://vintage-postcard.fr/mcp"
    }
  }
}

Remote-Endpunkte

https://vintage-postcard.fr/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (10)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_postcards(collection, country, limit, max_price, min_price, ...)

Recherche dans tout le catalogue d'affiches vintage par mot-clé (ville, pays, région, thème), collection et filtres de prix. Renvoie les affiches avec prix, promo, image et URL de la page produit.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "collection": {
      "description": "Filtre collection exact : « Destinations » (affiches de villes) ou « Vintage »",
      "type": "string"
    },
    "country": {
      "description": "Filtre pays exact, ex. « Portugal »",
      "type": "string"
    },
    "limit": {
      "default": 12,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "max_price": {
      "description": "Prix maximum en euros",
      "type": "number"
    },
    "min_price": {
      "description": "Prix minimum en euros",
      "type": "number"
    },
    "offset": {
      "default": 0,
      "minimum": 0,
      "type": "integer"
    },
    "query": {
      "description": "Mot-clé : ville, pays, paysage… ex. « Lisbonne », « île »",
      "type": "string"
    },
    "region": {
      "description": "Filtre région exact",
      "type": "string"
    },
    "sort": {
      "default": "relevance",
      "enum": [
        "relevance",
        "price_asc",
        "price_desc",
        "name"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_postcard(name, product_id)

Fiche complète d'une affiche : description, prix, prix barré, formats, option cadre, image, frais de port et affiches similaires. Accepte un identifiant ou un nom de ville.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Nom de la ville / du lieu",
      "type": "string"
    },
    "product_id": {
      "description": "Identifiant de l'affiche",
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "anyOf": [
    {
      "required": [
        "product_id"
      ]
    },
    {
      "required": [
        "name"
      ]
    }
  ]
}
🟢list_destinations

Toutes les destinations du catalogue, groupées par pays avec le nombre d'affiches et quelques exemples.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_catalog_overview

Chiffres clés de la boutique : nombre d'affiches, pays couverts, fourchette de prix, formats, prix du cadre, règles de livraison.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢quote_cart(items)

Devis exact d'un panier : sous-total, option cadre, frais de livraison (offerts dès 30 €) et total. À utiliser avant d'annoncer un prix au client.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "product_id": {
            "type": "integer"
          },
          "quantity": {
            "default": 1,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": "A4",
            "enum": [
              "A5",
              "A4",
              "A3"
            ],
            "type": "string"
          },
          "with_frame": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "product_id"
        ],
        "type": "object"
      },
      "minItems": 1,
      "type": "array"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
⚪start_order(email, first_name, items, last_name, shipping_address)

Crée une session de commande pour le client (panier + email + adresse de livraison optionnelle) et renvoie son identifiant, à utiliser ensuite avec `pay_order`. Aucun paiement n'est déclenché à cette étape.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Email du client (confirmation de commande)",
      "type": "string"
    },
    "first_name": {
      "type": "string"
    },
    "items": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "product_id": {
            "type": "integer"
          },
          "quantity": {
            "default": 1,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "enum": [
              "A5",
              "A4",
              "A3"
            ],
            "type": "string"
          },
          "with_frame": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "product_id"
        ],
        "type": "object"
      },
      "minItems": 1,
      "type": "array"
    },
    "last_name": {
      "type": "string"
    },
    "shipping_address": {
      "additionalProperties": false,
      "properties": {
        "address": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "country": {
          "default": "France",
          "type": "string"
        },
        "zip_code": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "items",
    "email"
  ],
  "additionalProperties": false
}
⚪pay_order(method, payment_token, session_id)

Déclenche le paiement d'une session ouverte avec `start_order`. • method="hosted_checkout" (défaut) : renvoie un lien de paiement Stripe à transmettre au client, qui confirme lui-même sa carte. • method="delegated_token" : confirme immédiatement le paiement avec un token délégué. Réservé aux agents authentifiés par une clé API de la boutique, et plafonné par commande.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "method": {
      "default": "hosted_checkout",
      "enum": [
        "hosted_checkout",
        "delegated_token"
      ],
      "type": "string"
    },
    "payment_token": {
      "description": "Token de paiement délégué (Stripe), pour delegated_token",
      "type": "string"
    },
    "session_id": {
      "description": "Identifiant renvoyé par `start_order`",
      "type": "string"
    }
  },
  "required": [
    "session_id"
  ],
  "additionalProperties": false
}
🟢get_order_status(email, order_id, session_id)

Statut d'une commande (en attente, payée, annulée) à partir de son numéro et de l'email du client, ou de l'identifiant de session de commande.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string"
    },
    "order_id": {
      "type": "integer"
    },
    "session_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪request_custom_poster(additional_info, city, email, style)

Enregistre une demande de création d'affiche vintage sur mesure (ville, style, précisions). L'équipe recontacte le client par email avec une proposition.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "additional_info": {
      "description": "Précisions, souvenir, couleurs…",
      "type": "string"
    },
    "city": {
      "description": "Ville ou lieu à illustrer",
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "style": {
      "description": "Style souhaité, ex. « vintage années 50 »",
      "type": "string"
    }
  },
  "required": [
    "email",
    "city"
  ],
  "additionalProperties": false
}
🟢get_store_policies

Livraison, retours, formats, moyens de paiement et FAQ. À citer plutôt que de deviner.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools