Last9 MCP Server

offiziell

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

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, die tatsächlichen Signale zu lesen.


Start in 30 Sekunden (Gehostet)

Keine zu installierende Binärdatei. Keine zu verwaltenden Token. Eine URL, OAuth in Ihrem 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+. Befehlspalette öffnen → MCP: Server hinzufügen, URL einfügen, authentifizieren.

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-Marktplatz ö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 Administratorzugriff auf Ihre Claude-Organisation.


Selbst gehostet (STDIO)

Verwenden Sie dies, wenn Ihr MCP-Client keinen HTTP-Transport unterstützt oder wenn der Server lokal ausgeführt werden muss.

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

Refresh-Token erhalten

Nur Administratoren können Token erstellen.

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

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 einzufügen:

ClientOrt
Claude Web/DesktopEinstellungen > Entwickler > Konfiguration bearbeiten (claude_desktop_config.json)
CursorEinstellungen > Cursor-Einstellungen > MCP > Neuen globalen MCP-Server hinzufügen
WindsurfEinstellungen > Cascade > MCP-Marktplatz > 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.ioAPI-Host überschreiben
LAST9_MAX_GET_LOGS_ENTRIES5000Maximale Einträge für gestückelte get_logs-Anfragen
LAST9_DEBUG_CHUNKINGfalseSetzen Sie true, um Details zur Blockplanung 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_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, Puffer-Trefferraten – abhängig von Ihrem DB-System)

Unterstützt PostgreSQL, MySQL, MongoDB, Redis, Aerospike und alles andere mit OTel-Traces und 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 Logfelder für eine laufende Pipeline (bereichsbezogene Erkennung), jedes mit seinem exakten filter_field
  • get_drop_rules — Log-Verwerfungsregeln von der Last9 Control Plane
  • add_drop_rule — Erstellen Sie eine neue Verwerfungsregel, 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 ausgelöste Alarme innerhalb eines Zeitfensters
  • get_alert_rule_state — Historischer Auslösestatus (1/0) pro Alarmregel über einen Zeitbereich, gruppiert nach rule_id. Filterbar nach Alarmgruppe, Regelname, Label-Filtern und Status.
  • 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

Unscharfe Namensauflösung

  • did_you_mean — Wenn der Agent sich bei einem Entitätsnamen nicht sicher ist, gibt dies die ähnlichsten Ü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 Zeitbereich. 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 Abschneiden. Das Standardlimit beträgt 5000 Einträge für Logs; konfigurierbar über LAST9_MAX_GET_LOGS_ENTRIES.


Entwicklung

HTTP-Modus, curl-Tests, Build 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

MCP Streamable HTTP erfordert zuerst einen Initialisierungs-Handshake. Setzen Sie Mcp-Session-Id nicht bei der ersten Anfrage.

# Step 1: Initialize
SESSION_ID=$(curl -si -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {"name": "curl-test", "version": "1.0"}
      }
    }' | grep -i "^Mcp-Session-Id:" | awk '{print $2}' | tr -d '\r')
echo "Session: $SESSION_ID"

# Step 2: Send initialized notification
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "method": "notifications/initialized", "params": {}}'

# Step 3: List tools
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}'

# Step 4: Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

Aus dem Quellcode bauen

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 Dienst filtern.
  • span_name (Zeichenkette, optional): Nach Span-Namen filtern.
  • deployment_environment (Zeichenkette, optional): Nach Umgebung filtern.

get_service_summary

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

get_service_environments

  • start_time_iso / end_time_iso (Zeichenkette, optional)

Alle anderen APM-Tools benötigen einen env-Wert. Verwenden Sie "", wenn dies leer zurückgibt.

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): Standard 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_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 Dienstes.
  • 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): Standard: letzte 60 Min.
  • lookback_minutes (Gleitkommazahl, optional): Standard: 60.

prometheus_instant_query

  • query (Zeichenkette, erforderlich)
  • time_iso (Zeichenkette, optional): Standard: 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 (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 get_logs zuerst für breite aggregierte Zählungen; verwenden Sie get_service_logs erst, nachdem Sie auf einen Dienst/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): Standard-Rückblick: 72 Stunden.
  • service_name (Zeichenkette, optional): Standard-Rückblick: 60 Min.
  • 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 (Zeichenkette, optional)
  • environment (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 Abtastungen. Die Anzahl der Abtastungen ((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): Kommagetrennte 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 ähnlichste Treffer mit Ähnlichkeitsbewertungen zurück. Verwenden Sie dies vor jedem Werkzeugaufruf, bei dem der Entitätsname unsicher ist. Wenn ein vorheriger Aufruf leere Ergebnisse zurückgab, versuchen Sie dies vor einem erneuten Versuch.

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. Standard: 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 (Zeichenkette, erforderlich): Zu löschende Dashboard-UUID. Schreibgeschützte System-Dashboards können nicht gelöscht werden.

Testen

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


MseeP.ai Security Assessment Badge