Documentazione
Usa AppSafe dal tuo strumento di AI coding
Collega AppSafe a Claude Code, Cursor o a qualsiasi altro client MCP, oppure chiama la REST API dai tuoi script. Il tuo agente può scansionare un sito verificato, leggere il prompt di correzione di ogni problema, applicare la correzione e ricontrollarla, tutto in un unico ciclo.
L’API, il server MCP e l’esportazione dei report sono inclusi nei piani Pro, Agency e Team.
1. Crea una chiave API
Vai su Dashboard → Account → Chiavi API, dai un nome alla chiave e copiala. Viene mostrata una sola volta e AppSafe ne conserva solo un hash. Le chiavi iniziano con appsafe_ e funzionano solo sui tuoi siti.
2. Collega il server MCP
Il server usa Streamable HTTP all’URL qui sotto e si autentica con la tua chiave API come bearer token. Sostituisci YOUR_KEY con la tua chiave.
https://appsafe.dev/api/mcpClaude Code
Esegui questo comando una volta, oppure aggiungi il JSON a .mcp.json nel tuo progetto:
claude mcp add --transport http appsafe https://appsafe.dev/api/mcp \
--header "Authorization: Bearer YOUR_KEY"{
"mcpServers": {
"appsafe": {
"type": "http",
"url": "https://appsafe.dev/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Cursor
Aggiungi questo a ~/.cursor/mcp.json, oppure a .cursor/mcp.json nel tuo progetto:
{
"mcpServers": {
"appsafe": {
"url": "https://appsafe.dev/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Altri client MCP: usa lo stesso URL e lo stesso header Authorization.
Strumenti
list_sites: I tuoi siti, se sono verificati e la loro ultima scansione.start_scan: Avvia una scansione completa di un sito verificato, tramite URL. I siti non verificati vengono rifiutati, con le istruzioni per verificarli.get_scan_status: In corso, completata o non riuscita, con punteggio, voto e conteggi per gravità.get_report: Il report in Markdown (scritto per gli agenti), JSON o SARIF.recheck_finding: Dopo aver distribuito una correzione, riesegue solo i controlli relativi a un problema: risolto, ancora presente o non conclusivo.
Il ciclo
- Chiedi al tuo agente di scansionare il tuo sito con AppSafe.
- Legge il report in Markdown e applica ogni prompt di correzione, partendo dai più gravi.
- Tu distribuisci le modifiche, perché AppSafe scansiona il sito live.
- L’agente ricontrolla ogni problema finché non è risolto.
Prompt di esempio: “Scansiona myapp.com con AppSafe, correggi i problemi critici e alti e ricontrollali dopo il mio deploy.”
REST API
URL di base: https://appsafe.dev/api/v1. Invia la tua chiave nell’header Authorization come Bearer YOUR_KEY. La specifica OpenAPI descrive ogni endpoint.
| Endpoint | Cosa fa |
|---|---|
| GET /sites | Elenca i tuoi siti |
| POST /scans | Avvia una scansione completa di un sito verificato (siteId o url) |
| POST /sites/{id}/scans | Riscansiona un sito |
| GET /scans/{id} | Stato della scansione, punteggio, voto e conteggi per gravità |
| GET /scans/{id}/findings | Problemi con prove, prompt di correzione e ref per il ricontrollo |
| GET /scans/{id}/report?format=markdown | Report in markdown, json o sarif |
| POST /findings/recheck | Ricontrolla un problema tramite il suo ref |
Esempio
curl -X POST https://appsafe.dev/api/v1/scans \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://myapp.com"}'
curl "https://appsafe.dev/api/v1/scans/SCAN_ID/report?format=markdown" \
-H "Authorization: Bearer YOUR_KEY"Esportazione dei report
Ogni scansione completata può essere esportata in Markdown scritto per gli agenti AI (prove, URL interessato, prompt di correzione e come verificare ogni problema) oppure in SARIF 2.1.0 per gli strumenti di code scanning. Scaricali dalla scansione nella tua dashboard, oppure usa l’endpoint del report.
Limiti e sicurezza
- 120 richieste API ogni 15 minuti per account (30 ricontrolli), oltre ai limiti giornalieri e di scansioni simultanee del tuo piano.
- Le scansioni complete e i ricontrolli vengono eseguiti solo sui siti di cui hai verificato la proprietà.
- I segreti vengono oscurati in ogni risposta e i problemi relativi ai database riportano solo i nomi di tabelle e campi, mai i tuoi dati.
- Puoi revocare una chiave in qualsiasi momento dal tuo account. Smette di funzionare immediatamente.