Motif & Moi
Custom clothing printed in Rennes, France: catalog, quotes, delivery dates, prefilled order links.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- HIGH
- LOWen get_quote
- LOWen get_design_preview
- LOWen get_order_status
- INFOen get_order_status
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": {
"motif-et-moi": {
"url": "https://motifetmoi.com/mcp"
}
}
}Puntos de conexión remotos
https://motifetmoi.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (7)
🟢list_products(category)
Vêtements personnalisables (T-shirt, sweat, hoodie, polo, tote bag…) : qualités, matières, prix « dès » TTC, couleurs, tailles, faces imprimables avec leur taille maximale et leur supplément, remises de quantité, encres et polices. À appeler en premier.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Filtrer sur une catégorie."
}
}
}🟢get_quote(category, quality, color, front_format, texts, ...)
Prix TTC exact (remise de quantité comprise), frais de livraison et date de réception estimée pour une personnalisation, sans rien enregistrer. Donner postal_code pour la date.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Catégorie (identifiant de list_products), ex. t-shirt, sweat, hoodie, polo, tote-bag."
},
"quality": {
"type": "string",
"enum": [
"eco",
"standard",
"premium"
],
"description": "Qualité : eco, standard (défaut) ou premium, selon la catégorie."
},
"color": {
"type": "string",
"description": "Couleur du vêtement (nom de list_products, ex. Noir)."
},
"front_format": {
"type": "string",
"enum": [
"coeur",
"grand"
],
"description": "Devant : petit logo sur le cœur (compris dans le prix) ou grand format (supplément)."
},
"texts": {
"type": "array",
"description": "Textes imprimés. Pour un prénom ou un numéro différent sur chaque pièce : per_piece, sans text, et la liste pieces.",
"items": {
"type": "object",
"properties": {
"side": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
],
"description": "front, back, left (manche gauche), right (manche droite), nuque."
},
"text": {
"type": "string",
"description": "Texte (3 lignes de 40 caractères au plus)."
},
"per_piece": {
"type": "string",
"enum": [
"name",
"number"
],
"description": "Texte variable : prénom ou numéro de chaque pièce."
},
"font": {
"type": "string",
"description": "sport (défaut), classique, fun, ou anton, bebas, montserrat, playfair, pacifico, marker, oswald, graduate."
},
"ink": {
"type": "string",
"description": "Encre (nom de list_products) ; par défaut la plus contrastée avec le vêtement."
},
"size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
}
},
"required": [
"side"
]
}
},
"logo_sides": {
"type": "array",
"items": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
]
},
"description": "Faces qui portent le logo (défaut : front)."
},
"logo_size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
},
"sizes": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
},
"description": "Quantités par taille, ex. {\"M\": 10, \"L\": 5}. Inutile avec pieces."
},
"pieces": {
"type": "array",
"description": "Une entrée par pièce quand un texte est « par pièce » : taille, prénom, numéro.",
"items": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"type": "string"
}
},
"required": [
"size"
]
}
},
"postal_code": {
"type": "string",
"description": "Code postal français de livraison : donne la date de réception."
},
"shipping": {
"type": "string",
"enum": [
"standard",
"express"
]
}
},
"required": [
"category"
]
}🟡create_design(category, quality, color, front_format, texts, ...)
Enregistre la personnalisation (logo par URL https publique ou en base64, textes, prénoms et numéros par pièce, quantités) et renvoie un lien vers le configurateur prérempli, un aperçu et le devis. Rien n’est commandé : le client ouvre le lien, vérifie le visuel (bon à tirer), puis commande et paie lui-même. Le lien reste valable 90 jours.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Catégorie (identifiant de list_products), ex. t-shirt, sweat, hoodie, polo, tote-bag."
},
"quality": {
"type": "string",
"enum": [
"eco",
"standard",
"premium"
],
"description": "Qualité : eco, standard (défaut) ou premium, selon la catégorie."
},
"color": {
"type": "string",
"description": "Couleur du vêtement (nom de list_products, ex. Noir)."
},
"front_format": {
"type": "string",
"enum": [
"coeur",
"grand"
],
"description": "Devant : petit logo sur le cœur (compris dans le prix) ou grand format (supplément)."
},
"texts": {
"type": "array",
"description": "Textes imprimés. Pour un prénom ou un numéro différent sur chaque pièce : per_piece, sans text, et la liste pieces.",
"items": {
"type": "object",
"properties": {
"side": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
],
"description": "front, back, left (manche gauche), right (manche droite), nuque."
},
"text": {
"type": "string",
"description": "Texte (3 lignes de 40 caractères au plus)."
},
"per_piece": {
"type": "string",
"enum": [
"name",
"number"
],
"description": "Texte variable : prénom ou numéro de chaque pièce."
},
"font": {
"type": "string",
"description": "sport (défaut), classique, fun, ou anton, bebas, montserrat, playfair, pacifico, marker, oswald, graduate."
},
"ink": {
"type": "string",
"description": "Encre (nom de list_products) ; par défaut la plus contrastée avec le vêtement."
},
"size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
}
},
"required": [
"side"
]
}
},
"logo_sides": {
"type": "array",
"items": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
]
},
"description": "Faces qui portent le logo (défaut : front)."
},
"logo_size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
},
"sizes": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0
},
"description": "Quantités par taille, ex. {\"M\": 10, \"L\": 5}. Inutile avec pieces."
},
"pieces": {
"type": "array",
"description": "Une entrée par pièce quand un texte est « par pièce » : taille, prénom, numéro.",
"items": {
"type": "object",
"properties": {
"size": {
"type": "string"
},
"name": {
"type": "string"
},
"number": {
"type": "string"
}
},
"required": [
"size"
]
}
},
"postal_code": {
"type": "string",
"description": "Code postal français de livraison : donne la date de réception."
},
"shipping": {
"type": "string",
"enum": [
"standard",
"express"
]
},
"logo_url": {
"type": "string",
"description": "Adresse https publique du logo (PNG, JPG, WebP ou SVG, 20 Mo max)."
},
"logo_base64": {
"type": "string",
"description": "Logo encodé en base64 (à la place de logo_url)."
},
"logo_filename": {
"type": "string"
}
},
"required": [
"category"
]
}🟡create_group_order(category, quality, color, front_format, texts, ...)
Pour un club, une classe, une association : crée le modèle et deux liens. Le lien membres est à partager (WhatsApp, e-mail) : chacun y choisit sa taille, saisit son prénom et son numéro si le modèle en a (texte per_piece), et paie sa part en ligne si pay_mode vaut members. Le lien responsable est privé : il suit les inscriptions et passe la commande pour tous à la date limite (il vérifie alors le visuel et paie le solde). Plus le groupe est nombreux, moins c’est cher : la remise porte sur tout le groupe et le trop-perçu des premiers inscrits leur est remboursé.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Catégorie (identifiant de list_products), ex. t-shirt, sweat, hoodie, polo, tote-bag."
},
"quality": {
"type": "string",
"enum": [
"eco",
"standard",
"premium"
],
"description": "Qualité : eco, standard (défaut) ou premium, selon la catégorie."
},
"color": {
"type": "string",
"description": "Couleur du vêtement (nom de list_products, ex. Noir)."
},
"front_format": {
"type": "string",
"enum": [
"coeur",
"grand"
],
"description": "Devant : petit logo sur le cœur (compris dans le prix) ou grand format (supplément)."
},
"texts": {
"type": "array",
"description": "Textes imprimés. Pour un prénom ou un numéro différent sur chaque pièce : per_piece, sans text, et la liste pieces.",
"items": {
"type": "object",
"properties": {
"side": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
],
"description": "front, back, left (manche gauche), right (manche droite), nuque."
},
"text": {
"type": "string",
"description": "Texte (3 lignes de 40 caractères au plus)."
},
"per_piece": {
"type": "string",
"enum": [
"name",
"number"
],
"description": "Texte variable : prénom ou numéro de chaque pièce."
},
"font": {
"type": "string",
"description": "sport (défaut), classique, fun, ou anton, bebas, montserrat, playfair, pacifico, marker, oswald, graduate."
},
"ink": {
"type": "string",
"description": "Encre (nom de list_products) ; par défaut la plus contrastée avec le vêtement."
},
"size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
}
},
"required": [
"side"
]
}
},
"logo_sides": {
"type": "array",
"items": {
"type": "string",
"enum": [
"front",
"back",
"left",
"right",
"nuque"
]
},
"description": "Faces qui portent le logo (défaut : front)."
},
"logo_size": {
"type": "string",
"enum": [
"s",
"m",
"l"
],
"description": "Taille dans la zone : s (petit), m (moyen, défaut), l (grand)."
},
"logo_url": {
"type": "string",
"description": "Adresse https publique du logo (PNG, JPG, WebP ou SVG, 20 Mo max)."
},
"logo_base64": {
"type": "string",
"description": "Logo encodé en base64 (à la place de logo_url)."
},
"logo_filename": {
"type": "string"
},
"title": {
"type": "string",
"description": "Nom de la commande, ex. « Sweats du FC Rennes Sud »."
},
"deadline": {
"type": "string",
"description": "Date limite des inscriptions (AAAA-MM-JJ), à venir."
},
"pay_mode": {
"type": "string",
"enum": [
"members",
"owner"
],
"description": "members (défaut) : chacun paie sa part en ligne ; owner : le responsable règle tout."
},
"club_margin_pct": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"description": "Avec pay_mode members : marge en % ajoutée au prix de chaque membre pour la caisse du club, reversée au club par virement après la commande (IBAN à saisir sur owner_url)."
}
},
"required": [
"category",
"title"
]
}🟢get_group_status(group_id, owner_key)
Inscriptions d’une commande de groupe (tailles, prénoms, numéros, paiements) pour son responsable : group_id et owner_key renvoyés par create_group_order.
Esquema de entrada
{
"type": "object",
"properties": {
"group_id": {
"type": "string"
},
"owner_key": {
"type": "string"
}
},
"required": [
"group_id",
"owner_key"
]
}🟢get_design_preview(design_id)
Image PNG du vêtement personnalisé (chaque face marquée et gros plans), pour montrer le rendu au client avant qu’il ouvre le lien.
Esquema de entrada
{
"type": "object",
"properties": {
"design_id": {
"type": "string"
}
},
"required": [
"design_id"
]
}🟢get_order_status(order_number, email)
Étape de fabrication et de livraison d’une commande payée, avec son numéro (MM-XXXXXX) et l’e-mail utilisé pour la payer.
Esquema de entrada
{
"type": "object",
"properties": {
"order_number": {
"type": "string"
},
"email": {
"type": "string"
}
},
"required": [
"order_number",
"email"
]
}Comunidad
Evidencia