Motif & Moi

Custom clothing printed in Rennes, France: catalog, quotes, delivery dates, prefilled order links.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
81%
Integridad del esquema
89%
Calidad de los nombres
100%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (5)

  • HIGHTool poisoning patterns detected
  • LOWTool 'get_quote' description lacks action verben get_quote
  • LOWTool 'get_design_preview' description lacks action verben get_design_preview
  • LOWTool 'get_order_status' description lacks action verben get_order_status
  • INFOTool description contains placeholder or incomplete texten get_order_status

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,022Tokens (definiciones de herramientas)
~3.5 KBTamaño de respuesta típico
Impacto significativo en la atención (2.36% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas