Last9

resmi

Bawa konteks produksi real-time—log, metrik, dan trace—secara mulus ke lingkungan lokal Anda untuk memperbaiki kode secara otomatis lebih cepat.

Apa yang bisa Anda lakukan dengan Last9 MCP?

Minta asisten Anda untuk menyelidiki insiden produksi menggunakan log langsung, jejak, dan metrik dari Last9.

  • Peringkat kesehatan layanan — Gunakan get_service_summary untuk melihat jumlah permintaan, throughput, dan kesalahan 4xx/5xx di seluruh armada Anda.
  • Temukan kueri basis data yang lambat — Gunakan get_database_slow_queries untuk menarik eksekusi paling lambat yang sebenarnya dengan ID jejak untuk penelusuran lebih lanjut.
  • Tarik log layanan — Gunakan get_service_logs untuk mengambil baris log mentah yang difilter berdasarkan tingkat keparahan dan isi tubuh.
  • Telusuri satu permintaan — Gunakan get_trace_waterfall untuk melihat waterfall induk/anak untuk ID jejak yang tepat.
  • Periksa status peringatan — Gunakan get_alert_rule_state untuk melihat riwayat pemicuan per aturan peringatan dalam rentang waktu.
  • Kelola dasbor — Gunakan create_dashboard untuk membuat dasbor kustom dengan panel dan kueri.

Dokumentasi

Server MCP Last9

last9 mcp demo

Agen AI Anda tidak tahu apa yang rusak di produksi. Ini memperbaikinya.

Server MCP Last9 menghubungkan Claude, Cursor, Windsurf, dan asisten AI lain yang mendukung MCP langsung ke data observability produksi Anda — log, metrik, trace, pengecualian, kueri database, peringatan, dan penyebaran. Agen berhenti menebak dan mulai membaca sinyal yang sebenarnya.


Mulai dalam 30 detik (Hosted)

Tidak ada biner yang perlu diinstal. Tidak ada token yang perlu dikelola. Satu URL, OAuth di browser Anda, selesai.

Temukan slug organisasi Anda di URL Last9: app.last9.io/<org_slug>/...

Claude Code

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

Ketik /mcp, pilih last9, autentikasi. Itu saja.

Cursor

Settings > MCP > Add New MCP Server:

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

Klik Connect, selesaikan OAuth.

VS Code

Membutuhkan v1.99+. Buka Command Palette → MCP: Add Server, tempel URL, autentikasi.

Atau langsung di settings.json:

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

Windsurf

Settings > Cascade > Open MCP Marketplace > ikon roda gigi (mcp_config.json):

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

Claude Web/Desktop

Settings > Connectors > Add custom connector. Beri nama last9, tempel URL, autentikasi.

Membutuhkan akses admin ke organisasi Claude Anda.


Self-Hosted (STDIO)

Gunakan ini saat klien MCP Anda tidak mendukung transport HTTP, atau saat Anda memerlukan server berjalan secara lokal.

Instalasi

Homebrew:

brew install last9/tap/last9-mcp

NPM:

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

Rilis biner (Windows / manual):

Unduh dari GitHub Releases:

PlatformArsip
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

Dapatkan Refresh Token

Hanya admin yang dapat membuat token.

  1. Buka API Access
  2. Klik Generate Token dengan izin Write
  3. Salin token tersebut

Konfigurasi Klien

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

Di mana menempelkan ini:

KlienLokasi
Claude Web/DesktopSettings > Developer > Edit Config (claude_desktop_config.json)
CursorSettings > Cursor Settings > MCP > Add New Global MCP Server
WindsurfSettings > Cascade > MCP Marketplace > ikon roda gigi (mcp_config.json)
VS CodeBungkus dalam { "mcp": { "servers": { ... } } } di settings.jsondetail
Konfigurasi STDIO VS Code
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

Untuk NPM: gunakan "command": "npx" dan tambahkan "args": ["-y", "@last9/mcp-server@latest"].

Windows

Setelah mengunduh dari GitHub Releases, ekstrak dan arahkan ke path lengkap:

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

Rute NPM lebih mudah di Windows — tidak perlu mengelola path.

Variabel Lingkungan

VariabelDefaultDeskripsi
LAST9_REFRESH_TOKEN(wajib)Refresh token dari API Access
LAST9_DATASOURCEdefault orgNama datasource/cluster — berguna saat Anda memiliki beberapa cluster Levitate
LAST9_API_HOSTapp.last9.ioGanti host API
LAST9_TOOLSETSsemua toolsToolset yang dipisahkan koma untuk diekspos (logs, traces, metrics, alerts, dashboards, investigate, all). Alias: LAST9_MCP_TOOLSETS
LAST9_MAX_GET_LOGS_ENTRIES5000Entri maksimal untuk permintaan get_logs yang dibagi-bagi
LAST9_DEBUG_CHUNKINGfalseAtur true untuk mencatat detail perencanaan chunk untuk get_logs, get_service_logs, get_traces
LAST9_DISABLE_TELEMETRYtrueAtur false untuk mengaktifkan tracing OTel internal
OTEL_SDK_DISABLEDVariabel env OTel standar. Menimpa LAST9_DISABLE_TELEMETRY
OTEL_EXPORTER_OTLP_ENDPOINTEndpoint kolektor OTLP (hanya saat telemetri diaktifkan)
OTEL_EXPORTER_OTLP_HEADERSHeader auth OTLP (hanya saat telemetri diaktifkan)

Apa yang Dapat Dilakukan

Kesehatan Layanan

  • get_service_summary — Baris (service, env) peringkat armada: request_count interval, throughput_rpm, jumlah HTTP 4xx/5xx, dan jumlah kesalahan gRPC
  • get_service_environments — Lingkungan yang tersedia untuk layanan Anda. Jalankan ini dulu — alat APM lain memerlukan env dari sini
  • get_service_performance_details — Rincian lengkap: throughput, tingkat kesalahan, p50/p90/p95/avg/max, apdex, ketersediaan
  • get_service_operations_summary — Operasi yang dikelompokkan berdasarkan endpoint HTTP, panggilan DB, perpesanan, klien HTTP
  • get_service_dependency_graph — Peta dependensi dengan throughput, latensi, dan tingkat kesalahan untuk upstream/downstream/infra
  • get_apm_service_deviations — Bandingkan jendela saat ini dengan baseline durasi yang sama: regresi/perbaikan, rekonsiliasi Apdex, dan hasil akhir (armada atau layanan tunggal)
  • get_exceptions — Pengecualian sisi server dengan filter layanan dan span

Observabilitas Database

Empat tools yang langsung menuju performa database Anda, berasal dari span trace OpenTelemetry. Tidak perlu instrumentasi tambahan jika Anda sudah menggunakan OTel.

  • get_databases — Temukan semua database di seluruh infrastruktur Anda: tipe DB, host, throughput (kueri/menit), latensi p95, tingkat kesalahan, jumlah layanan dependen
  • get_database_slow_queries — Eksekusi kueri paling lambat yang sebenarnya, diurutkan berdasarkan durasi, dengan trace ID untuk menelusuri trace lengkap
  • get_database_queries — Pola dan agregat kueri: seberapa sering kueri dijalankan, durasi rata-rata/p95, tingkat kesalahan
  • get_database_server_metrics — Metrik sisi server dari host DB itu sendiri (CPU, koneksi, tingkat hit buffer — tergantung sistem DB Anda)

Mendukung PostgreSQL, MySQL, MongoDB, Redis, Aerospike, dan apa pun yang dilacak OTel dengan atribut db_system.

Prometheus / PromQL

  • prometheus_range_query — Kueri rentang PromQL atas metrik apa pun
  • prometheus_instant_query — Kueri instan; gunakan fungsi rollup seperti avg_over_time, sum_over_time
  • prometheus_label_values — Nilai label untuk seri tertentu
  • prometheus_labels — Semua label yang tersedia untuk sebuah seri

Arahkan ini ke datasource/cluster yang berbeda dari default dengan mengatur LAST9_DATASOURCE.

Log

  • get_logs — Kueri log pipeline JSON lengkap (agregasi, filter, ekstraksi field)
  • get_service_logs — Baris log mentah untuk sebuah layanan, dapat difilter berdasarkan tingkat keparahan dan konten body
  • get_log_attributes — Katalog global atribut dalam skema log untuk rentang waktu
  • get_log_attributes_for_pipeline — Field log yang benar-benar ada untuk pipeline yang sedang berjalan (penemuan terbatas), masing-masing dengan filter_field yang tepat
  • get_drop_rules — Aturan drop log dari Last9 Control Plane
  • add_drop_rule — Buat aturan drop baru untuk mengurangi volume log di sumbernya

Trace

  • get_traces — Kueri trace pipeline JSON untuk pencarian dan agregasi luas
  • get_service_traces — Trace berdasarkan trace ID atau nama layanan yang tepat. Gunakan ini saat Anda memiliki trace ID — lebih cepat
  • get_trace_attributes — Katalog global atribut dalam skema trace
  • get_trace_attributes_for_pipeline — Atribut yang benar-benar ada untuk pipeline yang sedang berjalan (penemuan terbatas), masing-masing dengan filter_field yang tepat
  • get_trace_attribute_values — Nilai berbeda untuk atribut trace, opsional dibatasi ke pipeline
  • get_trace_attribute_deviations — Memberi peringkat nilai atribut yang berbeda antara dua kohort span terbatas (lambat vs cepat, error vs non-error, atau dua jendela waktu). Korelasi, bukan sebab
  • get_trace_waterfall — Satu trace tepat sebagai waterfall parent/child dengan interval-union self-time, span paling lambat, dan peringatan grafik

Perubahan & Peringatan

  • get_change_events — Penyebaran, perubahan konfigurasi, rollback. Korelasikan insiden dengan apa yang berubah
  • get_alert_config — Konfigurasi aturan peringatan — dapat dicari berdasarkan nama, tingkat keparahan, tipe, tag
  • get_alerts — Peringatan yang sedang aktif dalam rentang waktu
  • get_alert_rule_state — Status historis (1/0) per aturan peringatan selama rentang waktu, dikelompokkan berdasarkan rule_id. Dapat difilter berdasarkan grup peringatan, nama aturan, filter label, dan status.
  • get_notification_channels — Saluran notifikasi yang dikonfigurasi (Slack, PagerDuty, email, dll.)

Dasbor Kustom

  • list_dashboards — Semua dasbor kustom di organisasi Anda: ID, nama, dan metadata
  • get_dashboard — Definisi dasbor lengkap berdasarkan ID, termasuk panel dan kueri
  • create_dashboard — Buat dasbor kustom baru dengan panel, kueri, dan metadata
  • update_dashboard — Perbarui dasbor yang ada berdasarkan ID (dasbor sistem read-only mengembalikan error)
  • delete_dashboard — Hapus dasbor kustom berdasarkan ID
  • list_dashboard_snapshots — Snapshot beku point-in-time untuk dasbor (hanya metadata)
  • get_dashboard_snapshot — Snapshot beku lengkap termasuk data panel untuk RCA / tampilan yang dapat dibagikan
  • delete_dashboard_snapshot — Hapus snapshot beku berdasarkan ID

Resolusi Nama Fuzzy

  • did_you_mean — Saat agen tidak yakin tentang nama entitas, ini mengembalikan kecocokan terdekat dari katalog Anda (layanan, lingkungan, host, database, deployment/namespace K8s, job). Hingga 3 saran dengan skor kemiripan. Server memanggil ini otomatis sebelum sebagian besar tools saat pencarian nama mengembalikan kosong.

Cara Kerjanya

Tautan dalam di setiap respons. Setiap tool mengembalikan field deep_link — URL langsung ke dasbor Last9 untuk kueri dan rentang waktu yang tepat. Agen dapat memberikan tautan itu; Anda mengkliknya; Anda sampai di sana.

Toolset. Secara default server mengekspos setiap tool. Host otomasi yang hanya perlu investigasi (log/traces/metrik) dapat mengatur LAST9_TOOLSETS=investigate (atau berikan --toolsets=investigate) sehingga tools/list tetap kecil tanpa penonaktifan massal sisi klien. Paket bernama: logs, traces, metrics, alerts, dashboards, investigate, all. Nama yang tidak dikenal gagal cepat. Paket metrics saja tidak termasuk list_datasources atau did_you_mean — gunakan investigate (atau gabungkan toolset) saat Anda memerlukan bantuan penemuan tersebut.

Sumber daya referensi tool. Manual logjson/tracejson/service-logs/metrik yang panjang adalah sumber daya MCP (last9://reference/logjson, last9://reference/tracejson, last9://reference/service_logs, last9://reference/metrics), bukan teks deskripsi tool yang selalu aktif. Aturan kueri penting tetap di deskripsi tool sehingga agen yang tidak pernah memanggil resources/read tetap mendapatkan panduan konstruksi yang benar. Temukan field khusus organisasi dengan get_log_attributes / get_log_attributes_for_pipeline (dan padanan trace-nya) — mereka tidak disuntikkan ke deskripsi.

Hasil besar yang dibagi-bagi. get_logs dan get_traces menangani set hasil besar melalui chunking daripada memotong. Batas default adalah 5000 entri untuk log; dapat dikonfigurasi melalui LAST9_MAX_GET_LOGS_ENTRIES.


Pengembangan

Mode HTTP, pengujian curl, membangun dari sumber

Jalankan dalam Mode HTTP

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

Server dimulai di http://localhost:8080/mcp.

Uji dengan curl

Handler Streamable HTTP berjalan dalam mode stateless, sehingga setiap permintaan dilayani secara independen. Jabat tangan initialize dan header Mcp-Session-Id bersifat opsional — klien yang mengirimnya tetap berfungsi (header diterima dan diabaikan), dan klien juga dapat langsung melompat ke tools/list / tools/call. Setiap tool adalah kueri request/response yang independen; server tidak mengeluarkan notifikasi server→klien, sehingga GET /mcp (aliran SSE) mengembalikan 405.

# 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
        }
      }
    }'

Membangun dari Sumber

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 digunakan untuk pengembangan lokal. Untuk penggunaan aktual, endpoint HTTP yang di-hosting lebih mudah.


Referensi Tool

Semua parameter, standar input waktu, dan detail

Input Waktu

  • Waktu absolut (start_time_iso/end_time_iso, atau time_iso) diutamakan daripada lookback_minutes.
  • Untuk jendela relatif: gunakan lookback_minutes.
  • Untuk jendela absolut: gunakan RFC3339/ISO8601 — 2026-02-09T15:04:05Z.
  • YYYY-MM-DD HH:MM:SS lama diterima hanya untuk kompatibilitas.

get_exceptions

  • limit (integer, opsional): Maksimum exception. Default: 20.
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional): Rentang waktu absolut.
  • service_name (string, opsional): Filter berdasarkan layanan.
  • span_name (string, opsional): Filter berdasarkan nama span.
  • env (string, opsional): Filter berdasarkan lingkungan.

get_service_summary

  • start_time_iso / end_time_iso (string, opsional)
  • env (string, opsional): Regex PromQL. Default: .*. Pencocokan tepat memerlukan jangkar (mis. ^prod$).
  • sort_by (string, opsional): request_count (default), throughput_rpm, http_4xx_count, http_5xx_count, atau grpc_error_count.
  • limit (integer, opsional): Maksimum baris yang diperingkat. Hilangkan atau 0 berarti 10; nilai di atas 100 dibatasi ke 100.

get_service_environments

  • start_time_iso / end_time_iso (string, opsional)

Semua alat APM lainnya memerlukan nilai env. Gunakan "" jika ini mengembalikan kosong.

get_service_performance_details

  • service_name (string, wajib)
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)
  • env (string, opsional): Default: prod.

get_service_operations_summary

  • service_name (string, wajib)
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)
  • env (string, opsional): Default: prod.

get_service_dependency_graph

  • service_name (string, opsional)
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)
  • env (string, opsional): Default: prod.

get_apm_service_deviations

  • service_name (string, opsional): Hilangkan untuk cakupan fleet; sediakan untuk satu layanan dan korelasi operasinya.
  • lookback_minutes (integer, opsional): Jendela saat ini. Default: 60.
  • start_time_iso / end_time_iso (string, opsional): Jendela saat ini eksplisit.
  • baseline_start_time_iso / baseline_end_time_iso (string, opsional): Baseline eksplisit. Default: jendela dengan durasi sama yang tepat sebelumnya.
  • datasource (string, opsional): Batasi perbandingan ke satu sumber data.
  • env (string, opsional): Default: prod.
  • max_services / max_operations (integer, opsional): Default 10, maksimum 10 masing-masing.

get_databases

  • env (string, opsional): Filter berdasarkan lingkungan. Default: semua.
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)

get_database_slow_queries

  • db_system (string, opsional): mis. postgresql, mysql, mongodb, redis.
  • host (string, opsional): Host database (net_peer_name).
  • service_name (string, opsional): Nama layanan pemanggil.
  • env (string, opsional)
  • min_duration_ms (float, opsional): Durasi kueri minimum dalam ms.
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)
  • limit (integer, opsional): Default: 20.

get_database_queries

  • db_system (string, opsional)
  • host (string, opsional)
  • service_name (string, opsional)
  • env (string, opsional)
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)
  • limit (integer, opsional): Default: 20.

get_database_server_metrics

  • db_system (string, wajib): mis. postgresql, mysql, mongodb, redis, aerospike.
  • host (string, opsional)
  • lookback_minutes (integer, opsional): Default: 60.
  • start_time_iso / end_time_iso (string, opsional)

prometheus_range_query

  • query (string, wajib): Kueri PromQL.
  • start_time_iso / end_time_iso (string, opsional): Default: 60 menit terakhir.
  • lookback_minutes (float, opsional): Default: 60.

prometheus_instant_query

  • query (string, wajib)
  • time_iso (string, opsional): Default: sekarang.
  • lookback_minutes (float, opsional)

prometheus_label_values

  • match_query (string, opsional): Filter PromQL.
  • label (string, wajib): Nama label.
  • start_time_iso / end_time_iso (string, opsional)

prometheus_labels

  • match_query (string, opsional): Filter PromQL.
  • start_time_iso / end_time_iso (string, opsional)

get_logs

  • logjson_query (array, wajib): Kueri pipeline JSON.
  • lookback_minutes (integer, opsional): Default: 5.
  • start_time_iso / end_time_iso (string, opsional)
  • limit (integer, opsional): Default server: 5000.
  • index (string, opsional): physical_index:<name> atau rehydration_index:<block_name>.

Untuk inventaris layanan berbasis log, kueri physical_index_service_count terlebih dahulu:

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

Gunakan service_name sebagai ServiceName, env sebagai lingkungan jika tersedia, dan name sebagai nama indeks fisik. Jika name="default", hilangkan index; untuk indeks fisik non-default yang dipilih oleh pengguna, berikan index: "physical_index:<name>". Jika backend menolak pemfilteran indeks fisik eksplisit, coba lagi tanpa index dan laporkan bahwa pemfilteran indeks fisik eksplisit tidak tersedia untuk backend tersebut.

get_service_logs

  • service_name (string, wajib)
  • lookback_minutes (integer, opsional): Default: 60.
  • limit (integer, opsional): Default: 20.
  • env (string, opsional)
  • severity_filters (array, opsional): mis. ["error", "warn"]. Logika OR.
  • body_filters (array, opsional): mis. ["timeout", "failed"]. Logika OR.
  • start_time_iso / end_time_iso (string, opsional)
  • index (string, opsional)

Beberapa jenis filter digabungkan dengan AND. Setiap array menggunakan OR secara internal. Gunakan get_logs untuk hitungan agregat yang luas terlebih dahulu; gunakan get_service_logs hanya setelah mempersempit ke layanan/env/index dan kumpulan sampel kecil.

get_log_attributes

  • lookback_minutes (integer, opsional): Default: 15.
  • start_time_iso / end_time_iso (string, opsional)
  • region (string, opsional)
  • index (string, opsional)

get_log_attributes_for_pipeline

  • pipeline (array, wajib): Tahap filter sebelumnya untuk membatasi penemuan, mis. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (integer, opsional): Default: 15.
  • start_time_iso / end_time_iso (string, opsional)
  • region (string, opsional)
  • index (string, opsional)

get_drop_rules

Tidak ada parameter. Menampilkan aturan drop melalui GET /otel_settings/drop?region=....

add_drop_rule

  • name (string, wajib)
  • filters (array, wajib): Setiap filter: key, value, operator (equals/not_equals), conjunction (and).
  • Kunci filter harus menggunakan attributes["key_name"] atau resource.attributes["key_name"] (wajib oleh API Last9).
  • Membuat aturan melalui POST /otel_settings/drop?region=...&cluster_id=....

get_traces

Gunakan untuk pencarian dan agregasi yang luas. Untuk pencarian ID trace yang tepat, gunakan get_service_traces.

  • tracejson_query (array, wajib)
  • start_time_iso / end_time_iso (string, opsional)
  • lookback_minutes (integer, opsional): Default: 60.
  • limit (integer, opsional): Default: 5000.

get_service_traces

Tepat satu dari trace_id atau service_name wajib diisi.

  • trace_id (string, opsional): Default lookback: 72 jam.
  • service_name (string, opsional): Default lookback: 60 menit.
  • lookback_minutes (integer, opsional)
  • start_time_iso / end_time_iso (string, opsional)
  • limit (integer, opsional): Default: 10.
  • env (string, opsional)

get_trace_attributes

  • lookback_minutes (integer, opsional): Default: 15.
  • start_time_iso / end_time_iso (string, opsional)
  • region (string, opsional)

get_trace_attributes_for_pipeline

  • pipeline (array, wajib): Tahap filter sebelumnya untuk membatasi penemuan, mis. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (integer, opsional): Default: 15.
  • start_time_iso / end_time_iso (string, opsional)
  • region (string, opsional)

get_trace_attribute_values

  • tag_name (string, wajib): Nama atribut dari get_trace_attributes (mis. resource_department atau attributes['http.method']).
  • pipeline (array, opsional): Tahap filter sebelumnya untuk membatasi nilai; hilangkan untuk nilai global.
  • region (string, opsional)

get_trace_attribute_deviations

  • comparison_mode (string, wajib): latency, errors, atau time.
  • service_name (string, wajib)
  • environment (string, wajib): Nilai deployment.environment yang tepat.
  • operation (string, opsional)
  • filters (array, opsional): Kondisi filter JSON trace.
  • candidate_attributes (array, opsional): Maksimum 8; hilangkan untuk penemuan terbatas.
  • latency_threshold_ms (number, opsional): Wajib untuk mode latency; ditolak untuk mode lainnya.
  • start_time_iso / end_time_iso (string, opsional)
  • lookback_minutes (integer, opsional): Default: 15. Maksimum: 15.
  • baseline_start_time_iso / baseline_end_time_iso (string, opsional): Wajib untuk mode time; tidak tumpang tindih dan sama durasinya dengan jendela target.
  • minimum_cohort_size (integer, opsional): Default: 100. Minimum: 20.
  • minimum_value_support (integer, opsional): Default: 20. Minimum: 10.
  • limit (integer, opsional): Default: 10. Maksimum: 10.

Memerlukan kapabilitas backend pendamping yang diaktifkan.

get_trace_waterfall

  • trace_id (string, wajib)
  • environment (string, opsional)
  • start_time_iso / end_time_iso (string, opsional)
  • lookback_minutes (integer, opsional): Default: 4320 (72 jam).
  • selected_span_id (string, opsional): Mengembalikan atribut, peristiwa, dan tautan untuk span tersebut saja.
  • max_spans (integer, opsional): Default: 500. Maksimum: 1000.

Mengembalikan envelope investigation-evidence/v1; waterfall berada di bawah data.

get_change_events

  • start_time_iso / end_time_iso (string, opsional)
  • lookback_minutes (integer, opsional): Default: 60.
  • service_name (string, opsional)
  • env (string, opsional)
  • event_name (string, opsional): Panggil tanpa ini terlebih dahulu untuk mendapatkan available_event_names.

get_alert_config

  • search_term (string, opsional): Pencarian teks bebas di seluruh nama, grup, sumber data, dan tag.
  • rule_name (string, opsional)
  • severity (string, opsional)
  • rule_type (string, opsional): static atau anomaly.
  • alert_group_name / alert_group_type / data_source_name (string, opsional)
  • tags (array, opsional): Semua harus cocok (logika AND).

get_alerts

  • time_iso (string, opsional): Waktu evaluasi dalam RFC3339.
  • window (integer, opsional): Jangka waktu mundur dalam detik. Default: 900. Rentang: 60–86400.
  • lookback_minutes (integer, opsional): Rentang: 1–1440.

get_alert_rule_state

  • start_time (integer, wajib): Awal rentang waktu Unix epoch (inklusif).
  • end_time (integer, wajib): Akhir rentang waktu Unix epoch (inklusif).
  • step (integer, wajib): Resolusi dalam detik antar sampel. Jumlah sampel ((end_time - start_time) / step + 1) dibatasi maksimal 100.
  • alert_group_id (string, opsional): Filter berdasarkan ID grup alert.
  • rule_name (string, opsional): Filter regex pada nama aturan.
  • alert_group_name (string, opsional): Filter regex pada nama grup alert.
  • label_filters (string, opsional): Filter label key=value yang dipisahkan koma.
  • state (string, opsional): Filter berdasarkan status (mis. firing).

Mengembalikan peta JSON dari rule_id -> [{timestamp, is_firing}]. Stempel waktu saat suatu aturan tidak ada dalam respons upstream dilaporkan sebagai is_firing=0 — ini berarti "tidak teramati sedang aktif", bukan status normal yang terkonfirmasi.

get_notification_channels

Tidak ada parameter. Mengembalikan semua saluran notifikasi yang dikonfigurasi (Slack, PagerDuty, email, webhooks, dll.).

did_you_mean

  • query (string, wajib): Nama yang dicari — sebagian, salah eja, atau disingkat.
  • type (string, opsional): Batasi ke tipe entitas: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Mengembalikan hingga 3 kecocokan terdekat dengan skor kemiripan. Gunakan ini sebelum pemanggilan tool apa pun saat nama entitas tidak pasti. Jika panggilan sebelumnya mengembalikan hasil kosong, coba ini sebelum mencoba ulang.

list_dashboards

Tidak ada parameter. Mengembalikan semua dashboard kustom dalam org sebagai array JSON dengan id, name, dan metadata.

get_dashboard

  • id (string, wajib): UUID dashboard.
  • region (string, opsional): Region untuk pengisian kueri panel. Defaultnya adalah region sumber data yang dikonfigurasi.

create_dashboard

  • dashboard (object, wajib): Definisi dashboard dengan name dan panels[]. Setiap panel memerlukan name, version, layout (x, y, w, h), visualization.type, dan queries[].
  • metadata (object, opsional): Metadata dashboard — field _category dan _type (mis. {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (string, wajib): UUID dashboard yang akan diperbarui.
  • dashboard (object, wajib): Badan dashboard pengganti lengkap (bentuk yang sama dengan create).
  • metadata (object, opsional): Metadata pengganti. Dashboard sistem yang bersifat read-only mengembalikan error 403.

delete_dashboard

  • id (string, wajib): UUID dashboard yang akan dihapus. Dashboard sistem yang bersifat read-only tidak dapat dihapus.

list_dashboard_snapshots

  • dashboard_id (string, wajib): UUID dashboard yang snapshot-nya akan didaftar.

Mengembalikan metadata saja (id, name, expires_at, dll.). Gunakan get_dashboard_snapshot untuk data panel yang dibekukan.

get_dashboard_snapshot

  • id (string, wajib): UUID snapshot.

Mengembalikan snapshot beku lengkap termasuk dashboard_definition, panel_data, time_range, dan variables.

delete_dashboard_snapshot

  • id (string, wajib): UUID snapshot yang akan dihapus.

Pengujian

Lihat TESTING.md untuk pengaturan dan petunjuk pengujian integrasi.


MseeP.ai Security Assessment Badge