Motif & Moi

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

使うべきか

品質と安全性

A
説明の品質
81%
スキーマの完全性
89%
命名の品質
100%
ポイズニングのリスク
80%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(5)

  • HIGHTool poisoning patterns detected
  • LOWTool 'get_quote' description lacks action verbget_quote 内
  • LOWTool 'get_design_preview' description lacks action verbget_design_preview 内
  • LOWTool 'get_order_status' description lacks action verbget_order_status 内
  • INFOTool description contains placeholder or incomplete textget_order_status 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,022トークン数(ツール定義)
~3.5 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.36%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "motif-et-moi": {
      "url": "https://motifetmoi.com/mcp"
    }
  }
}

リモートエンドポイント

https://motifetmoi.com/mcpstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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é.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  },
  "required": [
    "order_number",
    "email"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件