Vintage Postcard
Affiches vintage : catalogue, devis livraison comprise et paiement Stripe.
我该使用它吗
质量与安全性
发现(4)
- LOW在 quote_cart 中
- LOW在 start_order 中
- LOW在 get_order_status 中
- LOW在 request_custom_poster 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `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
}社区
证据