IBM Instana MCP Server

resmi

Server MCP IBM Instana memungkinkan interaksi yang mulus dengan platform observabilitas IBM Instana, sehingga Anda dapat mengakses data observabilitas waktu nyata langsung dalam alur kerja pengembangan Anda.

Apa yang bisa Anda lakukan dengan IBM Instana MCP?

  • Kueri performa aplikasi — Minta metrik aplikasi, peringatan, atau detail katalog menggunakan alat kategori app seperti get_app_metrics atau get_app_alerts.
  • Pantau kesehatan infrastruktur — Ambil sumber daya infrastruktur, topologi, dan metrik melalui alat infra seperti get_infra_metrics atau get_infra_topology.
  • Lacak peristiwa dan insiden — Akses peristiwa Kubernetes atau data pemantauan agen dengan alat events seperti get_k8s_events atau get_agent_status.
  • Analisis pemantauan situs web — Tarik metrik situs web, info katalog, atau konfigurasi menggunakan alat website seperti get_website_metrics atau get_website_config.
  • Filter alat berdasarkan kategori — Aktifkan hanya kategori alat yang diperlukan saat startup dengan flag --tools (misalnya, --tools infra,events) untuk mengoptimalkan performa.

Dokumentasi

Daftar Isi

MCP Server untuk IBM Instana

📚 Tautan Cepat


Server MCP Instana memungkinkan interaksi yang mulus dengan platform observability Instana, memungkinkan Anda mengakses data observability real-time langsung dalam alur kerja pengembangan Anda.

Server ini berfungsi sebagai jembatan antara klien (seperti agen AI atau alat kustom) dan REST API Instana, mengubah kueri pengguna menjadi permintaan API Instana dan memformat respons menjadi format terstruktur yang mudah dikonsumsi.

Server mendukung mode transport Streamable HTTP dan Stdio untuk kompatibilitas maksimum dengan berbagai klien MCP. Untuk detail lebih lanjut, lihat spesifikasi Mode Transport MCP.

Ikhtisar Arsitektur

graph LR
    subgraph "Application Host Process"
        MH[MCP Host]
        MSI[Instana MCP Server]
        MST[ProductA MCP Server]
        MSC[ProductB MCP Server]

        MH <--> MSI
        MH <--> MSC
        MH <--> MST
    end

    subgraph "Remote Service"
        II[Instana Instance]
        TI[ProductA Instance]
        CI[ProductB Instance]

        MSI <--> II
        MST <--> TI
        MSC <--> CI
    end

    subgraph "LLM"
        L[LLM]
        MH <--> L
    end

Alur Kerja

Pertimbangkan contoh sederhana: Anda menggunakan Host MCP (seperti Claude Desktop, VS Code, atau klien lain) yang terhubung ke Server MCP Instana. Saat Anda meminta informasi tentang peringatan Instana, proses berikut terjadi:

  1. Klien MCP mengambil daftar alat yang tersedia dari server MCP Instana
  2. Kueri Anda dikirim ke LLM beserta deskripsi alat
  3. LLM menganalisis alat yang tersedia dan memilih alat yang sesuai untuk mengambil peringatan Instana
  4. Klien mengeksekusi alat yang dipilih melalui server MCP Instana
  5. Hasil (peringatan terbaru) dikembalikan ke LLM
  6. LLM merumuskan respons bahasa alami
  7. Respons ditampilkan kepada Anda
sequenceDiagram
    participant User
    participant ChatBot as MCP Host
    participant MCPClient as MCP Client
    participant MCPServer as Instana MCP Server
    participant LLM
    participant Instana as Instana Instance

    ChatBot->>MCPClient: Load available tools from MCP Server
    MCPClient->>MCPServer: Request available tool list
    MCPServer->>MCPClient: Return list of available tools
    User->>ChatBot: Ask "Show me the latest alerts from Instana for application robot-shop"
    ChatBot->>MCPClient: Forward query
    MCPClient->>LLM: Send query and tool description
    LLM->>MCPClient: Select appropriate tool(s) for Instana alert query
    MCPClient->>MCPServer: Execute selected tool(s)
    MCPServer->>Instana: Retrieve alerts for application robot-shop
    MCPServer->>MCPClient: Send alerts of Instana result
    MCPClient->>LLM: Forward alerts of Instana
    LLM->>ChatBot: Generate natural language response for Instana alerts
    ChatBot->>User: Show Instana alert response

Prasyarat

Opsi 1: Instal dari PyPI (Disarankan)

Cara termudah untuk menggunakan mcp-instana adalah dengan menginstalnya langsung dari PyPI:

pip install mcp-instana

Setelah instalasi, Anda dapat menjalankan server menggunakan perintah mcp-instana secara langsung.

Opsi 2: Instalasi Pengembangan

Untuk pengembangan atau kustomisasi lokal, Anda dapat mengkloning dan menyiapkan proyek secara lokal.

Menginstal uv

Proyek ini menggunakan uv, penginstal dan penyelesai paket Python yang cepat. Untuk menginstal uv, Anda memiliki beberapa opsi:

Menggunakan pip:

pip install uv

Menggunakan Homebrew (macOS):

brew install uv

Untuk opsi instalasi lebih lanjut dan petunjuk terperinci, kunjungi dokumentasi uv.

Menyiapkan Lingkungan

Setelah menginstal uv, siapkan lingkungan proyek dengan menjalankan:

uv sync

Autentikasi Berbasis Header untuk Mode HTTP Streamable

Saat menggunakan mode HTTP Streamable, Anda harus mengirimkan kredensial Instana melalui header HTTP. Pendekatan ini meningkatkan keamanan dan fleksibilitas dengan:

  • Menghindari penyimpanan kredensial dalam variabel lingkungan
  • Memungkinkan penggunaan kredensial yang berbeda untuk permintaan yang berbeda
  • Mendukung lingkungan bersama di mana modifikasi variabel lingkungan dibatasi
  • Mendukung autentikasi berbasis token API dan sesi

Mode Autentikasi yang Didukung:

1. Autentikasi Token API (Panggilan API Langsung)

Header yang Diperlukan:

  • instana-base-url: URL instance Instana Anda
  • instana-api-token: Token API Instana Anda

Contoh:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-api-token: your-api-token"

2. Autentikasi Token Sesi (Panggilan yang Diprakarsai UI)

Header yang Diperlukan:

  • instana-base-url: URL instance Instana Anda
  • instana-auth-token: Token autentikasi sesi dari backend UI
  • instana-csrf-token: Token CSRF dari backend UI
  • instana-cookie-name: (Opsional) Nama cookie untuk autentikasi sesi (default: instanaAuthToken)

Contoh:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-auth-token: your-session-token"
--header "instana-csrf-token: your-csrf-token"
--header "instana-cookie-name: in-token"

3. Autentikasi Token JWT (Integrasi Platform IBM)

Header yang Diperlukan:

  • instana-base-url: URL instance Instana Anda
  • instana-jwt-token: Token JWT dari Platform IBM
  • instana-csrf-token: Token CSRF untuk validasi permintaan

Contoh Konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp",
        "--allow-http",
        "--header",
        "instana-base-url: https://your-instana-instance.instana.io",
        "--header",
        "instana-jwt-token: your_jwt_token_here",
        "--header",
        "instana-csrf-token: your_csrf_token_here"
      ]
    }
  }
}

Prioritas Autentikasi:

  1. Token JWT (jika disediakan dengan token CSRF) - Mendahulukan integrasi Platform IBM
  2. Token Sesi (jika auth_token dan csrf_token disediakan)
  3. Token API (jika disediakan) - Autentikasi standar
  4. Variabel Lingkungan (INSTANA_API_TOKEN) - Cadangan

Alur Autentikasi:

  1. Header HTTP harus ada di setiap permintaan
  2. Server memvalidasi kredensial berdasarkan urutan prioritas
  3. Permintaan tanpa autentikasi yang valid akan gagal

Desain ini memastikan transmisi kredensial yang aman dan mendukung beberapa alur autentikasi termasuk panggilan yang diprakarsai UI melalui WebSocket → Koordinator → Server MCP.

Pastikan token yang digunakan memiliki izin yang diperlukan untuk memanggil alat MCP. Periksa di sini untuk informasi lebih lanjut.

Memulai Server MCP Lokal

Sebelum mengonfigurasi klien MCP apa pun (Claude Desktop, GitHub Copilot, atau klien MCP kustom), Anda perlu memulai server MCP lokal. Server mendukung dua mode transport: Streamable HTTP dan Stdio.

Opsi Perintah Server

Menggunakan CLI (Instalasi PyPI)

Jika Anda menginstal mcp-instana dari PyPI, gunakan perintah mcp-instana:

mcp-instana [OPTIONS]

Menggunakan Instalasi Pengembangan

Untuk pengembangan lokal, gunakan perintah uv run:

uv run src/core/server.py [OPTIONS]

Opsi yang Tersedia:

  • --transport <mode>: Mode transport (pilihan: streamable-http, stdio)
  • --env KEY=VALUE: Tetapkan variabel lingkungan (dapat diulang untuk beberapa variabel, misalnya --env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...)
  • --debug: Aktifkan mode debug dengan logging tambahan
  • --log-level <level>: Tetapkan tingkat logging (pilihan: DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • --tools <categories>: Daftar kategori alat yang dipisahkan koma untuk diaktifkan (misalnya, infra,app,events,website). Mengaktifkan kategori juga akan mengaktifkan prompt terkait. Contoh: --tools infra mengaktifkan alat infra dan semua prompt terkait infra.
  • --list-tools: Tampilkan semua kategori alat yang tersedia dan keluar
  • --port <port>: Port server MCP (default: 8080, dapat ditimpa dengan variabel env PORT)
  • --verify-ssl: Aktifkan verifikasi sertifikat SSL untuk panggilan API Instana keluar. Setara dengan mengatur INSTANA_SSL_VERIFY=true. Verifikasi SSL dinonaktifkan secara default.
  • --help: Tampilkan pesan bantuan dan keluar

Memulai dalam Mode HTTP Streamable

Mode HTTP Streamable menyediakan antarmuka REST API dan direkomendasikan untuk sebagian besar kasus penggunaan.

Menggunakan CLI (Instalasi PyPI)

# Start with all tools enabled (default)
mcp-instana --transport streamable-http

# Start with debug logging
mcp-instana --transport streamable-http --debug

# Start with a specific log level
mcp-instana --transport streamable-http --log-level WARNING

# Start with specific tool categories only
mcp-instana --transport streamable-http --tools infra,events

# Combine options (specific log level, custom tools)
mcp-instana --transport streamable-http --log-level DEBUG --tools app,events

Menggunakan Instalasi Pengembangan

# Start with all tools enabled (default)
uv run src/core/server.py --transport streamable-http

# Start with debug logging
uv run src/core/server.py --transport streamable-http --debug

# Start with a specific log level
uv run src/core/server.py --transport streamable-http --log-level WARNING

# Start with specific tool and prompts categories only
uv run src/core/server.py --transport streamable-http --tools infra,events

# Start with custom port
uv run src/core/server.py --transport streamable-http --port 9000

# Combine options (specific log level, custom tools and prompts)
uv run src/core/server.py --transport streamable-http --log-level DEBUG --tools app,events

Fitur Utama Mode HTTP Streamable:

  • Menggunakan header HTTP untuk autentikasi (tidak memerlukan variabel lingkungan)
  • Mendukung kredensial yang berbeda per permintaan
  • Lebih cocok untuk lingkungan bersama
  • Port default server MCP: 8080
  • Endpoint MCP: http://0.0.0.0:8080/mcp/

Memulai dalam Mode Stdio

Mode Stdio menggunakan input/output standar untuk komunikasi dan memerlukan variabel lingkungan untuk autentikasi.

Menggunakan CLI (Instalasi PyPI)

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
mcp-instana

# Or explicitly specify stdio mode
mcp-instana --transport stdio

# Option 2: Use --env flag to set environment variables directly
mcp-instana --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
mcp-instana --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

Menggunakan Instalasi Pengembangan

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
uv run src/core/server.py

# Or explicitly specify stdio mode
uv run src/core/server.py --transport stdio

# Option 2: Use --env flag to set environment variables directly
uv run src/core/server.py --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
uv run src/core/server.py --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

Fitur Utama Mode Stdio:

  • Menggunakan variabel lingkungan untuk autentikasi (dapat diatur melalui export atau flag --env)
  • Komunikasi langsung melalui stdin/stdout
  • Diperlukan untuk konfigurasi klien MCP tertentu
  • Flag --env menyediakan cara yang mudah untuk mengatur kredensial tanpa memodifikasi lingkungan shell

Kategori Alat

Anda dapat mengoptimalkan kinerja server dengan hanya mengaktifkan kategori alat dan prompt yang Anda butuhkan:

Menggunakan CLI (Instalasi PyPI)

# List all available categories
mcp-instana --list-tools

# Enable specific categories
mcp-instana --transport streamable-http --tools infra,app
mcp-instana --transport streamable-http --tools events

Menggunakan Instalasi Pengembangan

# List all available categories
uv run src/core/server.py --list-tools

# Enable specific categories
uv run src/core/server.py --transport streamable-http --tools infra,app
uv run src/core/server.py --transport streamable-http --tools events

Kategori yang Tersedia:

  • infra: Alat dan prompt pemantauan infrastruktur (sumber daya, katalog, topologi, analisis, metrik)
  • app: Alat dan prompt kinerja aplikasi (sumber daya, metrik, peringatan, katalog, topologi, analisis, pengaturan, peringatan global)
  • events: Alat dan prompt pemantauan peristiwa (peristiwa Kubernetes, pemantauan agen)
  • website: Alat dan prompt pemantauan situs web (metrik, katalog, analisis, konfigurasi)

Verifikasi Sertifikat SSL

Verifikasi sertifikat SSL untuk panggilan API Instana keluar dinonaktifkan secara default. Ini berlaku untuk mode transport Streamable HTTP dan Stdio.

Untuk mengaktifkan verifikasi sertifikat SSL, gunakan opsi CLI --verify-ssl atau variabel lingkungan INSTANA_SSL_VERIFY.

Menggunakan Opsi CLI

uv run src/core/server.py --verify-ssl

Opsi --verify-ssl setara dengan mengatur:

export INSTANA_SSL_VERIFY=true

Menggunakan Variabel Lingkungan

export INSTANA_SSL_VERIFY=true
uv run src/core/server.py

Verifikasi SSL dinonaktifkan ketika INSTANA_SSL_VERIFY diatur ke 0, false, atau no (tidak peka huruf besar/kecil), atau dibiarkan kosong. Nilai lainnya mengaktifkan verifikasi — gunakan true, 1, atau yes sebagai pilihan konvensional.

Menggunakan Bundel CA Kustom

Ketika verifikasi SSL diaktifkan, bundel CA sistem digunakan secara default. Untuk menggunakan bundel sertifikat CA kustom, atur INSTANA_CA_BUNDLE:

export INSTANA_SSL_VERIFY=true
export INSTANA_CA_BUNDLE=/path/to/ca-bundle.crt
uv run src/core/server.py

INSTANA_CA_BUNDLE hanya digunakan ketika verifikasi sertifikat SSL diaktifkan.

Server mencatat status verifikasi SSL yang efektif saat startup, sehingga Anda dapat segera mengonfirmasi apakah variabel lingkungan atau flag CLI Anda terbaca.

Memverifikasi Status Server

Setelah dimulai, Anda dapat memverifikasi bahwa server berjalan:

Untuk mode Streamable HTTP:

# Check MCP server
curl http://0.0.0.0:8080/mcp/

# Or with custom port
curl http://0.0.0.0:9000/mcp/

Untuk mode Stdio: Server akan mulai dan menunggu input stdin dari klien MCP.

Masalah Startup yang Umum

Masalah SSL / Sertifikat: Lihat bagian Verifikasi Sertifikat SSL di atas untuk opsi konfigurasi. Jika Anda mengalami kesalahan SSL dengan verifikasi yang diaktifkan dan menggunakan macOS, pastikan lingkungan Python Anda memiliki akses ke sertifikat sistem:

# macOS - Install certificates for Python
/Applications/Python\ 3.13/Install\ Certificates.command

Port Sudah Digunakan: Jika port 8080 sudah digunakan, tentukan port yang berbeda:

uv run src/core/server.py --transport streamable-http --port 9000

Dependensi yang Hilang: Pastikan semua dependensi terinstal:

uv sync

Pengaturan dan Penggunaan

Bob IDE

Bob adalah IDE bertenaga AI milik IBM yang mendukung integrasi MCP secara native. Bob menyediakan pengalaman pengembangan yang mulus dengan bantuan AI bawaan dan alat observabilitas.

Mode Streamable HTTP

Mode Streamable HTTP menyediakan antarmuka REST API untuk komunikasi MCP menggunakan JSON-RPC melalui HTTP.

Langkah 1: Mulai Server MCP dalam Mode Streamable HTTP

Sebelum mengonfigurasi Bob, Anda perlu memulai server MCP dalam mode Streamable HTTP. Silakan merujuk ke bagian Memulai Server MCP Lokal untuk instruksi terperinci.

Langkah 2: Konfigurasi Bob

Di pojok kanan atas panel Bob, Anda akan melihat dropdown dengan server MCP:

Setelah memilih ini, Anda seharusnya dapat melihat opsi untuk mengonfigurasi MCP di tingkat proyek atau tingkat global.

Cakupan Konfigurasi MCP

Bob mendukung dua tingkat konfigurasi MCP, memungkinkan Anda memilih cakupan yang paling sesuai dengan kebutuhan Anda:

1. Konfigurasi Global (Tingkat Pengguna)

Konfigurasi global menerapkan server MCP di semua proyek untuk pengguna saat ini. Ini ideal ketika Anda ingin server MCP yang sama tersedia di setiap proyek yang Anda kerjakan.

Lokasi File:

  • macOS: ~/Library/Application Support/Bob/bob_config.json
  • Windows: %APPDATA%\Bob\bob_config.json
  • Linux: ~/.config/Bob/bob_config.json

2. Konfigurasi Proyek (Tingkat Proyek)

Konfigurasi proyek hanya menerapkan server MCP ke proyek tertentu. Ini berguna ketika proyek yang berbeda memerlukan konfigurasi server MCP yang berbeda atau ketika Anda ingin berbagi pengaturan MCP dengan tim Anda melalui kontrol versi.

Lokasi File:

  • .bob/bob_config.json di direktori root proyek Anda

Memilih Antara Konfigurasi Global dan Proyek:

  • Gunakan konfigurasi global untuk server MCP yang ingin Anda sediakan di semua proyek Anda
  • Gunakan konfigurasi proyek untuk server MCP khusus proyek atau untuk berbagi konfigurasi dengan tim Anda
  • Kedua konfigurasi dapat berdampingan - pengaturan tingkat proyek lebih diutamakan daripada pengaturan global untuk nama server yang sama

Untuk informasi lebih lanjut tentang Bob dan konfigurasi MCP, kunjungi: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

Konfigurasi Lokal:

Konfigurasikan Bob untuk terhubung ke server Instana MCP lokal Anda:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Konfigurasi Jarak Jauh:

Konfigurasikan Bob untuk terhubung ke server Instana MCP jarak jauh (misalnya, yang diterapkan di IBM Code Engine):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "https://app-instana-750.1zetetanw8ul.us-east.codeengine.appdomain.cloud/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Catatan: Untuk menggunakan npx, kami menyarankan untuk menginstal NVM (Node Version Manager) terlebih dahulu, kemudian menggunakannya untuk menginstal Node.js. Instruksi instalasi tersedia di: https://nodejs.org/en/download

Langkah 3: Uji Koneksi

Setelah Anda mengatur konfigurasi MCP, server MCP yang baru dikonfigurasi akan muncul sebagai aktif. Titik hijau menunjukkan bahwa server berjalan dengan sukses.

Anda sekarang dapat menjalankan kueri di Bob IDE:

get me all applications from Instana in the last 24 hours

Mode Stdio

Konfigurasi menggunakan CLI (Instalasi PyPI - Disarankan):

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Catatan: Jika Anda mengalami kesalahan "command not found", gunakan jalur lengkap ke mcp-instana. Temukan dengan which mcp-instana dan gunakan jalur tersebut sebagai gantinya.

Konfigurasi menggunakan Instalasi Pengembangan:

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Claude Desktop

Claude Desktop mendukung mode Streamable HTTP dan Stdio untuk integrasi MCP.

Konfigurasikan Claude Desktop dengan mengedit file konfigurasi:

Lokasi File:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Mode Streamable HTTP

Mode Streamable HTTP menyediakan antarmuka REST API untuk komunikasi MCP menggunakan JSON-RPC melalui HTTP.

Langkah 1: Mulai Server MCP dalam Mode Streamable HTTP

Sebelum mengonfigurasi Claude Desktop, Anda perlu memulai server MCP dalam mode Streamable HTTP. Silakan merujuk ke bagian Memulai Server MCP Lokal untuk instruksi terperinci.

Langkah 2: Konfigurasi Claude Desktop

Konfigurasikan Claude Desktop untuk meneruskan kredensial Instana melalui header:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Catatan: Untuk menggunakan npx, kami menyarankan untuk menginstal NVM (Node Version Manager) terlebih dahulu, kemudian menggunakannya untuk menginstal Node.js. Instruksi instalasi tersedia di: https://nodejs.org/en/download

Langkah 3: Uji Koneksi

Mulai ulang Claude Desktop. Anda sekarang akan melihat Instana MCP Server di antarmuka Claude Desktop seperti yang ditunjukkan di bawah ini:

Anda sekarang dapat menjalankan kueri di Claude Desktop:

get me all endpoints from Instana

Mode Stdio

Konfigurasi menggunakan CLI (Instalasi PyPI - Disarankan):

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Catatan: Jika Anda mengalami kesalahan "command not found", gunakan jalur lengkap ke mcp-instana. Temukan dengan which mcp-instana dan gunakan jalur tersebut sebagai gantinya.

Konfigurasi menggunakan Instalasi Pengembangan:

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Pengaturan Kiro

Kiro adalah IDE agenik, bukan ekstensi yang dapat diunduh ke VS Code atau IDE lainnya.

Langkah 1: Unduh dan instal Kiro untuk sistem operasi Anda dari https://kiro.dev/.

Langkah 2: Setelah instalasi, luncurkan Kiro dan buka proyek apa pun di IDE. alt text

Langkah 3: Klik ikon Kiro (Hantu) di sidebar kiri untuk mengakses fitur Kiro. alt text

Langkah 4: Pilih ikon Edit Config di pojok kanan atas bagian MCP Servers. alt text

Langkah 5: Buka file konfigurasi server MCP (mcp.json) dan konfigurasikan berdasarkan mode transport yang Anda pilih:

Mode Streamable HTTP (Disarankan untuk Kiro)

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Catatan: Pastikan untuk memulai server MCP dalam mode streamable-http sebelum menggunakan konfigurasi ini:

mcp-instana --transport streamable-http

Mode Stdio

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Langkah 6: Setelah menyimpan file, klik tombol Enable MCP dan Anda akan melihat server MCP beserta alat yang tersedia muncul di bagian kiri-bawah Kiro. alt text

Langkah 7: Buka panel AI Chat, masukkan prompt yang terkait dengan server MCP Anda, dan lihat respons langsung di Kiro. alt text

GitHub Copilot

GitHub Copilot mendukung integrasi MCP melalui konfigurasi VS Code. Untuk integrasi GitHub Copilot dengan VS Code, rujuk ke panduan pengaturan ini.

Mode Streamable HTTP

Langkah 1: Mulai Server MCP dalam Mode Streamable HTTP

Sebelum mengonfigurasi VS Code, Anda perlu memulai server MCP dalam mode Streamable HTTP. Silakan merujuk ke bagian Memulai Server MCP Lokal untuk instruksi terperinci.

Langkah 2: Konfigurasi VS Code

Rujuk ke Gunakan server MCP di VS Code untuk konfigurasi terperinci.

Anda dapat langsung membuat atau memperbarui .vscode/mcp.json dengan konfigurasi berikut:

{
  "servers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ],
      "env": {
        "PATH": "/usr/local/bin:/bin:/usr/bin",
        "SHELL": "/bin/sh"
      }
    }
  }
}

Catatan: Ganti nilai berikut dengan konfigurasi aktual Anda:

  • instana-base-url: URL instance Instana Anda
  • instana-api-token: Token API Instana Anda
  • command: Perbarui jalur npx agar sesuai dengan instalasi Node.js sistem Anda (misalnya, /path/to/your/node/bin/npx)
  • Variabel lingkungan: Sesuaikan PATH dan variabel lingkungan lainnya sesuai kebutuhan sistem Anda

Mode Stdio

Langkah 1: Buat Konfigurasi MCP VS Code

Menggunakan CLI (Instalasi PyPI - Disarankan):

Buat .vscode/mcp.json di root proyek Anda:

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Menggunakan Instalasi Pengembangan:

Buat .vscode/mcp.json di root proyek Anda:

Opsi 1: Menggunakan variabel lingkungan dalam konfigurasi:

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opsi 2: Menggunakan flag --env (metode alternatif):

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Catatan: Ganti nilai berikut dengan konfigurasi aktual Anda:

  • Untuk instalasi CLI: Pastikan mcp-instana ada di PATH Anda
  • Untuk instalasi pengembangan:
    • command: Perbarui jalur uv agar sesuai dengan instalasi uv sistem Anda (misalnya, /path/to/your/uv/bin/uv atau /usr/local/bin/uv)
    • --directory: Perbarui dengan jalur absolut ke direktori proyek mcp-instana Anda
  • INSTANA_BASE_URL: URL instance Instana Anda
  • INSTANA_API_TOKEN: Token API Instana Anda

Langkah 2: Kelola Server di VS Code

  1. Buka .vscode/mcp.json - Anda akan melihat kontrol manajemen server di bagian atas
  2. Klik Start di samping Instana MCP Server untuk memulai server
  3. Status berjalan beserta jumlah alat menunjukkan bahwa server sedang berjalan

Langkah 3: Uji Integrasi

Beralih ke Mode Agen di GitHub Copilot dan muat ulang alat. Berikut adalah contoh respons GitHub Copilot:

GitHub Copilot Response

Mistral AI

Mistral AI mendukung integrasi MCP secara eksklusif melalui mode Streamable HTTP.

Langkah 1: Luncurkan Server MCP dalam Mode Streamable HTTP

Mulai server MCP dalam mode Streamable HTTP dengan memberikan kredensial Instana Anda. Jalankan perintah berikut:

uv run src/core/server.py --transport streamable-http \
  --api-token "your_instana_api_token" \
  --base-url "https://your-instana-instance.instana.io" \
  --port 8080

Langkah 2: Atur Penerusan Port dengan Ngrok

Konfigurasikan penerusan port untuk mengekspos server lokal Anda. Ikuti dokumentasi pengaturan Ngrok untuk instruksi terperinci.

Langkah 3: Konfigurasi Mistral AI

  1. Navigasikan ke tab Intelligence di sidebar kiri dan pilih Connectors Mistral HomePage

  2. Klik Add Connector Connector

  3. Buat konektor kustom dengan memasukkan nama konektor dan URL server MCP yang diteruskan melalui Ngrok Custom Connector

  4. Mulai sesi obrolan baru dan verifikasi bahwa alat MCP diaktifkan. Anda dapat melihat respons di sini Testing MCP connection Response

Menghubungkan ke Beberapa Server Instana MCP

Anda dapat mengonfigurasi klien MCP Anda untuk terhubung ke beberapa instance. Berikut adalah contoh konfigurasi:

{
  "mcpServers": {
    "Instana MCP Server1": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header",
        "instana-base-url: ENV1_INSTANA_URL",
        "--header",
        "instana-api-token: ENV1_INSTANA_API_TOKEN"
      ]
    },
    "Instana MCP Server2": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header",
        "instana-base-url: ENV2_INSTANA_URL",
        "--header",
        "instana-api-token: ENV2_INSTANA_API_TOKEN"
      ]
    }
  }
}

Untuk menargetkan server tertentu, pastikan bahwa:

  • Server dikonfigurasi dengan nama lingkungan yang sesuai dalam konfigurasi MCP (misalnya Instana MCP Server1)
  • Prompt secara eksplisit menyebutkan nama server/lingkungan tersebut. Permintaan kemudian akan dirutekan ke server yang telah dikonfigurasi sesuai. Jika tidak ada server/environment yang secara eksplisit disebutkan dalam prompt, MCP menggunakan server pertama yang didefinisikan dalam konfigurasi sebagai server default.

Catatan: Jika server yang diminta sedang down atau tidak dapat dijangkau, MCP berperilaku sesuai yang diharapkan dan meneruskan kegagalan API. Pengguna akan menerima error yang sesuai yang dikembalikan oleh API, yang menunjukkan bahwa server tidak tersedia. MCP bergantung pada ketersediaan API yang mendasarinya dan tidak melakukan failover otomatis.

Fitur yang Didukung

  • Manajemen Aplikasi & Infrastruktur Terpadu (manage_instana_resources)
    • Metrik Aplikasi
      • Kueri metrik aplikasi dengan pemfilteran yang fleksibel
      • Daftar layanan dan endpoint
      • Kelompokkan berdasarkan tag dan agregasi metrik
    • Konfigurasi Alert Aplikasi
      • Temukan konfigurasi alert yang aktif
      • Dapatkan versi konfigurasi alert
      • Buat, perbarui, dan hapus konfigurasi alert
      • Aktifkan, nonaktifkan, dan pulihkan konfigurasi alert
      • Perbarui baseline historis
    • Konfigurasi Alert Aplikasi Global
      • Kelola konfigurasi alert global
      • Kontrol versi untuk alert global
    • Pengaturan Aplikasi
      • Kelola perspektif aplikasi
      • Konfigurasikan endpoint dan layanan
      • Kelola layanan manual
    • Katalog Aplikasi
      • Dapatkan katalog tag aplikasi
      • Dapatkan katalog metrik aplikasi
  • Manajemen Infrastruktur (manage_infrastructure)
    • Smart router terpadu menggantikan analyze_infrastructure — satu alat untuk analisis, katalog, dan snapshot sumber daya
    • get_plugin_schema — mengambil metrik dan tag untuk sebuah plugin dalam satu panggilan API (menggantikan dua panggilan terpisah)
    • Dukungan dinamis untuk semua tipe entitas dari katalog API Instana (JVM, Kubernetes, Docker, host, database, antrian pesan, dan lainnya)
    • File skema statis dihapus — semua skema diambil langsung dari API Instana
    • Operasi snapshot sumber daya: get_snapshot, get_snapshots
    • Agregasi metrik yang fleksibel (max, mean, sum, dll.)
    • Pemfilteran lanjutan berdasarkan tag dan properti
    • Kemampuan pengelompokan dan pengurutan
    • Kueri rentang waktu
  • Manajemen Event Terpadu (manage_events)
    • Pemantauan Event
      • Dapatkan Event berdasarkan ID (operation="get_event")
      • Dapatkan Event berdasarkan ID (operation="get_events_by_ids")
      • Dapatkan Event Pemantauan Agen (operation="get_agent_monitoring_events")
      • Dapatkan Event Info Kubernetes (operation="get_kubernetes_info_events")
      • Dapatkan Event (operation="get_events")
    • Routing cerdas ke alat event khusus
    • Validasi parameter terpadu (rentang waktu, max_events)
    • Dukungan untuk rentang waktu bahasa alami ("24 jam terakhir", "2 hari terakhir")
    • Pemfilteran dan optimasi event
  • Pemantauan Aplikasi Seluler (manage_mobile_apps)
    • Session Replay — baru (resource_type="session_replay")
      • get_session_replay_action_beacons — pengambilan beacon aksi dengan paginasi berdasarkan ID aplikasi seluler dan ID sesi
      • Paginasi berbasis kursor (cursor, page_size, hasMore)
    • Analisis Beacon, Metrik Kinerja, Analisis Geografis & Perangkat, Manajemen Alert (yang sudah ada)
  • Manajemen Situs Web Terpadu (manage_website_resources)
    • Analisis Situs Web (resource_type="analyze")
      • Dapatkan Grup Beacon Situs Web - data beacon yang dikelompokkan/diagregasi (operation="get_beacon_groups")
      • Dapatkan Beacon Situs Web - data beacon individual dengan paginasi (operation="get_beacons")
      • Validasi tag otomatis dan alur kerja elicitation berbasis katalog
      • Ringkasan respons (pengurangan payload 70-80%)
      • Dukungan untuk beberapa tipe beacon: PAGELOAD, PAGECHANGE, RESOURCELOAD, CUSTOM, HTTPREQUEST, ERROR
    • Katalog Situs Web (resource_type="catalog")
      • Dapatkan Katalog Metrik Situs Web (operation="get_metrics")
      • Dapatkan Katalog Tag Situs Web berdasarkan tipe beacon dan use case (operation="get_tag_catalog")
    • Konfigurasi Situs Web (resource_type="configuration")
      • Dapatkan Semua Situs Web (operation="get_all")
      • Dapatkan Situs Web berdasarkan ID atau nama dengan resolusi nama otomatis (operation="get")
    • Konfigurasi Lanjutan - HANYA BACA (resource_type="advanced_config")
      • Dapatkan Konfigurasi Geo-Lokasi (operation="get_geo_config")
      • Dapatkan Konfigurasi Masking IP (operation="get_ip_masking")
      • Dapatkan Aturan Pemetaan Geo (operation="get_geo_rules")
  • Manajemen Otomasi Terpadu (manage_automation)
    • Katalog Aksi (resource_type="catalog")
      • Daftar semua aksi otomasi yang tersedia (operation="get_actions")
      • Dapatkan informasi terperinci tentang aksi tertentu (operation="get_action_details")
      • Cari aksi yang cocok berdasarkan nama/deskripsi (operation="get_action_matches")
      • Dapatkan aksi yang cocok berdasarkan ID aplikasi atau snapshot dan jendela waktu (operation="get_action_matches_by_id_and_time_window")
      • Dapatkan tipe aksi yang tersedia (operation="get_action_types")
      • Dapatkan tag aksi yang tersedia (operation="get_action_tags")
    • Riwayat Aksi (resource_type="history")
      • Daftar instance eksekusi aksi dengan pemfilteran (operation="list")
      • Dapatkan detail eksekusi aksi tertentu (operation="get_details")
  • Pemantauan Sintetis Terpadu (manage_synthetics)
    • Katalog Sintetis (resource_type="catalog")
      • Dapatkan metrik yang tersedia dengan agregasi yang didukung untuk perencanaan kueri (operation="get_synthetic_catalog_metrics")
      • Dapatkan nama tag yang valid untuk pemfilteran, pengelompokan, dan alert cerdas (operation="get_synthetic_tag_catalog")
    • Metrik Sintetis (resource_type="metrics")
      • Ambil metrik sintetis yang diagregasi dikelompokkan berdasarkan lokasi atau nama tes (operation="get_metrics_result")
    • Pengaturan Sintetis (resource_type="settings")
      • Dapatkan konfigurasi lengkap tes sintetis berdasarkan ID atau nama (operation="get_synthetic_test")
      • Daftar tes sintetis dengan pemfilteran opsional berdasarkan aplikasi, lokasi, atau kredensial (operation="get_synthetic_tests")
      • Daftar semua lokasi pemantauan dengan metadata tipe, geo, dan kapabilitas (operation="get_locations")
      • Dapatkan satu lokasi berdasarkan ID atau nama dengan resolusi nama otomatis (operation="get_location_by_id")
      • Dapatkan semua lokasi datacenter (Managed) dengan jumlah online (operation="get_all_datacenters")
    • Pemutaran Tes Sintetis (resource_type="test_playback")
      • Dapatkan metrik pemutaran yang diagregasi per tes (operation="get_synthetic_result")
      • Dapatkan hasil terbaru per tes menggunakan analitik LAST_VALUE (operation="get_synthetic_result_analytic")
      • Dapatkan hasil run tes individual dengan status mentah, error, dan timestamp (operation="get_synthetic_result_list")
      • Dapatkan metadata ringkasan tingkat lokasi termasuk waktu run terakhir dan versi PoP (operation="get_location_summary_list")
      • Dapatkan tingkat keberhasilan per tes dengan rincian per lokasi (operation="get_test_summary_list")
      • Dapatkan tipe data detail yang tersedia untuk hasil tes tertentu (operation="get_synthetic_result_metadata")
      • Dapatkan konten file data detail seperti log, HAR, atau tangkapan layar (operation="get_synthetic_result_detail_data")
  • Dasbor Kustom (manage_custom_dashboards)
    • Dapatkan semua dasbor kustom
    • Dapatkan dasbor tertentu berdasarkan ID
    • Buat dasbor kustom baru
    • Perbarui dasbor kustom yang ada
    • Hapus dasbor kustom
    • Dapatkan pengguna yang dapat dibagikan untuk dasbor
    • Dapatkan token API yang dapat dibagikan untuk dasbor

Alat yang Tersedia

AlatKategoriDeskripsi
manage_applicationsAplikasi & InfrastrukturAlat terpadu untuk mengelola metrik aplikasi, konfigurasi alert, pengaturan, dan katalog
manage_websitesPemantauan Situs WebSmart router terpadu untuk operasi analisis, katalog, konfigurasi, dan konfigurasi lanjutan situs web
manage_custom_dashboardsDasbor KustomAlat terpadu untuk mengelola operasi CRUD dasbor kustom
manage_infrastructureInfrastrukturSmart router terpadu untuk analisis infrastruktur, katalog (get_plugin_schema), dan operasi snapshot sumber daya
manage_automationOtomasiSmart router terpadu untuk otomasi: jelajahi katalog aksi dan lihat riwayat eksekusi
manage_eventsEventSmart router terpadu untuk pemantauan event: dapatkan event berdasarkan ID, dapatkan event berdasarkan ID, event Kubernetes, event pemantauan agen, dan semua event
manage_sloManajemen SLOSmart router terpadu untuk konfigurasi SLO, laporan, alert, dan jendela koreksi dengan penanganan zona waktu yang cerdas
manage_releasesManajemen RilisSmart router terpadu untuk pelacakan rilis: daftar rilis dengan paginasi dan pemfilteran nama, dapatkan detail rilis, buat/perbarui/hapus rilis dengan dukungan zona waktu
manage_maintenance_windowsJendela PemeliharaanSmart router terpadu untuk manajemen siklus hidup jendela pemeliharaan: buat, ubah, tutup, dan daftar jendela pemeliharaan dengan dukungan template dan integrasi ServiceNow
manage_mobile_appsPemantauan Aplikasi SelulerSmart router terpadu untuk pemantauan aplikasi seluler: analisis beacon, metrik kinerja, session replay, konfigurasi, dan manajemen alert
manage_syntheticsPemantauan SintetisSmart router terpadu untuk pemantauan sintetis: katalog, metrik, pengaturan (hanya baca), dan hasil pemutaran tes

👉 Untuk dokumentasi alat yang terperinci, kapabilitas, dan referensi teknis, lihat Alat & Contoh

Pemfilteran Alat

Server MCP mendukung pemuatan alat secara selektif untuk mengoptimalkan kinerja dan mengurangi penggunaan sumber daya. Anda dapat mengaktifkan hanya kategori alat yang Anda butuhkan untuk use case spesifik Anda.

Kategori Alat yang Tersedia

  • router: Manajemen aplikasi dan infrastruktur terpadu

    • manage_instana_resources: Satu alat untuk metrik aplikasi, konfigurasi alert, pengaturan, dan katalog
    • Mendukung perspektif aplikasi, endpoint, layanan, dan layanan manual
    • Mengelola konfigurasi alert khusus aplikasi dan global
    • Menyediakan akses ke katalog tag aplikasi dan katalog metrik
  • dashboard: Manajemen dasbor kustom

    • manage_custom_dashboards: Operasi CRUD untuk dasbor kustom
    • Mendukung pembuatan, pengambilan, pembaruan, dan penghapusan dasbor
    • Mengelola pengguna yang dapat dibagikan dan token API untuk dasbor
  • infra: Alat manajemen infrastruktur

    • manage_infrastructure: Smart router terpadu untuk analisis infrastruktur, katalog, dan operasi snapshot sumber daya
    • get_plugin_schema menggabungkan get_metrics + get_tag_catalog menjadi satu panggilan API
    • Mendukung secara dinamis semua tipe entitas yang tersedia di instalasi Instana Anda (dimuat otomatis dari katalog API)
    • Termasuk JVM, Kubernetes, Docker, host, database, antrian pesan, dan tipe entitas kustom atau yang baru ditambahkan
    • Agregasi metrik yang fleksibel, pemfilteran, pengelompokan, dan kueri rentang waktu
  • automation: Alat tindakan otomasi

    • manage_automation: Router pintar terpadu untuk katalog otomasi dan riwayat eksekusi
    • Katalog Tindakan: jelajahi tindakan, dapatkan detail, cari berdasarkan nama/deskripsi, filter berdasarkan ID aplikasi atau snapshot
    • Riwayat Tindakan: daftarkan instance eksekusi dengan pemfilteran, dapatkan detail eksekusi
  • events: Alat pemantauan peristiwa

    • Peristiwa: peristiwa Kubernetes, pemantauan agen, dan pelacakan peristiwa sistem
  • website: Alat pemantauan situs web

    • Metrik Situs Web: Pengukuran kinerja untuk situs web
    • Katalog Situs Web: Metadata dan definisi situs web
    • Analisis Situs Web: Analisis kinerja situs web
    • Konfigurasi Situs Web: Manajemen konfigurasi situs web
  • slo: Manajemen Service Level Objective (SLO)

    • manage_slo: Router pintar terpadu untuk operasi SLO yang komprehensif
    • Manajemen Konfigurasi: Buat, baca, perbarui, hapus konfigurasi SLO dengan dukungan untuk indikator berbasis waktu dan berbasis peristiwa
    • Pembuatan Laporan: Hasilkan laporan SLO terperinci dengan nilai SLI, anggaran kesalahan, tingkat pembakaran, dan grafik deret waktu
    • Konfigurasi Peringatan: Kelola konfigurasi peringatan SLO untuk pemantauan anggaran kesalahan dan pelacakan tingkat pembakaran
    • Jendela Koreksi: Buat dan kelola jendela pemeliharaan untuk mengecualikan waktu henti terencana dari perhitungan SLO
    • Penanganan Zona Waktu Cerdas: Elisisasi zona waktu otomatis untuk input datetime guna memastikan konteks waktu yang akurat
    • Elisisasi Dua-Lintasan: Pengumpulan parameter interaktif untuk operasi kompleks yang memerlukan banyak input
  • releases: Pelacakan rilis dan manajemen deployment

    • manage_releases: Router pintar terpadu untuk operasi rilis
    • Daftar Rilis: Dapatkan semua rilis dengan paginasi efisien (page_number, page_size) dan pemfilteran berbasis nama
    • Detail Rilis: Ambil informasi rilis tertentu berdasarkan ID termasuk aplikasi, layanan, dan cakupan
    • Buat/Perbarui/Hapus: Operasi CRUD lengkap untuk manajemen rilis
    • Penanganan Zona Waktu Cerdas: Elisisasi zona waktu otomatis untuk waktu mulai rilis
    • Paginasi Efisien: Hindari pengambilan data berlebihan dengan navigasi berbasis halaman yang tepat
    • Pemfilteran Nama: Pencocokan substring yang tidak peka huruf besar/kecil untuk menemukan rilis berdasarkan nama
  • maintenance_window: Manajemen siklus hidup jendela pemeliharaan

    • manage_maintenance_windows: Router pintar terpadu untuk operasi jendela pemeliharaan
    • Operasi Jendela: Buat, ubah, tutup, dan daftarkan jendela pemeliharaan (aktif, terjadwal, semua, kedaluwarsa)
    • Operasi Massal: Buat jendela pemeliharaan untuk beberapa aplikasi secara bersamaan
    • Dukungan Template: Template yang telah ditentukan untuk skenario umum (deployment, database_migration, infrastructure_upgrade, emergency, routine)
    • Jendela Berulang: Dukungan untuk jendela pemeliharaan berulang menggunakan format RFC 5545 RRULE
    • Integrasi ServiceNow: Integrasi opsional dengan permintaan perubahan ServiceNow
    • Validasi: Validasi parameter sebelum pembuatan jendela
    • Durasi Fleksibel: Tentukan durasi dalam menit, jam, atau hari
  • mobile_app: Pemantauan aplikasi seluler

    • manage_mobile_apps: Router pintar terpadu untuk operasi pemantauan aplikasi seluler
    • Pemutaran Ulang Sesi: Ambil beacon tindakan pemutaran ulang sesi yang dipaginasi berdasarkan ID aplikasi seluler dan ID sesi (resource_type="session_replay")
    • Analisis Beacon: Kueri data beacon aplikasi seluler dengan pengelompokan dan pemfilteran
    • Metrik Kinerja: Lacak durasi sesi, tingkat kerusakan, dan kinerja permintaan HTTP
    • Analisis Geografis: Analisis distribusi pengguna berdasarkan negara, kota, dan wilayah
    • Analisis Perangkat: Pantau kinerja di berbagai perangkat, platform, dan versi OS
    • Manajemen Konfigurasi: Kelola konfigurasi aplikasi seluler, geo-lokasi, dan pengaturan penyembunyian IP
    • Manajemen Peringatan: Konfigurasikan dan kelola konfigurasi peringatan aplikasi seluler
  • synthetics: Manajemen pemantauan sintetis

    • manage_synthetics: Router pintar terpadu untuk semua operasi pemantauan sintetis
    • Katalog: Temukan ID metrik dan nama tag yang valid sebelum menyusun kueri
    • Metrik: Ambil waktu respons agregat dan tingkat keberhasilan yang dikelompokkan berdasarkan lokasi atau nama pengujian
    • Pengaturan: Daftarkan dan cari pengujian dan lokasi dengan resolusi nama otomatis; identifikasi PoP pusat data (Dikelola) vs mandiri (Pribadi)
    • Pemutaran Ulang Pengujian: Hasil mentah per-jalankan, analitik LAST_VALUE, ringkasan tingkat keberhasilan per-lokasi, dan unduhan file detail (LOGS, HAR, screenshots)

Contoh Penggunaan

Menggunakan CLI (Instalasi PyPI)

# Enable only router (unified app/infra management) and events tools
mcp-instana --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
mcp-instana --tools infra --transport streamable-http

# Enable router and infrastructure analysis
mcp-instana --tools router,infra --transport streamable-http

# Enable events and website tools
mcp-instana --tools events,website --transport streamable-http

# Enable dashboard and router tools
mcp-instana --tools dashboard,router --transport streamable-http

# Enable releases and events tools
mcp-instana --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
mcp-instana --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
mcp-instana --transport streamable-http

# List all available tool categories and their tools
mcp-instana --list-tools

Menggunakan Instalasi Pengembangan

# Enable only router (unified app/infra management) and events tools
uv run src/core/server.py --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
uv run src/core/server.py --tools infra --transport streamable-http

# Enable router and infrastructure analysis
uv run src/core/server.py --tools router,infra --transport streamable-http

# Enable events and website tools
uv run src/core/server.py --tools events,website --transport streamable-http

# Enable dashboard and router tools
uv run src/core/server.py --tools dashboard,router --transport streamable-http

# Enable releases and events tools
uv run src/core/server.py --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
uv run src/core/server.py --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
uv run src/core/server.py --transport streamable-http

# List all available tool categories and their tools
uv run src/core/server.py --list-tools

Manfaat Pemfilteran Alat

  • Kinerja: Mengurangi waktu startup dan penggunaan memori
  • Keamanan: Batasi paparan hanya pada API yang diperlukan
  • Kejelasan: Fokus pada kasus penggunaan tertentu (misalnya, hanya pemantauan infrastruktur)
  • Efisiensi Sumber Daya: Mengurangi penggunaan CPU dan jaringan

👉 Untuk contoh penggunaan dan prompt, lihat Contoh Prompt

Deployment Docker

Server MCP Instana dapat di-deploy menggunakan Docker untuk lingkungan produksi. Pengaturan Docker dioptimalkan untuk keamanan, kinerja, dan penggunaan sumber daya yang minimal.

Membangun Image Docker

Prasyarat

  • Docker terinstal dan berjalan
  • Akses ke kode sumber proyek

Bangun dan Jalankan

# Build the image
docker build -t mcp-instana:latest .

# Build with a specific tag
docker build -t mcp-instana:<image_tag> .
# Run the container (credentials are supplied via HTTP headers at request time)
docker run -p 8080:8080 mcp-instana

# Run with a custom host port
docker run -p 8081:8080 mcp-instana

📖 Untuk dokumentasi Docker yang komprehensif termasuk build multi-arsitektur, .dockerignore, praktik terbaik keamanan, dan contoh deployment produksi, lihat DOCKER.md.

Pemecahan Masalah

Masalah Docker

Kontainer Tidak Mau Dimulai

# Check container logs
docker logs <container_id>
# Common issues:
# 1. Port already in use
# 2. Invalid container image
# 3. Missing dependencies
# Credentials are passed via HTTP headers from the MCP client

Masalah Koneksi

# Test container connectivity (expects 406 from a bare GET — means server is up)
curl http://localhost:8080/mcp
# Check port mapping
docker port <container_id>

Masalah Kinerja

# Check container resource usage
docker stats <container_id>
# Monitor container health
docker inspect <container_id> | grep -A 10 Health

Masalah Umum

  • GitHub Copilot

    • Jika Anda mengalami masalah dengan GitHub Copilot, coba mulai/hentikan/nyalakan ulang server di file mcp.json dan pertahankan hanya satu server yang berjalan pada satu waktu.
  • Masalah Sertifikat

    • Jika Anda mengalami masalah sertifikat, seperti [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:
      • Periksa bahwa Anda dapat menjangkau endpoint API Instana menggunakan curl atau wget dengan verifikasi SSL.
        • Jika itu berhasil, lingkungan Python Anda mungkin tidak dapat memverifikasi sertifikat dan mungkin tidak memiliki akses ke sertifikat yang sama dengan shell atau sistem Anda. Pastikan lingkungan Python Anda menggunakan sertifikat sistem (macOS). Anda dapat melakukannya dengan menginstal sertifikat ke Python: /Applications/Python\ 3.13/Install\ Certificates.command
      • Jika Anda tidak dapat menjangkau endpoint dengan verifikasi SSL, coba tanpa verifikasi. Jika itu berhasil, periksa sertifikat CA sistem Anda dan pastikan sertifikat tersebut mutakhir.