# Capucine

> Capucine, styliste IA ScoreLook : looks sourcés, météo, hubs pièces, critères shopping.

- name: fr.scorelook/capucine
- version: 2026-08-18-v38
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/fr.scorelook%2Fcapucine
- tools: https://api.protogrid.dev/v1/servers/fr.scorelook%2Fcapucine/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "capucine": {
      "type": "http",
      "url": "https://scorelook.fr/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% +updated-29d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 21 of 21 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,173 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 21, about 3,173 tokens to load them all
- tool set hash: fb16ef0516f54ff1a3fbf68b6e393409
- tools last changed: 2026-10-05T02:20:52.817Z
- badge: [![protogrid quality](https://protogrid.dev/badge/fr.scorelook/capucine.svg)](https://protogrid.dev/servers/fr.scorelook/capucine)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-05 `annuler_action` changed (annotations)
- 2026-10-05 `confirmer_action` changed (annotations)
- 2026-10-05 `proposer_demande_rappel` changed (description, annotations)
  - before: Je prepare une demande de rappel (ecriture consentie). email ET consent=true obligatoires. Retourne un action_id a confirmer par l'utilisateur (valable 10 minutes). Aucun enregistrement sans confirmation.
  - after: Je prepare une demande de rappel (ecriture consentie). email ET consent=true obligatoires. Retourne un action_id a confirmer par l'utilisateur (valable 10 minutes). Une demande provisoire est enregistrée ; le contact et la notification attendent la confirmation.
- 2026-09-27 `statut_actions` added
  - Je renvoie les compteurs des ecritures preparees (aucune donnee personnelle).
- 2026-09-27 `annuler_action` added
  - J'annule une demande preparee non confirmee.
- 2026-09-27 `confirmer_action` added
  - J'execute une demande preparee APRES confirmation explicite du visiteur (enregistre la demande et previent l'equipe).
- 2026-09-27 `proposer_demande_rappel` added
  - Je prepare une demande de rappel (ecriture consentie). email ET consent=true obligatoires. Retourne un action_id a confirmer par l'utilisateur (valable 10 minutes). Aucun enregistrement sans confirmation.

Full history: https://api.protogrid.dev/v1/servers/fr.scorelook%2Fcapucine/changes

## Remotes

- https://scorelook.fr/mcp (streamable-http, auth none, reachable true, uptime30d 0.9734513)

## Packages

_none_

## Tools (21)

- `annuler_action`: J'annule une demande preparee non confirmee.
- `ask_capucine`: 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.
- `cite_sources`: 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.
- `classify_circumstance`: 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.
- `confirmer_action`: J'execute une demande preparee APRES confirmation explicite du visiteur (enregistre la demande et previent l'equipe).
- `fetch`: 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.
- `get_piece_hub`: 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.
- `get_weather_context`: Faits météo seulement. Ville/CP OU lat+lon. question= peut porter la ville. Pas de repli silencieux sur Paris.
- `list_piece_hubs`: Je liste mes dossiers pièces (/pieces/*) : chemisier, jupe cuir, pantalon cuir, maille, soirée… Pour citer un hub précis.
- `llms_guide`: Carte ScoreLook pour les assistants : pages, hubs (dont chemisier), éditorial, règles de citation.
- `manifest`: 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.
- `proposer_demande_rappel`: Je prepare une demande de rappel (ecriture consentie). email ET consent=true obligatoires.
Retourne un action_id a confirmer par l'utilisateur (valable 10 minutes). Une demande provisoire est enregistrée ; le contact et la notification attendent la confirmation.
- `public_status`: Statut commercial public seulement. Je n'invente jamais un paiement ouvert. Aucun chemin opérateur.
- `recommend_look`: 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.
- `recommend_weather_look`: 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.
- `search`: 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.
- `shopping_criteria`: 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é.
- `shopping_search`: 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.
- `shop_the_look`: 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.
- `statut_actions`: Je renvoie les compteurs des ecritures preparees (aucune donnee personnelle).
- `weather_looks`: Looks matin, midi, soir selon la météo locale. Ville/CP OU latitude+longitude. Je ne suppose jamais Paris.
