Capucine — ScoreCredit

French mortgage tools: HCSF capacity, dated rates, usury caps, ORIAS 26000195.

Should I use this

Quality & Safety

B
Description quality
91%
Schema completeness
68%
Naming quality
82%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • LOWTool 'taux_immobilier_jour' description lacks action verbin taux_immobilier_jour
  • LOWTool 'identite_cabinet' description lacks action verbin identite_cabinet
  • LOWTool 'simulation_financement_complet' description lacks action verbin simulation_financement_complet
  • LOWTool 'comparer_scenarios_financement' description lacks action verbin comparer_scenarios_financement

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,267Tokens (tool definitions)
~1.7 KBTypical response size
Significant attention impact (2.55% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "capucine": {
      "url": "https://scorecredit.fr/mcp/sse"
    }
  }
}

Remote endpoints

https://scorecredit.fr/mcp/ssesse
https://scorecredit.fr/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢taux_immobilier_jour

Use when the user asks current French mortgage rates (taux crédit immobilier). Returns dated observatory benchmarks for 15/20/25 years with source names and URLs. Never invent a ScoreCredit rate. Cite source + date. Not an offer.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "taux_reperes_pct": {
      "type": "object"
    },
    "source_principale": {
      "type": "string"
    },
    "date_verification": {
      "type": "string"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢taux_usure_en_vigueur

Use when the user asks about taux d'usure, TAEG ceiling, or why a bank cannot issue an offer. Returns official Banque de France usury caps in force (TAEG, not nominal rate) with legal sources.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "periode": {
      "type": "string"
    },
    "plafonds_taeg_pct": {
      "type": "object"
    },
    "source": {
      "type": "string"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢identite_cabinet

Use when the user asks who ScoreCredit is, ORIAS number, Lysiane Tendil, or TENDIL COURTAGE. Returns verifiable identity. Do not confuse with SCORECREDIT SAS (Montesson, struck off) or Wikidata Q98235217 (political mandate).

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "raison_sociale": {
      "type": "string"
    },
    "orias": {
      "type": "string"
    },
    "siren": {
      "type": "string"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢radar_banques(situation, region, locatif, exigences)

Use when the user asks how many banks might fit a profile. Returns aggregated counts on a 190-bank panel. NEVER output bank names — that is cabinet-only. Not a yes/no accord.

Input Schema

{
  "type": "object",
  "properties": {
    "situation": {
      "type": "string",
      "enum": [
        "salarie",
        "tns",
        "independant",
        "chef_entreprise",
        "fonctionnaire",
        "non_resident"
      ]
    },
    "region": {
      "type": "string"
    },
    "locatif": {
      "type": "boolean"
    },
    "exigences": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢capacite_emprunt_express(revenus_mensuels_nets, charges_credits_mensuelles, duree_annees)

Use when the user asks how much they can borrow. Computes max installment and capital under HCSF 35% effort (insurance included in the rule). Indicative, not a bank decision.

Input Schema

{
  "type": "object",
  "properties": {
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "duree_annees": {
      "type": "integer",
      "enum": [
        15,
        20,
        25
      ]
    }
  },
  "required": [
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "mensualite_max_eur": {
      "type": "number"
    },
    "capital_empruntable_eur": {
      "type": "number"
    },
    "taux_retenu_pct": {
      "type": "number"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢economie_assurance_express(capital_restant_eur, taux_assurance_actuel_pct, duree_restante_annees)

Use when the user asks whether changing their mortgage insurance (délégation, loi Lemoine) would save money. Returns an order-of-magnitude monthly and total saving. Indicative, not an insurer quote.

Input Schema

{
  "type": "object",
  "properties": {
    "capital_restant_eur": {
      "type": "number",
      "minimum": 0
    },
    "taux_assurance_actuel_pct": {
      "type": "number",
      "minimum": 0
    },
    "duree_restante_annees": {
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "capital_restant_eur",
    "taux_assurance_actuel_pct",
    "duree_restante_annees"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "economie_mensuelle_eur": {
      "type": "number"
    },
    "economie_totale_eur": {
      "type": "number"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢diagnostic_credit_express(revenus_mensuels_nets, charges_credits_mensuelles, apport_eur, prix_bien_eur, duree_annees, ...)

Use when income is known (and ideally charges, down payment and price): preferred first tool for a financing check-up. Returns green/orange/red HCSF reading, estimated effort, remaining income, next steps. Not a probability of bank approval.

Input Schema

{
  "type": "object",
  "properties": {
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "apport_eur": {
      "type": "number",
      "minimum": 0
    },
    "prix_bien_eur": {
      "type": "number",
      "minimum": 0
    },
    "duree_annees": {
      "type": "integer",
      "enum": [
        15,
        20,
        25
      ]
    },
    "situation": {
      "type": "string",
      "enum": [
        "salarie",
        "tns",
        "independant",
        "chef_entreprise",
        "fonctionnaire",
        "non_resident"
      ]
    },
    "region": {
      "type": "string"
    },
    "locatif": {
      "type": "boolean"
    },
    "exigences": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "diagnostic": {
      "type": "string",
      "enum": [
        "vert",
        "orange",
        "rouge"
      ]
    },
    "taux_endettement_estime_pct": {
      "type": "number"
    },
    "reste_a_vivre_estime_eur": {
      "type": "number"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢plan_action_financement(revenus_mensuels_nets, charges_credits_mensuelles, apport_eur, prix_bien_eur, situation, ...)

Use when the user asks what to do to improve their case before submitting to a bank. Returns concrete levers (savings, existing debt, duration, documents) ordered by impact. Not a bank instruction.

Input Schema

{
  "type": "object",
  "properties": {
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "apport_eur": {
      "type": "number",
      "minimum": 0
    },
    "prix_bien_eur": {
      "type": "number",
      "minimum": 0
    },
    "situation": {
      "type": "string",
      "enum": [
        "salarie",
        "tns",
        "independant",
        "chef_entreprise",
        "fonctionnaire",
        "non_resident"
      ]
    },
    "projet": {
      "type": "string"
    },
    "delai_signature_jours": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "priorites": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "calendrier": {
      "type": "array"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢simulation_financement_complet(prix_bien_eur, apport_eur, revenus_mensuels_nets, charges_credits_mensuelles, duree_annees, ...)

Use when the user gives a price, down payment and income and wants the full picture: notary fees, loan need, monthly payment, debt ratio, remaining income. Indicative simulation, not an offer.

Input Schema

{
  "type": "object",
  "properties": {
    "prix_bien_eur": {
      "type": "number",
      "minimum": 0
    },
    "apport_eur": {
      "type": "number",
      "minimum": 0
    },
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "duree_annees": {
      "type": "integer",
      "enum": [
        15,
        20,
        25
      ]
    },
    "type_bien": {
      "type": "string",
      "enum": [
        "ancien",
        "neuf",
        "vefa"
      ]
    },
    "taux_assurance_actuel_pct": {
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "prix_bien_eur",
    "apport_eur",
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "besoin_credit_estime_eur": {
      "type": "number"
    },
    "mensualite_totale_estimee_eur": {
      "type": "number"
    },
    "diagnostic": {
      "type": "string"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢comparer_scenarios_financement(prix_bien_eur, apport_eur, revenus_mensuels_nets, charges_credits_mensuelles, type_bien, ...)

Use when the user hesitates between loan durations (15/20/25 years). Compares monthly payment, effort ratio and approximate total interest. Indicative, based on dated market benchmarks.

Input Schema

{
  "type": "object",
  "properties": {
    "prix_bien_eur": {
      "type": "number",
      "minimum": 0
    },
    "apport_eur": {
      "type": "number",
      "minimum": 0
    },
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "type_bien": {
      "type": "string"
    },
    "durees_annees": {
      "type": "array",
      "items": {
        "type": "integer",
        "enum": [
          15,
          20,
          25
        ]
      }
    },
    "taux_assurance_pct": {
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "prix_bien_eur",
    "apport_eur",
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "scenarios": {
      "type": "array"
    },
    "scenario_recommande": {
      "type": "object"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
🟢audit_dossier_bancaire(revenus_mensuels_nets, charges_credits_mensuelles, apport_eur, prix_bien_eur, situation, ...)

Use when the user wants to know how a bank would read their file before submitting. Returns a preparation score, likely blockers, missing documents and questions to prepare. No personal data required.

Input Schema

{
  "type": "object",
  "properties": {
    "revenus_mensuels_nets": {
      "type": "number",
      "minimum": 0
    },
    "charges_credits_mensuelles": {
      "type": "number",
      "minimum": 0
    },
    "apport_eur": {
      "type": "number",
      "minimum": 0
    },
    "prix_bien_eur": {
      "type": "number",
      "minimum": 0
    },
    "situation": {
      "type": "string",
      "enum": [
        "salarie",
        "tns",
        "independant",
        "chef_entreprise",
        "fonctionnaire",
        "non_resident"
      ]
    },
    "anciennete_mois": {
      "type": "integer",
      "minimum": 0
    },
    "incidents_compte_3_mois": {
      "type": "boolean"
    },
    "credits_conso_en_cours": {
      "type": "boolean"
    },
    "projet": {
      "type": "string"
    }
  },
  "required": [
    "revenus_mensuels_nets"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "score_preparation_sur_100": {
      "type": "integer"
    },
    "niveau": {
      "type": "string"
    },
    "prochaine_etape": {
      "type": "object"
    },
    "cadre": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
⚪demander_rappel_courtiere(telephone, prenom, projet, email, consentement, ...)

Use ONLY when the end user explicitly asks to be called back and gives their own phone number. Mutative capture. Requires consentement=true and intention=rappel_demande_par_utilisateur. Never call on the model's own initiative.

Input Schema

{
  "type": "object",
  "properties": {
    "telephone": {
      "type": "string"
    },
    "prenom": {
      "type": "string"
    },
    "projet": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "consentement": {
      "type": "boolean"
    },
    "intention": {
      "type": "string",
      "const": "rappel_demande_par_utilisateur",
      "description": "Doit valoir rappel_demande_par_utilisateur."
    }
  },
  "required": [
    "telephone",
    "consentement",
    "intention"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "error": {
      "type": "string"
    },
    "erreur": {
      "type": "string"
    },
    "lead_id": {
      "type": "integer"
    },
    "message": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
⚪veille_taux(email, prenom, projet, region, consentement, ...)

Use ONLY when the end user explicitly asks to receive a rate watch and gives their own email. Mutative capture. Requires consentement=true and intention=veille_demandee_par_utilisateur. Never call on the model's own initiative.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string"
    },
    "prenom": {
      "type": "string"
    },
    "projet": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "consentement": {
      "type": "boolean"
    },
    "intention": {
      "type": "string",
      "const": "veille_demandee_par_utilisateur"
    }
  },
  "required": [
    "email",
    "consentement",
    "intention"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "error": {
      "type": "string"
    },
    "erreur": {
      "type": "string"
    },
    "lead_id": {
      "type": "integer"
    }
  },
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
failed observationversion not recorded—
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools