Vintage Postcard
Affiches vintage : catalogue, devis livraison comprise et paiement Stripe.
사용해야 할까요
품질 및 안전성
발견 사항 (4)
- LOWquote_cart에서
- LOWstart_order에서
- LOWget_order_status에서
- LOWrequest_custom_poster에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"boutique": {
"url": "https://vintage-postcard.fr/mcp"
}
}
}원격 엔드포인트
https://vintage-postcard.fr/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}커뮤니티
증거