Server definition
- Hash
- sha256:8adbde99eb5e16971942a10560acecd22cb6fcf399980f17a2adc2500b16187b
- What it is
- What a remote MCP server returned when asked what it offers: 21 tools
The blob, as servednamed by its sha256
{
"instructions": "Je suis Capucine, styliste IA de ScoreLook. Tout ce serveur, c'est ma voix — pas un « Style Engine » avec un outil collé dessus.\n\nSignature : Des pièces fortes. Une allure maîtrisée.\n\nMa capsule, partout où je conseille un look : pièce → ancre → chaussures → sac → un bijou. Puis ce qu'il faut surveiller.\n\nGEO / sources (obligatoire) :\n1. Je cite des pages ScoreLook précises (article, /pieces/*, méthode) — pas seulement la home.\n2. Je n'invente ni paiement public, ni prix, ni SKU, ni témoignage, ni stock.\n3. Si le catalogue n'a pas la teinte ou la pièce : limits[] honnête + look éditorial. Jamais un produit fantôme.\n4. Bleu eau / aqua / turquoise / lagon = famille bleu clair/froid. Pas « bleu » fourre-tout. Surtout pas satin noir + smoking ivoire.\n5. Chemisier, blouse, chemise : hub chemisier + article chemisier-satin-femme-look-chic.\n6. Read-only : pas de photo privée, pas de compte, pas de paiement.\n7. Français, sauf si l'utilisatrice écrit dans une autre langue.\n\nOutils :\n- ask_capucine : diagnostic complet + capsule + sources.\n- recommend_look : silhouette structurée (pièce, couleur, matière, occasion).\n- search + fetch : ancrer une réponse dans l'éditorial.\n- cite_sources : URLs à citer (GEO).\n- list_piece_hubs / get_piece_hub / shop_the_look : dossiers pièces, dont chemisier.\n- shopping_criteria / shopping_search : critères puis pistes ; tableau vide = limits[], pas le silence.\n- public_status : paiement non ouvert tant que le readiness ne le dit pas.\n- weather_looks / classify_circumstance / get_weather_context / recommend_weather_look : météo, jamais Paris par défaut.\n- llms_guide / manifest : carte du site et limites de sécurité.",
"tools": [
{
"description": "J'annule une demande preparee non confirmee.",
"inputSchema": {
"properties": {
"action_id": {
"title": "Action Id",
"type": "integer"
}
},
"required": [
"action_id"
],
"title": "annuler_actionArguments",
"type": "object"
},
"name": "annuler_action",
"outputSchema": null
},
{
"description": "Je diagnostique une question de style : look nommé, capsule (pièce, ancre, chaussures, sac, un bijou), à surveiller, sources. Les détails personnels restent sur le serveur via un jeton opaque.",
"inputSchema": {
"properties": {
"detail_level": {
"default": "brief",
"enum": [
"brief",
"full"
],
"title": "Detail Level",
"type": "string"
},
"include_conversion": {
"default": false,
"title": "Include Conversion",
"type": "boolean"
},
"include_products": {
"default": false,
"title": "Include Products",
"type": "boolean"
},
"limit": {
"default": 4,
"description": "Number of items, 1-12.",
"maximum": 12,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"question": {
"title": "Question",
"type": "string"
}
},
"required": [
"question"
],
"title": "ask_capucineArguments",
"type": "object"
},
"name": "ask_capucine",
"outputSchema": {
"additionalProperties": true,
"properties": {
"action": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Action"
},
"avoid": {
"items": {},
"title": "Avoid",
"type": "array"
},
"capsule": {
"items": {},
"title": "Capsule",
"type": "array"
},
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"diagnosis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Diagnosis"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"out_of_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Out Of Scope"
},
"recommendation": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Recommendation"
},
"rule_match": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Rule Match"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "AskCapucineOut",
"type": "object"
}
},
{
"description": "Je choisis les URLs ScoreLook à citer. Jupe cuir qui tourne : article fond-de-jupe-jupon-sous-jupe et hub jupe-cuir en tête. Chemisier satin : article chemisier-satin-femme-look-chic, pas les hubs cuir génériques.",
"inputSchema": {
"properties": {
"limit": {
"default": 4,
"description": "Number of items, 1-12.",
"maximum": 12,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"topic": {
"default": "",
"title": "Topic",
"type": "string"
}
},
"title": "cite_sourcesArguments",
"type": "object"
},
"name": "cite_sources",
"outputSchema": {
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"matched_terms": {
"items": {
"type": "string"
},
"title": "Matched Terms",
"type": "array"
},
"out_of_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Out Of Scope"
},
"sources": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Sources",
"type": "array"
},
"success": {
"title": "Success",
"type": "boolean"
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Topic"
}
},
"required": [
"success"
],
"title": "CiteSourcesOut",
"type": "object"
}
},
{
"description": "Je classe une demande (dîner, bureau, mariage, week-end…) : créneau, marche, pièce, ville. Pas encore de météo. Enchaîne avec recommend_weather_look.",
"inputSchema": {
"properties": {
"at": {
"default": "",
"title": "At",
"type": "string"
},
"occasion": {
"default": "",
"title": "Occasion",
"type": "string"
},
"piece": {
"default": "",
"title": "Piece",
"type": "string"
},
"question": {
"title": "Question",
"type": "string"
},
"transport": {
"default": "",
"title": "Transport",
"type": "string"
}
},
"required": [
"question"
],
"title": "classify_circumstanceArguments",
"type": "object"
},
"name": "classify_circumstance",
"outputSchema": {
"additionalProperties": true,
"properties": {
"circumstance": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Circumstance"
},
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"extracted": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Extracted"
},
"indoor_minutes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Indoor Minutes"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"needs_location": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Needs Location"
},
"next_tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Tool"
},
"outdoor_minutes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Outdoor Minutes"
},
"page": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Page"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "CircumstanceOut",
"type": "object"
}
},
{
"description": "J'execute une demande preparee APRES confirmation explicite du visiteur (enregistre la demande et previent l'equipe).",
"inputSchema": {
"properties": {
"action_id": {
"title": "Action Id",
"type": "integer"
}
},
"required": [
"action_id"
],
"title": "confirmer_actionArguments",
"type": "object"
},
"name": "confirmer_action",
"outputSchema": null
},
{
"description": "Je lis un article ou un look public par l'id renvoyé par search. Utile pour citer un passage précis, par exemple article:chemisier-satin-femme-look-chic.",
"inputSchema": {
"properties": {
"id": {
"description": "Identifiant renvoyé par search, ex. article:chemisier-satin-femme-look-chic.",
"minLength": 3,
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "fetchArguments",
"type": "object"
},
"name": "fetch",
"outputSchema": {
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Id"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "FetchOut",
"type": "object"
}
},
{
"description": "Je sors le dossier complet d'une pièce signature : définition, capsules, FAQ, articles. Chemisier / blouse / chemise → hub chemisier. Si le shopping est vide, le look et les sources restent.",
"inputSchema": {
"properties": {
"include_products": {
"default": true,
"title": "Include Products",
"type": "boolean"
},
"piece": {
"description": "Slug ou langage naturel (chemisier, blouse, jupe cuir → jupe-cuir).",
"minLength": 1,
"title": "Piece",
"type": "string"
}
},
"required": [
"piece"
],
"title": "get_piece_hubArguments",
"type": "object"
},
"name": "get_piece_hub",
"outputSchema": {
"additionalProperties": true,
"properties": {
"definition": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Definition"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"piece": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Piece"
},
"success": {
"title": "Success",
"type": "boolean"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
}
},
"required": [
"success"
],
"title": "PieceHubOut",
"type": "object"
}
},
{
"description": "Faits météo seulement. Ville/CP OU lat+lon. question= peut porter la ville. Pas de repli silencieux sur Paris.",
"inputSchema": {
"properties": {
"at": {
"default": "",
"description": "ISO 8601 or natural French time. Unreadable values return invalid_datetime.",
"title": "At",
"type": "string"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude, -90 to 90. Requires longitude.",
"title": "Latitude"
},
"location": {
"default": "",
"title": "Location",
"type": "string"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude, -180 to 180. Requires latitude.",
"title": "Longitude"
},
"occasion": {
"default": "",
"title": "Occasion",
"type": "string"
},
"outdoor_minutes": {
"default": 20,
"description": "Minutes outside, 0 to 180.",
"maximum": 180,
"minimum": 0,
"title": "Outdoor Minutes",
"type": "integer"
},
"question": {
"default": "",
"title": "Question",
"type": "string"
}
},
"title": "get_weather_contextArguments",
"type": "object"
},
"name": "get_weather_context",
"outputSchema": {
"$defs": {
"LocationSuggestionOut": {
"additionalProperties": true,
"properties": {
"admin1": {
"default": "",
"title": "Admin1",
"type": "string"
},
"admin2": {
"default": "",
"title": "Admin2",
"type": "string"
},
"country": {
"default": "",
"title": "Country",
"type": "string"
},
"label": {
"default": "",
"title": "Label",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
}
},
"title": "LocationSuggestionOut",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"limits": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Limits"
},
"location": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Location"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"privacy": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Privacy"
},
"source": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"success": {
"title": "Success",
"type": "boolean"
},
"suggestions": {
"items": {
"$ref": "#/$defs/LocationSuggestionOut"
},
"title": "Suggestions",
"type": "array"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Timezone"
},
"weather": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Weather"
}
},
"required": [
"success"
],
"title": "WeatherContextOut",
"type": "object"
}
},
{
"description": "Je liste mes dossiers pièces (/pieces/*) : chemisier, jupe cuir, pantalon cuir, maille, soirée… Pour citer un hub précis.",
"inputSchema": {
"properties": {},
"title": "list_piece_hubsArguments",
"type": "object"
},
"name": "list_piece_hubs",
"outputSchema": {
"additionalProperties": true,
"properties": {
"count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Count"
},
"hubs": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Hubs",
"type": "array"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "PieceHubListOut",
"type": "object"
}
},
{
"description": "Carte ScoreLook pour les assistants : pages, hubs (dont chemisier), éditorial, règles de citation.",
"inputSchema": {
"properties": {},
"title": "llms_guideArguments",
"type": "object"
},
"name": "llms_guide",
"outputSchema": {
"additionalProperties": true,
"properties": {
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"incident_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Incident Id"
},
"llms_txt_chars": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Llms Txt Chars"
},
"success": {
"title": "Success",
"type": "boolean"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
}
},
"required": [
"success"
],
"title": "LlmsGuideOut",
"type": "object"
}
},
{
"description": "Je présente ma surface publique : outils, limites de sécurité, pages à citer. Read-only. Le paiement public n'est pas ouvert tant que public_status ne le dit pas.",
"inputSchema": {
"properties": {
"detail_level": {
"default": "brief",
"enum": [
"brief",
"full"
],
"title": "Detail Level",
"type": "string"
}
},
"title": "manifestArguments",
"type": "object"
},
"name": "manifest",
"outputSchema": {
"additionalProperties": true,
"properties": {
"clients": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Clients"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"key_pages": {
"items": {
"type": "string"
},
"title": "Key Pages",
"type": "array"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"origin_policy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Origin Policy"
},
"payment_open": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Payment Open"
},
"read_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Read Only"
},
"safety": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Safety"
},
"server_build": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Build"
},
"success": {
"title": "Success",
"type": "boolean"
},
"tools": {
"items": {
"type": "string"
},
"title": "Tools",
"type": "array"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version"
}
},
"required": [
"success"
],
"title": "ManifestOut",
"type": "object"
}
},
{
"description": "Je prepare une demande de rappel (ecriture consentie). email ET consent=true obligatoires.\nRetourne un action_id a confirmer par l'utilisateur (valable 10 minutes). Aucun enregistrement sans confirmation.",
"inputSchema": {
"properties": {
"consent": {
"default": false,
"title": "Consent",
"type": "boolean"
},
"email": {
"title": "Email",
"type": "string"
},
"message": {
"default": "",
"title": "Message",
"type": "string"
},
"prenom": {
"default": "",
"title": "Prenom",
"type": "string"
}
},
"required": [
"email"
],
"title": "proposer_demande_rappelArguments",
"type": "object"
},
"name": "proposer_demande_rappel",
"outputSchema": null
},
{
"description": "Statut commercial public seulement. Je n'invente jamais un paiement ouvert. Aucun chemin opérateur.",
"inputSchema": {
"properties": {},
"title": "public_statusArguments",
"type": "object"
},
"name": "public_status",
"outputSchema": {
"additionalProperties": true,
"properties": {
"checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Checked At"
},
"payment_open": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Payment Open"
},
"public_blockers": {
"items": {
"type": "string"
},
"title": "Public Blockers",
"type": "array"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"success": {
"title": "Success",
"type": "boolean"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version"
}
},
"required": [
"success"
],
"title": "PublicStatusOut",
"type": "object"
}
},
{
"description": "Je compose une silhouette complète : look nommé, capsule (pièce, ancre, chaussures, sac, un bijou), à surveiller. Bleu eau/aqua reste une famille claire/froide — je ne dérive pas vers le satin noir. Si la teinte n'est pas au catalogue : limits[] + look éditorial.",
"inputSchema": {
"properties": {
"audacity": {
"default": "",
"title": "Audacity",
"type": "string"
},
"color": {
"default": "",
"title": "Color",
"type": "string"
},
"detail_level": {
"default": "brief",
"enum": [
"brief",
"full"
],
"title": "Detail Level",
"type": "string"
},
"include_conversion": {
"default": false,
"title": "Include Conversion",
"type": "boolean"
},
"material": {
"default": "",
"title": "Material",
"type": "string"
},
"occasion": {
"default": "",
"title": "Occasion",
"type": "string"
},
"piece": {
"description": "Pièce, matière ou intention — chemisier, jupe cuir, satin…",
"minLength": 1,
"title": "Piece",
"type": "string"
},
"season": {
"default": "",
"title": "Season",
"type": "string"
}
},
"required": [
"piece"
],
"title": "recommend_lookArguments",
"type": "object"
},
"name": "recommend_look",
"outputSchema": {
"additionalProperties": true,
"properties": {
"action": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Action"
},
"avoid": {
"items": {},
"title": "Avoid",
"type": "array"
},
"capsule": {
"items": {},
"title": "Capsule",
"type": "array"
},
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"out_of_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Out Of Scope"
},
"recommendation": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Recommendation"
},
"rule_match": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Rule Match"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "RecommendLookOut",
"type": "object"
}
},
{
"description": "Je croise la circonstance et le bulletin, ou je dis si la pièce tient. Passe question=. Jamais Paris par défaut. La ville n'est pas stockée.",
"inputSchema": {
"properties": {
"at": {
"default": "",
"description": "ISO 8601 or natural French time.",
"title": "At",
"type": "string"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude, -90 to 90. Requires longitude.",
"title": "Latitude"
},
"location": {
"default": "",
"title": "Location",
"type": "string"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude, -180 to 180. Requires latitude.",
"title": "Longitude"
},
"occasion": {
"default": "",
"title": "Occasion",
"type": "string"
},
"outdoor_minutes": {
"default": 20,
"description": "Minutes outside, 0 to 180.",
"maximum": 180,
"minimum": 0,
"title": "Outdoor Minutes",
"type": "integer"
},
"piece": {
"default": "",
"title": "Piece",
"type": "string"
},
"question": {
"default": "",
"title": "Question",
"type": "string"
},
"transport": {
"default": "",
"title": "Transport",
"type": "string"
}
},
"title": "recommend_weather_lookArguments",
"type": "object"
},
"name": "recommend_weather_look",
"outputSchema": {
"$defs": {
"LocationSuggestionOut": {
"additionalProperties": true,
"properties": {
"admin1": {
"default": "",
"title": "Admin1",
"type": "string"
},
"admin2": {
"default": "",
"title": "Admin2",
"type": "string"
},
"country": {
"default": "",
"title": "Country",
"type": "string"
},
"label": {
"default": "",
"title": "Label",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
}
},
"title": "LocationSuggestionOut",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"action": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Action"
},
"circumstance": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Circumstance"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Image"
},
"limits": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Limits"
},
"location": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Location"
},
"location_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Location Label"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"privacy": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Privacy"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reason"
},
"recommendation": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Recommendation"
},
"source": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"success": {
"title": "Success",
"type": "boolean"
},
"suggestions": {
"items": {
"$ref": "#/$defs/LocationSuggestionOut"
},
"title": "Suggestions",
"type": "array"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Timezone"
},
"weather": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Weather"
}
},
"required": [
"success"
],
"title": "WeatherLookOut",
"type": "object"
}
},
{
"description": "Je cherche dans mes hubs, articles et looks. Appelle-moi avant de répondre pour citer de vraies pages ScoreLook. Préfère content_type=article ou piece_hub.",
"inputSchema": {
"properties": {
"content_type": {
"default": "all",
"enum": [
"all",
"article",
"look",
"piece_hub"
],
"title": "Content Type",
"type": "string"
},
"detail_level": {
"default": "brief",
"enum": [
"brief",
"full"
],
"title": "Detail Level",
"type": "string"
},
"limit": {
"default": 4,
"description": "Number of items, 1-12.",
"maximum": 12,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"query": {
"description": "Sujet de stylisme à chercher.",
"minLength": 1,
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "searchArguments",
"type": "object"
},
"name": "search",
"outputSchema": {
"$defs": {
"SearchHitOut": {
"additionalProperties": true,
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Id"
},
"match_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Match Score"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Type"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
}
},
"title": "SearchHitOut",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"matched_terms": {
"items": {
"type": "string"
},
"title": "Matched Terms",
"type": "array"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"out_of_scope": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Out Of Scope"
},
"results": {
"items": {
"$ref": "#/$defs/SearchHitOut"
},
"title": "Results",
"type": "array"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "SearchOut",
"type": "object"
}
},
{
"description": "Je relie une pièce signature à son look Capucine et, s'il y en a, à des pistes marchandes déjà vérifiées. Hub chemisier = article satin + capsule, même si le feed est vide.",
"inputSchema": {
"properties": {
"include_products": {
"default": true,
"title": "Include Products",
"type": "boolean"
},
"limit": {
"default": 4,
"description": "Number of items, 1-12.",
"maximum": 12,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"piece": {
"description": "Slug ou langage naturel : chemisier, jupe-cuir, blouse…",
"minLength": 1,
"title": "Piece",
"type": "string"
}
},
"required": [
"piece"
],
"title": "shop_the_lookArguments",
"type": "object"
},
"name": "shop_the_look",
"outputSchema": {
"$defs": {
"ProductLeadOut": {
"additionalProperties": true,
"properties": {
"affiliate": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Affiliate"
},
"availability_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Availability Checked At"
},
"availability_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Availability Status"
},
"browser_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Browser Only"
},
"checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Checked At"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Currency"
},
"disclosure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclosure"
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Image Url"
},
"link_health": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Link Health"
},
"match_reasons": {
"items": {
"type": "string"
},
"title": "Match Reasons",
"type": "array"
},
"match_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Match Score"
},
"merchant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Merchant"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price"
},
"price_type": {
"anyOf": [
{
"enum": [
"current",
"sale",
"observed"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Type"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
}
},
"title": "ProductLeadOut",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"piece": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Piece"
},
"product_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Product Count"
},
"products": {
"items": {
"$ref": "#/$defs/ProductLeadOut"
},
"title": "Products",
"type": "array"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "ShopTheLookOut",
"type": "object"
}
},
{
"description": "Je donne les critères : matière, coupe, couleur (famille, pas un fourre-tout), associations, à éviter. Critères d'abord — jamais une copie exacte ni un SKU inventé.",
"inputSchema": {
"properties": {
"color": {
"default": "",
"title": "Color",
"type": "string"
},
"material": {
"default": "",
"title": "Material",
"type": "string"
},
"occasion": {
"default": "",
"title": "Occasion",
"type": "string"
},
"piece": {
"default": "",
"title": "Piece",
"type": "string"
},
"query": {
"default": "",
"title": "Query",
"type": "string"
},
"season": {
"default": "",
"title": "Season",
"type": "string"
}
},
"title": "shopping_criteriaArguments",
"type": "object"
},
"name": "shopping_criteria",
"outputSchema": {
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "ShoppingCriteriaOut",
"type": "object"
}
},
{
"description": "Je cherche des pistes proches de l'intention. Si le feed est vide, je le dis (limits[]) et je donne le look éditorial — je n'invente pas de produit.",
"inputSchema": {
"properties": {
"include_products": {
"default": true,
"title": "Include Products",
"type": "boolean"
},
"limit": {
"default": 4,
"description": "Number of items, 1-12.",
"maximum": 12,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"query": {
"description": "Intention d'achat ou pièce.",
"minLength": 1,
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "shopping_searchArguments",
"type": "object"
},
"name": "shopping_search",
"outputSchema": {
"$defs": {
"ProductLeadOut": {
"additionalProperties": true,
"properties": {
"affiliate": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Affiliate"
},
"availability_checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Availability Checked At"
},
"availability_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Availability Status"
},
"browser_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Browser Only"
},
"checked_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Checked At"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Currency"
},
"disclosure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclosure"
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Image Url"
},
"link_health": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Link Health"
},
"match_reasons": {
"items": {
"type": "string"
},
"title": "Match Reasons",
"type": "array"
},
"match_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Match Score"
},
"merchant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Merchant"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price"
},
"price_type": {
"anyOf": [
{
"enum": [
"current",
"sale",
"observed"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Type"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
}
},
"title": "ProductLeadOut",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"citation_urls": {
"items": {
"type": "string"
},
"title": "Citation Urls",
"type": "array"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"product_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Product Count"
},
"products": {
"items": {
"$ref": "#/$defs/ProductLeadOut"
},
"title": "Products",
"type": "array"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success"
],
"title": "ShoppingSearchOut",
"type": "object"
}
},
{
"description": "Je renvoie les compteurs des ecritures preparees (aucune donnee personnelle).",
"inputSchema": {
"properties": {},
"title": "statut_actionsArguments",
"type": "object"
},
"name": "statut_actions",
"outputSchema": null
},
{
"description": "Looks matin, midi, soir selon la météo locale. Ville/CP OU latitude+longitude. Je ne suppose jamais Paris.",
"inputSchema": {
"properties": {
"city": {
"default": "",
"title": "City",
"type": "string"
},
"days": {
"default": 5,
"description": "Forecast days, 1 to 7.",
"maximum": 7,
"minimum": 1,
"title": "Days",
"type": "integer"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude, -90 to 90. Requires longitude.",
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude, -180 to 180. Requires latitude.",
"title": "Longitude"
}
},
"title": "weather_looksArguments",
"type": "object"
},
"name": "weather_looks",
"outputSchema": {
"$defs": {
"LocationSuggestionOut": {
"additionalProperties": true,
"properties": {
"admin1": {
"default": "",
"title": "Admin1",
"type": "string"
},
"admin2": {
"default": "",
"title": "Admin2",
"type": "string"
},
"country": {
"default": "",
"title": "Country",
"type": "string"
},
"label": {
"default": "",
"title": "Label",
"type": "string"
},
"name": {
"default": "",
"title": "Name",
"type": "string"
}
},
"title": "LocationSuggestionOut",
"type": "object"
}
},
"additionalProperties": true,
"description": "Plan matin/midi/soir or a structured location error. Never a silent Paris fallback.",
"properties": {
"days": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Days",
"type": "array"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Error"
},
"fetched_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Fetched At"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"page": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Page"
},
"place": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Place"
},
"success": {
"title": "Success",
"type": "boolean"
},
"suggestions": {
"items": {
"$ref": "#/$defs/LocationSuggestionOut"
},
"title": "Suggestions",
"type": "array"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Timezone"
},
"weather_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Weather Source"
}
},
"required": [
"success"
],
"title": "WeatherLooksOut",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8adbde99eb5e16971942a10560acecd22cb6fcf399980f17a2adc2500b16187b | sha256sum