mcp
list_audits
Outil MCP qui liste les audits de l'utilisateur, du plus récent au plus ancien, dédupliqués par URL. Renvoie audit_id, url, status, score, created_at.
Ce que fait cet outil
list_audits renvoie les audits de l’utilisateur, du plus récent au plus ancien, dédupliqués par URL. C’est l’annuaire de tout ce que run_audit a produit pour ce compte.
- Renvoie un tableau plat d’éléments
{ audit_id, url, status, total_score, created_at }. - Déduplique par URL : seul l’audit le plus récent par URL est inclus.
limitest optionnel, par défaut 24, maximum 100.- N’inclut PAS les constats, appelez
get_auditavec l’audit_idchoisi pour le détail complet.
Pourquoi c’est important
list_audits est la surface de découverte. Sans cela, un agent n’a aucun moyen de retrouver les audits lancés plus tôt dans une session, par un autre agent ou par l’utilisateur dans le tableau de bord.
Workflows concrets :
- Un agent “résumé du tableau de bord” appelle
list_auditset restitue un résumé d’une ligne par URL avec score et horodatage. - Un veilleur de régressions appelle
list_audits, sélectionne les deux audits les plus récents par URL au fil des exécutions et ne charge en profondeur (get_audit) que ceux dont letotal_scorea baissé par rapport à une référence stockée.
Comment l’utiliser
Appelez sans argument pour obtenir les 24 audits les plus récents par défaut, ou passez un limit entre 1 et 100. La réponse est un objet JSON dont le champ audits contient le tableau.
Schéma d’entrée
{
"type": "object",
"properties": {
"limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 24 }
}
}
Exemple de schéma de réponse
{
"audits": [
{
"audit_id": "aud_01HZ8X9YP7K3T2N6Q5",
"url": "https://example.com",
"status": "complete",
"total_score": 82,
"created_at": "2026-05-13T10:18:04.000Z"
},
{
"audit_id": "aud_01HZ8W1B6F4Q8M3R7T",
"url": "https://example.com/pricing",
"status": "complete",
"total_score": 74,
"created_at": "2026-05-12T17:02:11.000Z"
},
{
"audit_id": "aud_01HZ8V5J3K9N2P6S4D",
"url": "https://example.com/blog/new-launch",
"status": "queued",
"total_score": null,
"created_at": "2026-05-13T11:01:33.000Z"
}
]
}
Claude Code
claude mcp add --transport http metricspot https://mcp.metricspot.com/mcp \
--header "Authorization: Bearer ms_live_xxxxxxxxxxxxxxxxxxxxxxxx"
Demandez :
Liste mes 10 derniers audits MetricSpot et trie-les par score croissant pour que je puisse corriger les pires URL en premier.
Cursor
.cursor/mcp.json :
{
"mcpServers": {
"metricspot": {
"url": "https://mcp.metricspot.com/mcp",
"headers": {
"Authorization": "Bearer ms_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Demandez :
Utilise list_audits pour trouver chaque audit d’example.com et dis-moi quelle page a le pire score total.
Python (filtrer et choisir le pire)
import httpx, json
r = httpx.post("https://mcp.metricspot.com/mcp", headers={
"content-type": "application/json",
"accept": "application/json, text/event-stream",
"authorization": "Bearer ms_live_xxxxxxxxxxxxxxxxxxxxxxxx",
}, json={
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "list_audits", "arguments": {"limit": 50}},
}, timeout=30.0)
audits = json.loads(r.json()["result"]["content"][0]["text"])["audits"]
ranked = sorted(
(a for a in audits if a["status"] == "complete" and a["total_score"] is not None),
key=lambda a: a["total_score"],
)
print("worst:", ranked[0]["url"], ranked[0]["total_score"])
Node / TypeScript (HTTP brut)
const res = await fetch("https://mcp.metricspot.com/mcp", {
method: "POST",
headers: {
"content-type": "application/json",
accept: "application/json, text/event-stream",
authorization: "Bearer ms_live_xxxxxxxxxxxxxxxxxxxxxxxx",
},
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "tools/call",
params: { name: "list_audits", arguments: { limit: 25 } },
}),
});
const { audits } = JSON.parse((await res.json()).result.content[0].text);
console.log(`${audits.length} audits`);
Erreurs courantes
| Code | Quand | Action |
|---|---|---|
UNAUTHORIZED (401) | Jeton Bearer manquant ou invalide | Émettez une clé sur https://app.metricspot.com/settings/api-keys |
INVALID_URL (400) | limit hors de 1-100 | Passez un entier dans la plage, ou omettez-le |
UPSTREAM_FAILED (5xx) | Erreur du backend applicatif | Réessayez avec backoff |
Questions fréquentes
Pourquoi les URL en doublon sont-elles fusionnées ?
La liste est faite pour que les agents découvrent du travail, pas pour parcourir l’historique des audits. La plupart des utilisateurs veulent “quel est le dernier état de /pricing”, pas “montre-moi chaque audit de /pricing ce mois-ci”. Pour voir chaque exécution antérieure d’une URL, utilisez le tableau de bord sur app.metricspot.com/audits.
Puis-je paginer au-delà de 100 ?
Pas en v1. limit est plafonné à 100 pour garder les réponses dans les fenêtres de contexte des agents. Si vous avez besoin d’un export complet, utilisez l’export CSV du tableau de bord (plan Pro) ou directement l’API applicative sous-jacente.
Les audits anonymes sont-ils jamais renvoyés ?
Non. Les audits anonymes ne sont persistés sur aucun compte, donc list_audits ne renvoie que les audits créés par des appels run_audit authentifiés rattachés au propriétaire du jeton API.
Sources
Dernière mise à jour 2026-05-13