Vintage Postcard
Affiches vintage : catalogue, devis livraison comprise et paiement Stripe.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (4)
- LOWen quote_cart
- LOWen start_order
- LOWen get_order_status
- LOWen request_custom_poster
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"boutique": {
"url": "https://vintage-postcard.fr/mcp"
}
}
}Puntos de conexión remotos
https://vintage-postcard.fr/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Comunidad
Evidencia