111 lines
3.3 KiB
Markdown
111 lines
3.3 KiB
Markdown
# Cauldron Cloud — MCP Server
|
|
|
|
Collega Claude Desktop (o qualsiasi client MCP) al portale Cauldron.
|
|
|
|
## Prerequisiti
|
|
|
|
- Python 3.10+
|
|
- Pip
|
|
|
|
## Installazione
|
|
|
|
```bash
|
|
pip install mcp httpx
|
|
```
|
|
|
|
Oppure con un virtual environment (consigliato):
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
source .venv/bin/activate # Linux/Mac
|
|
# oppure: .venv\Scripts\activate # Windows
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Ottenere la propria API Key
|
|
|
|
Accedere al portale Cauldron → Profilo → API Keys → "Genera nuova chiave".
|
|
La chiave ha il formato: `cldrn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
|
|
|
|
> La chiave viene mostrata UNA SOLA VOLTA. Conservarla in modo sicuro.
|
|
|
|
## Configurazione Claude Desktop
|
|
|
|
Aprire il file di configurazione di Claude Desktop:
|
|
|
|
- **Mac**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
|
|
Aggiungere (o completare) la sezione `mcpServers`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"cauldron": {
|
|
"command": "python",
|
|
"args": ["/percorso/assoluto/al/server.py"],
|
|
"env": {
|
|
"CAULDRON_API_KEY": "cldrn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Sostituire `/percorso/assoluto/al/server.py` con il path reale del file.
|
|
Se si usa un venv: `"command": "/percorso/.venv/bin/python"`.
|
|
|
|
Riavviare Claude Desktop per caricare la configurazione.
|
|
|
|
## Tool disponibili
|
|
|
|
| Tool | Descrizione |
|
|
|---|---|
|
|
| `get_my_profile` | Info sull'utente autenticato e la sua firma |
|
|
| `list_deals` | Lista deal con filtri (tipo, stage, industria, paese, testo libero) |
|
|
| `get_deal_detail` | Dettaglio completo di un deal |
|
|
| `deal_statistics` | Statistiche aggregate (per stage, industria, anno, ecc.) |
|
|
| `list_my_requests_for_help` | RFH inviati dalla mia firma al network |
|
|
| `list_incoming_requests` | RFH di altre firm diretti a noi (con filtro "senza risposta") |
|
|
| `list_deal_stages` | Elenco stage disponibili |
|
|
| `list_industries` | Elenco classificazioni industry |
|
|
| `list_firms` | Elenco firm visibili |
|
|
|
|
## Esempi di domande a Claude
|
|
|
|
```
|
|
"Mostrami tutti i deal Sell Side ancora aperti nel settore Automotive"
|
|
|
|
"Quanti deal abbiamo chiuso nel 2024 per industria?"
|
|
|
|
"Ci sono Request for Help a cui non abbiamo ancora risposto?"
|
|
|
|
"Dammi il dettaglio del deal #142"
|
|
|
|
"Quali deal condivisi nel network riguardano il settore Technology?"
|
|
|
|
"Statistiche sui nostri deal per anno, dal 2022 ad oggi"
|
|
```
|
|
|
|
## Sicurezza
|
|
|
|
- La API key identifica univocamente l'utente — trattarla come una password
|
|
- La visibilità è identica al portale web: solo i propri deal + quelli condivisi
|
|
- I deal cancellati non vengono mai restituiti
|
|
- I valori finanziari con flag di confidenzialità vengono mascherati automaticamente
|
|
- La chiave è revocabile in qualsiasi momento dal portale
|
|
|
|
## Permessi MCP vs Portale
|
|
|
|
| Aspetto | Portale web | MCP |
|
|
|---|---|---|
|
|
| Admin Portale vede tutti i deal | ✅ | ❌ (firma-scoped) |
|
|
| Deal propria firma | ✅ | ✅ |
|
|
| Deal condivisi altre firm | ✅ | ✅ |
|
|
| Deal cancellati (Attivo=N) | ❌ | ❌ |
|
|
| Valori confidenziali | Visibili se autorizzato | Mascherati |
|
|
|
|
> Il layer MCP è intenzionalmente più restrittivo: nessun utente ottiene visibilità
|
|
> super-admin attraverso l'API key, indipendentemente dal proprio ruolo sul portale.
|