mcp

list_audits

MCP-Tool, das die Audits des Nutzers auflistet, die neuesten zuerst, dedupliziert nach URL. Liefert audit_id, url, status, score, created_at.

Was dieses Tool tut

list_audits liefert die Audits des Nutzers zurück, die neuesten zuerst, dedupliziert nach URL. Es ist das Verzeichnis von allem, was run_audit für dieses Konto produziert hat.

  • Liefert ein flaches Array von { audit_id, url, status, total_score, created_at }-Einträgen.
  • Dedupliziert nach URL: Nur das jeweils neueste Audit pro URL ist enthalten.
  • limit ist optional, Default 24, Maximum 100.
  • Enthält KEINE Befunde, ruf für die Volldetails get_audit mit der gewählten audit_id auf.

Warum es wichtig ist

list_audits ist die Entdeckungsfläche. Ohne sie hat ein Agent keine Möglichkeit, Audits zu finden, die früher in einer Session, von einem anderen Agenten oder vom Nutzer im Dashboard ausgeführt wurden.

Konkrete Workflows:

  • Ein “Dashboard-Zusammenfassung”-Agent ruft list_audits auf und rendert eine einzeilige Zusammenfassung pro URL mit Score und Zeitstempel.
  • Ein Regressions-Wächter ruft list_audits auf, pickt die zwei neuesten Audits pro URL über Läufe hinweg und lädt nur diejenigen tief (get_audit), deren total_score gegenüber einer gespeicherten Baseline gefallen ist.

So nutzt du es

Rufe ohne Argumente auf, um die Default-24 neuesten Audits zu erhalten, oder übergib ein limit zwischen 1 und 100. Die Response ist ein JSON-Objekt, dessen audits-Feld das Array ist.

Input-Schema

{
  "type": "object",
  "properties": {
    "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 24 }
  }
}

Beispiel-Response

{
  "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"

Prompt:

Liste meine letzten 10 MetricSpot-Audits auf und sortiere sie aufsteigend nach Score, damit ich die schlechtesten URLs zuerst fixen kann.

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "metricspot": {
      "url": "https://mcp.metricspot.com/mcp",
      "headers": {
        "Authorization": "Bearer ms_live_xxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Prompt:

Nutze list_audits, um jedes Audit für example.com zu finden, und sag mir, welche Seite den schlechtesten Gesamt-Score hat.

Python (filtern und schlechteste pflücken)

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 (roher HTTP)

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`);

Häufige Fehler

CodeWannAktion
UNAUTHORIZED (401)Fehlendes oder ungültiges Bearer-TokenSchlüssel ausstellen unter https://app.metricspot.com/settings/api-keys
INVALID_URL (400)limit ausserhalb von 1-100Integer im Bereich übergeben oder weglassen
UPSTREAM_FAILED (5xx)Backend-Fehler der AppErneut mit Backoff versuchen

Häufig gestellte Fragen

Warum werden doppelte URLs zusammengefasst?

Die Liste ist dafür gedacht, dass Agenten Arbeit entdecken, nicht dafür, die Audit-Historie abzulaufen. Den meisten Nutzern geht es um “wie ist der aktuelle Zustand von /pricing?”, nicht um “zeig mir jedes Mal, dass ich /pricing diesen Monat auditiert habe”. Um jeden früheren Lauf einer URL zu sehen, nutze das Dashboard unter app.metricspot.com/audits.

Kann ich über 100 hinaus paginieren?

Nicht in v1. limit ist auf 100 gedeckelt, um Responses innerhalb der Agent-Kontextfenster zu halten. Wenn du einen vollständigen Export brauchst, nutze den CSV-Export des Dashboards (Pro-Plan) oder die zugrundeliegende App-API direkt.

Werden anonyme Audits jemals zurückgegeben?

Nein. Anonyme Audits werden in keinem Konto persistiert, also liefert list_audits nur Audits zurück, die durch authentifizierte run_audit-Aufrufe erstellt wurden und dem Besitzer des API-Tokens zugeordnet sind.

Quellen

Zuletzt aktualisiert 2026-05-13