Skip to main content
Glama
Alessandro-Donnini

credit-risk-intelligence-mcp

πŸ’³ Credit Risk Intelligence System

Un sistema di credit scoring che valuta il rischio di un cliente e spiega la sua decisione in linguaggio naturale β€” un modello statistico interpretabile e verificato fa i calcoli, 4 agenti AI (Claude) li orchestrano e li raccontano.

Repository


In azione

Un utente compila i dati di un cliente in un form web (nessun terminale richiesto), e il sistema restituisce in pochi secondi: probabilitΓ  di default, spiegazione dei fattori che l'hanno determinata, verifica di quanto ci si puΓ² fidare della previsione, e rapporti finanziari β€” il tutto scritto come un vero credit memo.

streamlit run src/agents/app.py

Esempio di output (cliente con storico di pagamento regolare ma limite di credito e rimborsi contenuti): PD: 44.72% β€” rischio medio-alto Β· AffidabilitΓ : alta (cliente tipico, 99.91Β° percentile) Β· Fattore protettivo principale: pagamento puntuale (PAY_0) Β· Fattore di rischio principale: rimborsi storicamente bassi rispetto al limite concesso

Related MCP server: GoldenGate MCP Server

Come funziona, in breve

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚   SUPERVISOR AGENT   β”‚
                         β”‚  (sintetizza tutto)  β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                β”‚                     β”‚                β”‚
        β–Ό                β–Ό                     β–Ό                β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Risk Modeling β”‚ β”‚Explainabilityβ”‚  β”‚      Critic       β”‚ β”‚  Rapporti    β”‚
β”‚     Agent      β”‚ β”‚    Agent     β”‚  β”‚      Agent        β”‚ β”‚  finanziari  β”‚
β”‚                β”‚ β”‚              β”‚  β”‚                    β”‚ β”‚              β”‚
β”‚ "Quanto rischiaβ”‚ β”‚  "PerchΓ©?"   β”‚  β”‚"Posso fidarmi di   β”‚ β”‚"Come si      β”‚
β”‚  questo        β”‚ β”‚  (SHAP)      β”‚  β”‚ questa previsione?"β”‚ β”‚ comporta il  β”‚
β”‚  cliente?"     β”‚ β”‚              β”‚  β”‚ (Mahalanobis)      β”‚ β”‚ cliente?"    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                 β”‚                     β”‚                   β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   MODELLO STATISTICO (Logistic     β”‚
                    β”‚   Regression, AUC-ROC 0.7629)      β”‚
                    β”‚   L'UNICA fonte di ogni numero.    β”‚
                    β”‚   Nessun agente inventa mai una    β”‚
                    β”‚   probabilitΓ  o un contributo.     β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Ogni agente chiama uno strumento Python deterministico (mai una stima "a mente" della LLM) e traduce il risultato in linguaggio naturale. Lo stesso modello Γ¨ raggiungibile anche via server MCP standard, verificato con l'MCP Inspector ufficiale.

Risultati

Metrica

Valore

AUC-ROC (test set / 5-fold CV)

0.7629 / 0.7717 Β± 0.0087

Recall @ soglia ottimizzata

0.8117

Variabile piΓΉ predittiva

PAY_0 (storico pagamento recente), IV = 0.898

Test automatici

21, tutti superati

Costo medio per credit memo

β‰ˆ $0.03 (misurato)

Curva ROC

PerchΓ© Γ¨ piΓΉ di un modello

Molti progetti di data science si fermano al modello. Questo va oltre, con scelte metodologiche esplicite e verificate:

  • Nessun data leakage: ogni calcolo statistico (WOE, binning, PSI) usa solo il train set, mai il test.

  • Due modelli confrontati onestamente: Logistic Regression scelta sopra Gradient Boosting nonostante quest'ultimo ottenga metriche leggermente superiori β€” il guadagno non giustificava la perdita di interpretabilitΓ  in un contesto normato come il credito.

  • Explainability verificata matematicamente: i contributi SHAP di ogni cliente ricostruiscono esattamente, cifra per cifra, la probabilitΓ  del modello.

  • Robustezza: limite di iterazioni sugli agenti, gestione degli errori di rete e di input malformato, validazione dei dati in ingresso, guardrail espliciti sullo scopo β€” non solo "il caso felice".

  • Limiti dichiarati, non nascosti: l'Expected Loss usa stime di settore per LGD/EAD (non presenti nel dataset), documentato esplicitamente nel codice.

Come lanciare il progetto

# Ambiente
python -m venv venv && .\venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

# Pipeline dati -> modello (necessaria prima di usare gli agenti)
python src\data\run_pipeline.py

# Interfaccia web
streamlit run src\agents\app.py

# Oppure un singolo agente da terminale
python src\agents\supervisor_agent.py

# Test automatici
python -m pytest tests\ -v

# Server MCP (richiede Node.js per l'Inspector)
npx @modelcontextprotocol/inspector python src\agents\mcp_server.py

Richiede una ANTHROPIC_API_KEY in un file .env nella root del progetto.

Il dataset

"Default of Credit Card Clients", UCI Machine Learning Repository (Yeh & Lien, 2009). 30.000 clienti reali di carte di credito a Taiwan, 23 variabili esplicative, licenza CC BY 4.0.

Approfondimenti tecnici

  • Risk Modeling Agent β€” chiama score_new_client, mai genera il numero da solo.

  • Explainability Agent β€” chiama explain_client_shap (SHAP con LinearExplainer, esatto per modelli lineari).

  • Critic Agent β€” chiama check_client_typicality (distanza di Mahalanobis), usa Claude Haiku per contenere i costi su un compito semplice.

  • Supervisor Agent β€” orchestra tutti gli strumenti sopra piΓΉ calculate_financial_ratios, dΓ  prioritΓ  esplicita agli avvisi di atipicitΓ  o dati implausibili nella sintesi finale.

Verificato concretamente: lo stesso cliente valutato tramite script diretto, tre agenti diversi, e il server MCP produce sempre lo stesso identico risultato (0.4472).

  • Data Quality Assessment: 345 anomalie corrette in EDUCATION, 54 in MARRIAGE; un caso analogo in PAY_0...PAY_6 (valori -2/0 non documentati ma strutturali) identificato e volutamente non "corretto", perchΓ© parte reale del dataset.

  • Selezione delle feature su Information Value e matrice di correlazione: escluse MARRIAGE (IV troppo basso) e le 6 BILL_AMT (IV bassissimo e correlate tra loro).

  • Soglia di decisione ottimizzata su un criterio di business esplicito (Recall β‰₯ 0.80), con il trade-off in Precision quantificato, non ignorato.

β”œβ”€β”€ data/raw/                # dataset grezzo
β”œβ”€β”€ models/                  # modello, trasformazioni, grafici
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ data/                # pipeline: caricamento, pulizia, feature engineering, training
β”‚   └── agents/               # 4 agenti Claude, server MCP, interfaccia Streamlit
└── tests/                   # 21 test automatici

Progetto di Alessandro Donnini β€” MSc Marketing Management, Bocconi. Costruito come pezzo di portfolio per una transizione verso ruoli di Data Science / Corporate Finance.

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that integrates with local Ollama LLMs to provide financial analysis through four specialized agents (Market Analyst, Portfolio Manager, Risk Analyst, and Explainability Agent) with comprehensive banking tools.
  • F
    license
    -
    quality
    D
    maintenance
    A production-grade MCP server that exposes real-time banking data replicated via Oracle GoldenGate CDC as structured tools for AI agents, enabling read, score, and write operations on customer, account, transaction, and alert data.
    1
  • A
    license
    -
    quality
    B
    maintenance
    A credit-risk analytics MCP server enabling natural language queries over 30,000 real credit records, default risk prediction with an interpretable model, and live Turkish economic indicators.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • Hosted MCP server exposing US hospital procedure cost data to AI assistants

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alessandro-Donnini/credit-risk-intelligence-system'

If you have feedback or need assistance with the MCP directory API, please join our Discord server