Last9

offiziell

Bringen Sie nahtlos Echtzeit-Produktionskontext—Logs, Metriken und Traces—in Ihre lokale Umgebung, um Code schneller automatisch zu reparieren.

Was kann man mit Last9 MCP machen?

  • Check service health and performance — Ask your AI to run get_service_summary or get_service_performance_details for throughput, error rates, and latency across your services.
  • Investigate database performance — Use get_database_slow_queries to surface the slowest query executions with trace IDs, or get_database_server_metrics for host-level CPU and connection stats.
  • Query logs and traces with your actual schema — Run get_logs or get_traces with JSON pipeline queries; the server caches your live attribute names so the assistant knows your exact fields.
  • Correlate incidents with recent changes — Call get_change_events to list deployments and config changes, then cross-reference with get_alerts or get_alert_rule_state.
  • Discover and manage dashboards — List, create, update, or delete custom dashboards via list_dashboards, create_dashboard, and update_dashboard, or capture point-in-time snapshots.
  • Resolve ambiguous entity names — When a service or database name isn’t found, did_you_mean returns the closest matches from your catalog before retrying.

Dokumentation

Last9 MCP Server

last9 mcp demo

Ihr KI-Agent weiß nicht, was in der Produktion kaputt ist. Das behebt dieses Problem.

Der Last9 MCP Server verbindet Claude, Cursor, Windsurf und jeden anderen MCP-fähigen KI-Assistenten direkt mit Ihren Produktions-Observability-Daten – Logs, Metriken, Traces, Ausnahmen, Datenbankabfragen, Alarme und Deployments. Der Agent hört auf zu raten und beginnt, das tatsächliche Signal zu lesen.


Start in 30 Sekunden (Gehostet)

Keine Binärdatei zu installieren. Keine Tokens zu verwalten. Eine URL, OAuth im Browser, fertig.

Finden Sie Ihren Organisations-Slug in Ihrer Last9-URL: app.last9.io/<org_slug>/...

Claude Code

claude mcp add --transport http last9 https://app.last9.io/api/v4/organizations/<org_slug>/mcp

Geben Sie /mcp ein, wählen Sie last9 aus, authentifizieren Sie sich. Das war's.

Cursor

Einstellungen > MCP > Neuen MCP-Server hinzufügen:

{
  "mcpServers": {
    "last9": {
      "type": "http",
      "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Klicken Sie auf Verbinden, schließen Sie OAuth ab.

VS Code

Erfordert v1.99+. Öffnen Sie die Befehlspalette → MCP: Server hinzufügen, fügen Sie die URL ein, authentifizieren Sie sich.

Oder direkt in settings.json:

{
  "mcp": {
    "servers": {
      "last9": {
        "type": "http",
        "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
      }
    }
  }
}

Windsurf

Einstellungen > Cascade > MCP Marketplace öffnen > Zahnradsymbol (mcp_config.json):

{
  "mcpServers": {
    "last9": {
      "serverUrl": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Claude Web/Desktop

Einstellungen > Connectors > Benutzerdefinierten Connector hinzufügen. Nennen Sie ihn last9, fügen Sie die URL ein, authentifizieren Sie sich.

Erfordert Admin-Zugriff auf Ihre Claude-Organisation.


Selbst gehostet (STDIO)

Verwenden Sie dies, wenn Ihr MCP-Client keinen HTTP-Transport unterstützt oder wenn Sie den Server lokal ausführen müssen.

Installation

Homebrew:

brew install last9/tap/last9-mcp

NPM:

npm install -g @last9/mcp-server@latest
# or directly:
npx -y @last9/mcp-server@latest

Binärversionen (Windows / manuell):

Herunterladen von GitHub Releases:

PlattformArchiv
Windows (x64)last9-mcp-server_Windows_x86_64.zip
Windows (ARM64)last9-mcp-server_Windows_arm64.zip
Linux (x64)last9-mcp-server_Linux_x86_64.tar.gz
Linux (ARM64)last9-mcp-server_Linux_arm64.tar.gz
macOS (x64)last9-mcp-server_Darwin_x86_64.tar.gz
macOS (ARM64)last9-mcp-server_Darwin_arm64.tar.gz

Ein Refresh-Token erhalten

Nur Admins können Tokens erstellen.

  1. Gehen Sie zu API-Zugriff
  2. Klicken Sie auf Token generieren mit Schreibberechtigungen
  3. Kopieren Sie es

Client-Konfiguration

Homebrew:

{
  "mcpServers": {
    "last9": {
      "command": "/opt/homebrew/bin/last9-mcp",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM:

{
  "mcpServers": {
    "last9": {
      "command": "npx",
      "args": ["-y", "@last9/mcp-server@latest"],
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Wo dies einzufügen ist:

ClientOrt
Claude Web/DesktopEinstellungen > Entwickler > Konfiguration bearbeiten (claude_desktop_config.json)
CursorEinstellungen > Cursor-Einstellungen > MCP > Neuen globalen MCP-Server hinzufügen
WindsurfEinstellungen > Cascade > MCP Marketplace > Zahnradsymbol (mcp_config.json)
VS CodeIn { "mcp": { "servers": { ... } } } in settings.json einbinden — Details
VS Code STDIO-Konfiguration
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

Für NPM: Verwenden Sie "command": "npx" und fügen Sie "args": ["-y", "@last9/mcp-server@latest"] hinzu.

Windows

Nach dem Herunterladen von GitHub Releases entpacken und auf den vollständigen Pfad verweisen:

{
  "mcpServers": {
    "last9": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\last9-mcp-server.exe",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Der NPM-Weg ist unter Windows einfacher – keine Pfadverwaltung.

Umgebungsvariablen

VariableStandardBeschreibung
LAST9_REFRESH_TOKEN(erforderlich)Refresh-Token von API-Zugriff
LAST9_DATASOURCEOrganisationsstandardDatenquellen-/Clustername – nützlich, wenn Sie mehrere Levitate-Cluster haben
LAST9_API_HOSTapp.last9.ioDen API-Host überschreiben
LAST9_MAX_GET_LOGS_ENTRIES5000Maximale Einträge für gestückelte get_logs-Anfragen
LAST9_DEBUG_CHUNKINGfalseSetzen Sie true, um Details zur Chunk-Planung für get_logs, get_service_logs, get_traces zu protokollieren
LAST9_DISABLE_TELEMETRYtrueSetzen Sie false, um internes OTel-Tracing zu aktivieren
OTEL_SDK_DISABLEDStandard-OTel-Umgebungsvariable. Überschreibt LAST9_DISABLE_TELEMETRY
OTEL_EXPORTER_OTLP_ENDPOINTOTLP-Collector-Endpunkt (nur wenn Telemetrie aktiviert ist)
OTEL_EXPORTER_OTLP_HEADERSOTLP-Authentifizierungsheader (nur wenn Telemetrie aktiviert ist)

Was es kann

Service-Zustand

  • get_service_summary — Durchsatz, Fehlerrate, p95-Antwortzeit über alle Dienste hinweg
  • get_service_environments — Verfügbare Umgebungen für Ihre Dienste. Führen Sie dies zuerst aus – andere APM-Tools benötigen env von hier
  • get_service_performance_details — Vollständige Aufschlüsselung: Durchsatz, Fehlerrate, p50/p90/p95/Durchschnitt/Max, Apdex, Verfügbarkeit
  • get_service_operations_summary — Operationen gruppiert nach HTTP-Endpunkten, DB-Aufrufen, Messaging, HTTP-Clients
  • get_service_dependency_graph — Abhängigkeitsdiagramm mit Durchsatz, Latenz und Fehlerraten für Upstream/Downstream/Infrastruktur
  • get_apm_service_deviations — Vergleichen Sie ein aktuelles Fenster mit einer gleich langen Baseline: Regressionen/Verbesserungen, Apdex-Abgleich und ein Terminal-Ergebnis (Flotte oder einzelner Dienst)
  • get_exceptions — Serverseitige Ausnahmen mit Dienst- und Span-Filtern

Datenbank-Observability

Vier Tools, die direkt auf Ihre Datenbankleistung abzielen, abgeleitet aus OpenTelemetry-Trace-Spans. Keine zusätzliche Instrumentierung erforderlich, wenn Sie bereits OTel verwenden.

  • get_databases — Entdecken Sie alle Datenbanken in Ihrer Infrastruktur: DB-Typ, Host, Durchsatz (Abfragen/Min), p95-Latenz, Fehlerrate, Anzahl abhängiger Dienste
  • get_database_slow_queries — Die tatsächlich langsamsten Abfrageausführungen, sortiert nach Dauer, mit Trace-IDs zum Drilldown in vollständige Traces
  • get_database_queries — Abfragemuster und Aggregate: wie oft eine Abfrage ausgeführt wird, durchschnittliche/p95-Dauer, Fehlerrate
  • get_database_server_metrics — Serverseitige Metriken vom DB-Host selbst (CPU, Verbindungen, Buffer-Trefferraten – abhängig von Ihrem DB-System)

Unterstützt PostgreSQL, MySQL, MongoDB, Redis, Aerospike und alles andere mit OTel-Traces mit einem db_system-Attribut.

Prometheus / PromQL

  • prometheus_range_query — PromQL-Bereichsabfragen über jede Metrik
  • prometheus_instant_query — Sofortabfragen; verwenden Sie Rollup-Funktionen wie avg_over_time, sum_over_time
  • prometheus_label_values — Label-Werte für eine bestimmte Serie
  • prometheus_labels — Alle für eine Serie verfügbaren Labels

Richten Sie diese auf eine andere Datenquelle/einen anderen Cluster als den Standard, indem Sie LAST9_DATASOURCE setzen.

Logs

  • get_logs — Vollständige JSON-Pipeline-Log-Abfragen (Aggregationen, Filter, Feldextraktion)
  • get_service_logs — Rohe Logzeilen für einen Dienst, filterbar nach Schweregrad und Nachrichteninhalt
  • get_log_attributes — Globaler Katalog der Attribute im Log-Schema für ein Zeitfenster
  • get_log_attributes_for_pipeline — Tatsächlich vorhandene Log-Felder für eine laufende Pipeline (bereichsbezogene Erkennung), jedes mit seinem exakten filter_field
  • get_drop_rules — Log-Drop-Regeln von der Last9 Control Plane
  • add_drop_rule — Erstellen Sie eine neue Drop-Regel, um das Log-Volumen an der Quelle zu reduzieren

Traces

  • get_traces — JSON-Pipeline-Trace-Abfragen für breite Suchen und Aggregationen
  • get_service_traces — Traces nach exakter Trace-ID oder Dienstname. Verwenden Sie dies, wenn Sie eine Trace-ID haben – es ist schneller
  • get_trace_attributes — Globaler Katalog der Attribute im Trace-Schema
  • get_trace_attributes_for_pipeline — Tatsächlich vorhandene Attribute für eine laufende Pipeline (bereichsbezogene Erkennung), jedes mit seinem exakten filter_field
  • get_trace_attribute_values — Eindeutige Werte für ein Trace-Attribut, optional auf eine Pipeline beschränkt

Änderungsereignisse & Alarme

  • get_change_events — Deployments, Konfigurationsänderungen, Rollbacks. Korrelieren Sie Vorfälle mit dem, was sich geändert hat
  • get_alert_config — Alarmregelkonfigurationen – durchsuchbar nach Name, Schweregrad, Typ, Tags
  • get_alerts — Derzeit aktive Alarme innerhalb eines Zeitfensters
  • get_alert_rule_state — Historischer Auslösezustand (1/0) pro Alarmregel über einen Zeitraum, gruppiert nach rule_id. Filterbar nach Alarmgruppe, Regelname, Label-Filtern und Zustand.
  • get_notification_channels — Konfigurierte Benachrichtigungskanäle (Slack, PagerDuty, E-Mail usw.)

Benutzerdefinierte Dashboards

  • list_dashboards — Alle benutzerdefinierten Dashboards in Ihrer Organisation: IDs, Namen und Metadaten
  • get_dashboard — Vollständige Dashboard-Definition nach ID, einschließlich Panels und Abfragen
  • create_dashboard — Erstellen Sie ein neues benutzerdefiniertes Dashboard mit Panels, Abfragen und Metadaten
  • update_dashboard — Aktualisieren Sie ein vorhandenes Dashboard nach ID (schreibgeschützte System-Dashboards geben einen Fehler zurück)
  • delete_dashboard — Löschen Sie ein benutzerdefiniertes Dashboard nach ID
  • list_dashboard_snapshots — Eingefrorene Zeitpunkt-Snapshots für ein Dashboard (nur Metadaten)
  • get_dashboard_snapshot — Vollständiger eingefrorener Snapshot einschließlich Panel-Daten für RCA / teilbare Ansichten
  • delete_dashboard_snapshot — Löschen Sie einen eingefrorenen Snapshot nach ID

Unscharfe Namensauflösung

  • did_you_mean — Wenn der Agent sich bei einem Entitätsnamen nicht sicher ist, gibt dies die nächstgelegenen Übereinstimmungen aus Ihrem Katalog zurück (Dienste, Umgebungen, Hosts, Datenbanken, K8s-Deployments/Namespaces, Jobs). Bis zu 3 Vorschläge mit Ähnlichkeitsbewertungen. Der Server ruft dies automatisch vor den meisten Tools auf, wenn eine Namenssuche leer zurückgibt.

Wie es funktioniert

Deep Links bei jeder Antwort. Jedes Tool gibt ein deep_link-Feld zurück – eine direkte URL in das Last9-Dashboard für genau diese Abfrage und diesen Zeitraum. Der Agent kann Ihnen den Link geben; Sie klicken darauf; Sie sind dort.

Live-Attribut-Caching. Beim Start ruft der Server die tatsächlichen Log- und Trace-Attributnamen aus Ihren Daten ab und bettet sie in die Tool-Beschreibungen ein. Das bedeutet, dass der KI-Assistent weiß, welche Felder in Ihrem Schema existieren, nicht nur eine generische Liste. Der Cache wird alle 2 Stunden aktualisiert.

Gestückelte große Ergebnisse. get_logs und get_traces verarbeiten große Ergebnismengen durch Stückelung statt durch Kürzung. Das Standardlimit beträgt 5000 Einträge für Logs; konfigurierbar über LAST9_MAX_GET_LOGS_ENTRIES.


Entwicklung

HTTP-Modus, curl-Tests, Erstellung aus dem Quellcode

Im HTTP-Modus ausführen

export LAST9_REFRESH_TOKEN="your_refresh_token"
export LAST9_HTTP=true
export LAST9_PORT=8080
./last9-mcp-server

Server startet unter http://localhost:8080/mcp.

Mit curl testen

Der Streamable-HTTP-Handler läuft im zustandslosen Modus, sodass jede Anfrage unabhängig bedient wird. Ein initialize-Handshake und ein Mcp-Session-Id-Header sind optional – Clients, die sie senden, funktionieren trotzdem (der Header wird akzeptiert und ignoriert), und Clients können auch direkt zu tools/list / tools/call springen. Jedes Tool ist eine unabhängige Anfrage/Antwort-Abfrage; der Server sendet keine Server→Client-Benachrichtigungen, daher gibt GET /mcp (der SSE-Stream) 405 zurück.

# List tools — a session handshake is optional in stateless mode
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'

# Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{
      "jsonrpc": "2.0",
      "id": 2,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service_name": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

Aus dem Quellcode erstellen

git clone https://github.com/last9/last9-mcp-server.git
cd last9-mcp-server
go build -o last9-mcp-server
LAST9_HTTP=true ./last9-mcp-server

LAST9_HTTP=true ist für die lokale Entwicklung. Für die tatsächliche Nutzung ist der gehostete HTTP-Endpunkt einfacher.


Tool-Referenz

Alle Parameter, Zeiteingabestandards und Details

Zeiteingabe

  • Absolute Zeiten (start_time_iso/end_time_iso oder time_iso) haben Vorrang vor lookback_minutes.
  • Für relative Fenster: Verwenden Sie lookback_minutes.
  • Für absolute Fenster: Verwenden Sie RFC3339/ISO8601 — 2026-02-09T15:04:05Z.
  • Veraltetes YYYY-MM-DD HH:MM:SS wird nur aus Kompatibilitätsgründen akzeptiert.

get_exceptions

  • limit (Ganzzahl, optional): Maximale Ausnahmen. Standard: 20.
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional): Absoluter Zeitbereich.
  • service_name (Zeichenkette, optional): Nach Service filtern.
  • span_name (Zeichenkette, optional): Nach Span-Namen filtern.
  • env (Zeichenkette, optional): Nach Umgebung filtern.

get_service_summary

  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • env (Zeichenkette, optional): Standardwert ist prod.

get_service_environments

  • start_time_iso / end_time_iso (Zeichenkette, optional)

Alle anderen APM-Tools erfordern einen env-Wert. Verwenden Sie "", falls dies ein leeres Ergebnis liefert.

get_service_performance_details

  • service_name (Zeichenkette, erforderlich)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • env (Zeichenkette, optional): Standardwert ist prod.

get_service_operations_summary

  • service_name (Zeichenkette, erforderlich)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • env (Zeichenkette, optional): Standardwert ist prod.

get_service_dependency_graph

  • service_name (Zeichenkette, optional)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • env (Zeichenkette, optional): Standardwert ist prod.

get_apm_service_deviations

  • service_name (Zeichenkette, optional): Für den Flottenbereich weglassen; für einen Service und seine Betriebskorrelationen angeben.
  • lookback_minutes (Ganzzahl, optional): Aktuelles Fenster. Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional): Explizites aktuelles Fenster.
  • baseline_start_time_iso / baseline_end_time_iso (Zeichenkette, optional): Explizite Basislinie. Standardmäßig das unmittelbar vorhergehende Fenster gleicher Dauer.
  • datasource (Zeichenkette, optional): Den Vergleich auf eine Datenquelle beschränken.
  • env (Zeichenkette, optional): Standardwert ist prod.
  • max_services / max_operations (Ganzzahl, optional): Standard 10, maximal jeweils 10.

get_databases

  • env (Zeichenkette, optional): Nach Umgebung filtern. Standard: alle.
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)

get_database_slow_queries

  • db_system (Zeichenkette, optional): z. B. postgresql, mysql, mongodb, redis.
  • host (Zeichenkette, optional): Datenbank-Host (net_peer_name).
  • service_name (Zeichenkette, optional): Name des aufrufenden Service.
  • env (Zeichenkette, optional)
  • min_duration_ms (Gleitkommazahl, optional): Minimale Abfragedauer in ms.
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • limit (Ganzzahl, optional): Standard: 20.

get_database_queries

  • db_system (Zeichenkette, optional)
  • host (Zeichenkette, optional)
  • service_name (Zeichenkette, optional)
  • env (Zeichenkette, optional)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • limit (Ganzzahl, optional): Standard: 20.

get_database_server_metrics

  • db_system (Zeichenkette, erforderlich): z. B. postgresql, mysql, mongodb, redis, aerospike.
  • host (Zeichenkette, optional)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • start_time_iso / end_time_iso (Zeichenkette, optional)

prometheus_range_query

  • query (Zeichenkette, erforderlich): Die PromQL-Abfrage.
  • start_time_iso / end_time_iso (Zeichenkette, optional): Standardmäßig die letzten 60 Minuten.
  • lookback_minutes (Gleitkommazahl, optional): Standard: 60.

prometheus_instant_query

  • query (Zeichenkette, erforderlich)
  • time_iso (Zeichenkette, optional): Standardmäßig jetzt.
  • lookback_minutes (Gleitkommazahl, optional)

prometheus_label_values

  • match_query (Zeichenkette, optional): PromQL-Filter.
  • label (Zeichenkette, erforderlich): Label-Name.
  • start_time_iso / end_time_iso (Zeichenkette, optional)

prometheus_labels

  • match_query (Zeichenkette, optional): PromQL-Filter.
  • start_time_iso / end_time_iso (Zeichenkette, optional)

get_logs

  • logjson_query (Array, erforderlich): JSON-Pipeline-Abfrage.
  • lookback_minutes (Ganzzahl, optional): Standard: 5.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • limit (Ganzzahl, optional): Server-Standard: 5000.
  • index (Zeichenkette, optional): physical_index:<name> oder rehydration_index:<block_name>.

Für das logbasierte Service-Inventar zuerst physical_index_service_count abfragen:

sum by (name, service_name, env) (physical_index_service_count{destination="logs"})

Verwenden Sie service_name als ServiceName, env als Umgebung, falls vorhanden, und name als physischen Indexnamen. Wenn name="default", lassen Sie index weg; für einen vom Benutzer ausgewählten nicht standardmäßigen physischen Index übergeben Sie index: "physical_index:<name>". Wenn das Backend die explizite physische Indexfilterung ablehnt, wiederholen Sie den Vorgang ohne index und melden Sie, dass die explizite physische Indexfilterung für dieses Backend nicht verfügbar ist.

get_service_logs

  • service_name (Zeichenkette, erforderlich)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • limit (Ganzzahl, optional): Standard: 20.
  • env (Zeichenkette, optional)
  • severity_filters (Array, optional): z. B. ["error", "warn"]. ODER-Logik.
  • body_filters (Array, optional): z. B. ["timeout", "failed"]. ODER-Logik.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • index (Zeichenkette, optional)

Mehrere Filtertypen werden mit UND kombiniert. Jedes Array verwendet intern ODER. Verwenden Sie zuerst get_logs für breite aggregierte Zählungen; verwenden Sie get_service_logs erst, nachdem Sie auf einen Service/eine Umgebung/einen Index und eine kleine Stichprobe eingegrenzt haben.

get_log_attributes

  • lookback_minutes (Ganzzahl, optional): Standard: 15.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • region (Zeichenkette, optional)
  • index (Zeichenkette, optional)

get_log_attributes_for_pipeline

  • pipeline (Array, erforderlich): Vorherige Filterstufen zur Eingrenzung der Erkennung, z. B. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (Ganzzahl, optional): Standard: 15.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • region (Zeichenkette, optional)
  • index (Zeichenkette, optional)

get_drop_rules

Keine Parameter.

add_drop_rule

  • name (Zeichenkette, erforderlich)
  • filters (Array, erforderlich): Jeder Filter: key, value, operator (equals/not_equals), conjunction (and).

get_traces

Für breite Suchen und Aggregationen verwenden. Für die exakte Trace-ID-Suche verwenden Sie get_service_traces.

  • tracejson_query (Array, erforderlich)
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • limit (Ganzzahl, optional): Standard: 5000.

get_service_traces

Genau eines von trace_id oder service_name ist erforderlich.

  • trace_id (Zeichenkette, optional): Standardrückblick: 72 Stunden.
  • service_name (Zeichenkette, optional): Standardrückblick: 60 Minuten.
  • lookback_minutes (Ganzzahl, optional)
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • limit (Ganzzahl, optional): Standard: 10.
  • env (Zeichenkette, optional)

get_trace_attributes

  • lookback_minutes (Ganzzahl, optional): Standard: 15.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • region (Zeichenkette, optional)

get_trace_attributes_for_pipeline

  • pipeline (Array, erforderlich): Vorherige Filterstufen zur Eingrenzung der Erkennung, z. B. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (Ganzzahl, optional): Standard: 15.
  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • region (Zeichenkette, optional)

get_trace_attribute_values

  • tag_name (Zeichenkette, erforderlich): Attributname aus get_trace_attributes (z. B. resource_department oder attributes['http.method']).
  • pipeline (Array, optional): Vorherige Filterstufen zur Eingrenzung der Werte; für globale Werte weglassen.
  • region (Zeichenkette, optional)

get_change_events

  • start_time_iso / end_time_iso (Zeichenkette, optional)
  • lookback_minutes (Ganzzahl, optional): Standard: 60.
  • service_name (Zeichenkette, optional)
  • env (Zeichenkette, optional)
  • event_name (Zeichenkette, optional): Rufen Sie dies zuerst ohne diesen Parameter auf, um available_event_names zu erhalten.

get_alert_config

  • search_term (Zeichenkette, optional): Freitextsuche über Name, Gruppe, Datenquelle, Tags.
  • rule_name (Zeichenkette, optional)
  • severity (Zeichenkette, optional)
  • rule_type (Zeichenkette, optional): static oder anomaly.
  • alert_group_name / alert_group_type / data_source_name (Zeichenkette, optional)
  • tags (Array, optional): Alle müssen übereinstimmen (UND-Logik).

get_alerts

  • time_iso (Zeichenkette, optional): Auswertungszeit in RFC3339.
  • window (Ganzzahl, optional): Rückblick in Sekunden. Standard: 900. Bereich: 60–86400.
  • lookback_minutes (Ganzzahl, optional): Bereich: 1–1440.

get_alert_rule_state

  • start_time (Ganzzahl, erforderlich): Unix-Epochen-Start des Bereichs (inklusive).
  • end_time (Ganzzahl, erforderlich): Unix-Epochen-Ende des Bereichs (inklusive).
  • step (Ganzzahl, erforderlich): Auflösung in Sekunden zwischen den Stichproben. Die Anzahl der Stichproben ((end_time - start_time) / step + 1) ist auf 100 begrenzt.
  • alert_group_id (Zeichenkette, optional): Nach Alarmgruppen-ID filtern.
  • rule_name (Zeichenkette, optional): Regex-Filter für den Regelnamen.
  • alert_group_name (Zeichenkette, optional): Regex-Filter für den Alarmgruppennamen.
  • label_filters (Zeichenkette, optional): Durch Kommas getrennte key=value-Label-Filter.
  • state (Zeichenkette, optional): Nach Status filtern (z. B. firing).

Gibt eine JSON-Zuordnung von rule_id -> [{timestamp, is_firing}] zurück. Ein Zeitstempel, zu dem eine Regel in der Upstream-Antwort fehlt, wird als is_firing=0 gemeldet — dies bedeutet "nicht als auslösend beobachtet", nicht einen bestätigten Normalzustand.

get_notification_channels

Keine Parameter. Gibt alle konfigurierten Benachrichtigungskanäle zurück (Slack, PagerDuty, E-Mail, Webhooks usw.).

did_you_mean

  • query (Zeichenkette, erforderlich): Der zu suchende Name — teilweise, falsch geschrieben oder abgekürzt.
  • type (Zeichenkette, optional): Auf Entitätstyp beschränken: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Gibt bis zu 3 beste Übereinstimmungen mit Ähnlichkeitswerten zurück. Verwenden Sie dies vor jedem Tool-Aufruf, bei dem der Entitätsname unsicher ist. Wenn ein vorheriger Aufruf leere Ergebnisse zurückgegeben hat, versuchen Sie dies, bevor Sie es erneut versuchen.

list_dashboards

Keine Parameter. Gibt alle benutzerdefinierten Dashboards in der Organisation als JSON-Array mit id, name und Metadaten zurück.

get_dashboard

  • id (Zeichenkette, erforderlich): Dashboard-UUID.
  • region (Zeichenkette, optional): Region für die Panel-Abfragepopulation. Standardmäßig die konfigurierte Datenquellenregion.

create_dashboard

  • dashboard (Objekt, erforderlich): Dashboard-Definition mit name und panels[]. Jedes Panel erfordert name, version, layout (x, y, w, h), visualization.type und queries[].
  • metadata (Objekt, optional): Dashboard-Metadaten — Felder _category und _type (z. B. {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (Zeichenkette, erforderlich): Zu aktualisierende Dashboard-UUID.
  • dashboard (Objekt, erforderlich): Vollständiger Ersatz-Dashboard-Body (gleiche Form wie beim Erstellen).
  • metadata (Objekt, optional): Ersatz-Metadaten. Schreibgeschützte System-Dashboards geben einen 403-Fehler zurück.

delete_dashboard

  • id (string, erforderlich): Dashboard-UUID, die gelöscht werden soll. Schreibgeschützte System-Dashboards können nicht gelöscht werden.

list_dashboard_snapshots

  • dashboard_id (string, erforderlich): Dashboard-UUID, deren Snapshots aufgelistet werden sollen.

Gibt nur Metadaten zurück (id, name, expires_at, etc.). Verwenden Sie get_dashboard_snapshot für eingefrorene Panel-Daten.

get_dashboard_snapshot

  • id (string, erforderlich): Snapshot-UUID.

Gibt den vollständigen eingefrorenen Snapshot zurück, einschließlich dashboard_definition, panel_data, time_range und variables.

delete_dashboard_snapshot

  • id (string, erforderlich): Zu löschende Snapshot-UUID.

Testen

Siehe TESTING.md für Einrichtung und Anweisungen zu Integrationstests.


MseeP.ai Security Assessment Badge