IBM Instana MCP Server

chính thức

Máy chủ IBM Instana MCP cho phép tương tác liền mạch với nền tảng quan sát IBM Instana, giúp bạn truy cập dữ liệu quan sát thời gian thực trực tiếp trong quy trình phát triển của mình.

GitHub
25
Dùng thử MCP nàyĐược tài trợ

Bạn có thể làm gì với IBM Instana MCP?

  • Truy vấn hiệu suất ứng dụng — Yêu cầu số liệu ứng dụng, cảnh báo hoặc chi tiết danh mục bằng cách sử dụng các công cụ danh mục app như get_app_metrics hoặc get_app_alerts.
  • Giám sát sức khỏe hạ tầng — Truy xuất tài nguyên hạ tầng, cấu trúc liên kết và số liệu thông qua các công cụ infra như get_infra_metrics hoặc get_infra_topology.
  • Theo dõi sự kiện và sự cố — Truy cập sự kiện Kubernetes hoặc dữ liệu giám sát agent bằng các công cụ events như get_k8s_events hoặc get_agent_status.
  • Phân tích giám sát trang web — Lấy số liệu trang web, thông tin danh mục hoặc cấu hình bằng các công cụ website như get_website_metrics hoặc get_website_config.
  • Lọc công cụ theo danh mục — Chỉ kích hoạt các danh mục công cụ cần thiết khi khởi động bằng cờ --tools (ví dụ: --tools infra,events) để tối ưu hiệu suất.

Tài liệu

Mục lục

MCP Server cho IBM Instana

📚 Liên kết nhanh


Instana MCP server cho phép tương tác liền mạch với nền tảng quan sát Instana, giúp bạn truy cập dữ liệu quan sát theo thời gian thực trực tiếp trong quy trình phát triển của mình.

Server hoạt động như một cầu nối giữa các máy khách (như tác nhân AI hoặc công cụ tùy chỉnh) và các REST API của Instana, chuyển đổi truy vấn của người dùng thành yêu cầu API Instana và định dạng phản hồi thành các định dạng có cấu trúc, dễ tiêu thụ.

Server hỗ trợ cả hai chế độ truyền tải Streamable HTTPStdio để tương thích tối đa với các MCP client khác nhau. Để biết thêm chi tiết, hãy tham khảo đặc tả MCP Transport Modes.

Tổng quan kiến trúc

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

Quy trình hoạt động

Hãy xem xét một ví dụ đơn giản: Bạn đang sử dụng một MCP Host (như Claude Desktop, VS Code hoặc một client khác) được kết nối với Instana MCP Server. Khi bạn yêu cầu thông tin về các cảnh báo Instana, quy trình sau sẽ diễn ra:

  1. MCP client lấy danh sách các công cụ có sẵn từ Instana MCP server
  2. Truy vấn của bạn được gửi đến LLM kèm theo mô tả công cụ
  3. LLM phân tích các công cụ có sẵn và chọn (các) công cụ phù hợp để truy xuất cảnh báo Instana
  4. Client thực thi (các) công cụ đã chọn thông qua Instana MCP server
  5. Kết quả (các cảnh báo mới nhất) được trả về cho LLM
  6. LLM tạo phản hồi bằng ngôn ngữ tự nhiên
  7. Phản hồi được hiển thị cho bạn
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

Điều kiện tiên quyết

Tùy chọn 1: Cài đặt từ PyPI (Khuyến nghị)

Cách dễ nhất để sử dụng mcp-instana là cài đặt trực tiếp từ PyPI:

pip install mcp-instana

Sau khi cài đặt, bạn có thể chạy server bằng lệnh mcp-instana trực tiếp.

Tùy chọn 2: Cài đặt phát triển

Đối với phát triển hoặc tùy chỉnh cục bộ, bạn có thể sao chép (clone) và thiết lập dự án tại máy.

Cài đặt uv

Dự án này sử dụng uv, một trình cài đặt và giải quyết gói Python nhanh. Để cài đặt uv, bạn có một số tùy chọn:

Sử dụng pip:

pip install uv

Sử dụng Homebrew (macOS):

brew install uv

Để biết thêm các tùy chọn cài đặt và hướng dẫn chi tiết, hãy truy cập tài liệu uv.

Thiết lập môi trường

Sau khi cài đặt uv, hãy thiết lập môi trường dự án bằng cách chạy:

uv sync

Xác thực dựa trên Header cho Chế độ Streamable HTTP

Khi sử dụng chế độ Streamable HTTP, bạn phải truyền thông tin xác thực Instana qua HTTP headers. Cách tiếp cận này tăng cường bảo mật và tính linh hoạt bằng cách:

  • Tránh lưu trữ thông tin xác thực trong biến môi trường
  • Cho phép sử dụng các thông tin xác thực khác nhau cho các yêu cầu khác nhau
  • Hỗ trợ môi trường dùng chung nơi việc sửa đổi biến môi trường bị hạn chế
  • Hỗ trợ cả xác thực dựa trên API token và session

Các chế độ xác thực được hỗ trợ:

1. Xác thực bằng API Token (Gọi API trực tiếp)

Các header bắt buộc:

  • instana-base-url: URL phiên bản Instana của bạn
  • instana-api-token: API token Instana của bạn

Ví dụ:

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

2. Xác thực bằng Session Token (Gọi từ giao diện người dùng)

Các header bắt buộc:

  • instana-base-url: URL phiên bản Instana của bạn
  • instana-auth-token: Session authentication token từ UI backend
  • instana-csrf-token: CSRF token từ UI backend
  • instana-cookie-name: (Tùy chọn) Tên cookie cho xác thực session (mặc định: instanaAuthToken)

Ví dụ:

--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. Xác thực bằng JWT Token (Tích hợp IBM Platform)

Các header bắt buộc:

  • instana-base-url: URL phiên bản Instana của bạn
  • instana-jwt-token: JWT token từ IBM Platform
  • instana-csrf-token: CSRF token để xác thực yêu cầu

Cấu hình ví dụ:

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

Thứ tự ưu tiên xác thực:

  1. JWT Token (nếu được cung cấp kèm CSRF token) - Ưu tiên hàng đầu cho tích hợp IBM Platform
  2. Session Tokens (nếu cả auth_token và csrf_token được cung cấp)
  3. API Token (nếu được cung cấp) - Xác thực tiêu chuẩn
  4. Biến môi trường (INSTANA_API_TOKEN) - Dự phòng

Luồng xác thực:

  1. HTTP headers phải có mặt trong mỗi yêu cầu
  2. Server xác thực thông tin dựa trên thứ tự ưu tiên
  3. Các yêu cầu không có xác thực hợp lệ sẽ thất bại

Thiết kế này đảm bảo truyền tải thông tin xác thực an toàn và hỗ trợ nhiều luồng xác thực bao gồm cả các cuộc gọi khởi tạo từ giao diện người dùng qua WebSocket → Coordinator → MCP Server.

Đảm bảo rằng token được sử dụng có các quyền cần thiết để gọi các công cụ MCP. Kiểm tra tại đây để biết thêm thông tin.

Khởi động MCP Server cục bộ

Trước khi cấu hình bất kỳ MCP client nào (Claude Desktop, GitHub Copilot hoặc MCP client tùy chỉnh), bạn cần khởi động MCP server cục bộ. Server hỗ trợ hai chế độ truyền tải: Streamable HTTPStdio.

Các tùy chọn lệnh của Server

Sử dụng CLI (Cài đặt PyPI)

Nếu bạn đã cài đặt mcp-instana từ PyPI, hãy sử dụng lệnh mcp-instana:

mcp-instana [OPTIONS]

Sử dụng bản cài đặt phát triển

Đối với phát triển cục bộ, hãy sử dụng lệnh uv run:

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

Các tùy chọn có sẵn:

  • --transport <mode>: Chế độ truyền tải (lựa chọn: streamable-http, stdio)
  • --env KEY=VALUE: Đặt biến môi trường (có thể lặp lại cho nhiều biến, ví dụ: --env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...)
  • --debug: Bật chế độ gỡ lỗi với ghi log bổ sung
  • --log-level <level>: Đặt mức ghi log (lựa chọn: DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • --tools <categories>: Danh sách phân tách bằng dấu phẩy các danh mục công cụ cần bật (ví dụ: infra,app,events,website). Bật một danh mục cũng sẽ bật các prompt liên quan của nó. Ví dụ: --tools infra bật các công cụ infra và tất cả các prompt liên quan đến infra.
  • --list-tools: Liệt kê tất cả các danh mục công cụ có sẵn và thoát
  • --port <port>: Cổng MCP server (mặc định: 8080, có thể ghi đè bằng biến môi trường PORT)
  • --verify-ssl: Bật xác minh chứng chỉ SSL cho các lệnh gọi API Instana đi ra. Tương đương với việc đặt INSTANA_SSL_VERIFY=true. Xác minh SSL bị tắt theo mặc định.
  • --help: Hiển thị thông báo trợ giúp và thoát

Khởi động ở Chế độ Streamable HTTP

Chế độ Streamable HTTP cung cấp giao diện REST API và được khuyến nghị cho hầu hết các trường hợp sử dụng.

Sử dụng CLI (Cài đặt 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

Sử dụng bản cài đặt phát triển

# 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

Các tính năng chính của Chế độ Streamable HTTP:

  • Sử dụng HTTP headers để xác thực (không cần biến môi trường)
  • Hỗ trợ các thông tin xác thực khác nhau cho mỗi yêu cầu
  • Phù hợp hơn cho môi trường dùng chung
  • Cổng mặc định của MCP server: 8080
  • Endpoint MCP: http://0.0.0.0:8080/mcp/

Khởi động ở Chế độ Stdio

Chế độ Stdio sử dụng đầu vào/đầu ra chuẩn để giao tiếp và yêu cầu biến môi trường để xác thực.

Sử dụng CLI (Cài đặt 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

Sử dụng bản cài đặt phát triển

# 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

Các tính năng chính của Chế độ Stdio:

  • Sử dụng biến môi trường để xác thực (có thể đặt qua export hoặc cờ --env)
  • Giao tiếp trực tiếp qua stdin/stdout
  • Bắt buộc đối với một số cấu hình MCP client nhất định
  • Cờ --env cung cấp cách thuận tiện để đặt thông tin xác thực mà không cần sửa đổi môi trường shell

Các danh mục công cụ

Bạn có thể tối ưu hóa hiệu suất server bằng cách chỉ bật các danh mục công cụ và prompt mà bạn cần:

Sử dụng CLI (Cài đặt 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

Sử dụng bản cài đặt phát triển

# 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

Các danh mục có sẵn:

  • infra: Các công cụ và prompt giám sát hạ tầng (resources, catalog, topology, analyze, metrics)
  • app: Các công cụ và prompt hiệu suất ứng dụng (resources, metrics, alerts, catalog, topology, analyze, settings, global alerts)
  • events: Các công cụ và prompt giám sát sự kiện (Kubernetes events, agent monitoring)
  • website: Các công cụ và prompt giám sát website (metrics, catalog, analyze, configuration)

Xác minh chứng chỉ SSL

Xác minh chứng chỉ SSL cho các lệnh gọi API Instana đi ra bị tắt theo mặc định. Điều này áp dụng cho cả hai chế độ truyền tải Streamable HTTPStdio.

Để bật xác minh chứng chỉ SSL, hãy sử dụng tùy chọn CLI --verify-ssl hoặc biến môi trường INSTANA_SSL_VERIFY.

Sử dụng tùy chọn CLI

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

Tùy chọn --verify-ssl tương đương với việc thiết lập:

export INSTANA_SSL_VERIFY=true

Sử dụng biến môi trường

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

Xác minh SSL bị vô hiệu hóa khi INSTANA_SSL_VERIFY được đặt thành 0, false, hoặc no (không phân biệt hoa thường), hoặc để trống. Bất kỳ giá trị nào khác đều bật xác minh — hãy sử dụng true, 1, hoặc yes làm các lựa chọn thông thường.

Sử dụng gói CA tùy chỉnh

Khi xác minh SSL được bật, gói CA hệ thống được sử dụng theo mặc định. Để sử dụng gói chứng chỉ CA tùy chỉnh, hãy đặt 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 chỉ được sử dụng khi xác minh chứng chỉ SSL được bật.

Máy chủ ghi lại trạng thái xác minh SSL hiệu lực tại thời điểm khởi động, vì vậy bạn có thể xác nhận ngay lập tức liệu biến môi trường hoặc cờ CLI của bạn có được áp dụng hay không.

Xác minh trạng thái máy chủ

Sau khi khởi động, bạn có thể xác minh máy chủ đang chạy:

Đối với chế độ 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/

Đối với chế độ Stdio: Máy chủ sẽ khởi động và chờ đầu vào stdin từ các máy khách MCP.

Các sự cố khởi động thường gặp

Sự cố SSL / Chứng chỉ: Xem phần Xác minh chứng chỉ SSL ở trên để biết các tùy chọn cấu hình. Nếu bạn gặp lỗi SSL khi bật xác minh và đang sử dụng macOS, hãy đảm bảo môi trường Python của bạn có quyền truy cập vào chứng chỉ hệ thống:

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

Cổng đã được sử dụng: Nếu cổng 8080 đã được sử dụng, hãy chỉ định một cổng khác:

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

Thiếu phụ thuộc: Đảm bảo tất cả các phụ thuộc đã được cài đặt:

uv sync

Thiết lập và sử dụng

Bob IDE

Bob là IDE hỗ trợ AI của IBM tích hợp sẵn hỗ trợ MCP. Bob mang lại trải nghiệm phát triển liền mạch với trợ lý AI tích hợp và các công cụ quan sát (observability).

Chế độ Streamable HTTP

Chế độ Streamable HTTP cung cấp giao diện REST API cho giao tiếp MCP sử dụng JSON-RPC qua HTTP.

Bước 1: Khởi động MCP Server ở chế độ Streamable HTTP

Trước khi cấu hình Bob, bạn cần khởi động MCP server ở chế độ Streamable HTTP. Vui lòng tham khảo phần Khởi động MCP Server cục bộ để biết hướng dẫn chi tiết.

Bước 2: Cấu hình Bob

Ở góc trên bên phải của bảng Bob, bạn sẽ thấy một menu thả xuống với các MCP server:

Khi chọn mục này, bạn sẽ thấy tùy chọn cấu hình MCP ở cấp độ dự án hoặc cấp độ toàn cục.

Phạm vi cấu hình MCP

Bob hỗ trợ hai cấp độ cấu hình MCP, cho phép bạn chọn phạm vi phù hợp nhất với trường hợp sử dụng của mình:

1. Cấu hình toàn cục (Cấp độ người dùng)

Cấu hình toàn cục áp dụng các MCP server trên tất cả các dự án cho người dùng hiện tại. Điều này lý tưởng khi bạn muốn có cùng các MCP server khả dụng trong mọi dự án bạn làm việc.

Vị trí tệp:

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

2. Cấu hình dự án (Cấp độ dự án)

Cấu hình dự án chỉ áp dụng các MCP server cho một dự án cụ thể. Điều này hữu ích khi các dự án khác nhau yêu cầu cấu hình MCP server khác nhau hoặc khi bạn muốn chia sẻ cài đặt MCP với nhóm của mình thông qua kiểm soát phiên bản.

Vị trí tệp:

  • .bob/bob_config.json trong thư mục gốc dự án của bạn

Lựa chọn giữa cấu hình toàn cục và cấu hình dự án:

  • Sử dụng cấu hình toàn cục cho các MCP server bạn muốn khả dụng trên tất cả các dự án của mình
  • Sử dụng cấu hình dự án cho các MCP server cụ thể của dự án hoặc để chia sẻ cấu hình với nhóm của bạn
  • Cả hai cấu hình có thể cùng tồn tại - cài đặt cấp độ dự án được ưu tiên hơn cài đặt toàn cục cho cùng tên server

Để biết thêm thông tin về Bob và cấu hình MCP, hãy truy cập: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

Cấu hình cục bộ:

Cấu hình Bob để kết nối với MCP server Instana cục bộ của bạn:

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

Cấu hình từ xa:

Cấu hình Bob để kết nối với MCP server Instana từ xa (ví dụ: được triển khai trên 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"
      ]
    }
  }
}

Lưu ý: Để sử dụng npx, chúng tôi khuyên bạn nên cài đặt NVM (Node Version Manager) trước, sau đó sử dụng nó để cài đặt Node.js. Hướng dẫn cài đặt có tại: https://nodejs.org/en/download

Bước 3: Kiểm tra kết nối

Sau khi bạn thiết lập cấu hình MCP, MCP server mới được cấu hình sẽ xuất hiện ở trạng thái đã bật. Chấm màu xanh lá cây cho biết server đang chạy thành công.

Bạn có thể chạy các truy vấn trong Bob IDE:

get me all applications from Instana in the last 24 hours

Chế độ Stdio

Cấu hình sử dụng CLI (Cài đặt PyPI - Khuyến nghị):

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Lưu ý: Nếu bạn gặp lỗi "command not found", hãy sử dụng đường dẫn đầy đủ đến mcp-instana. Tìm nó bằng which mcp-instana và sử dụng đường dẫn đó thay thế.

Cấu hình sử dụng cài đặt phát triển (Development Installation):

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

{
  "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 hỗ trợ cả hai chế độ Streamable HTTP và Stdio cho tích hợp MCP.

Cấu hình Claude Desktop bằng cách chỉnh sửa tệp cấu hình:

Vị trí tệp:

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

Chế độ Streamable HTTP

Chế độ Streamable HTTP cung cấp giao diện REST API cho giao tiếp MCP sử dụng JSON-RPC qua HTTP.

Bước 1: Khởi động MCP Server ở chế độ Streamable HTTP

Trước khi cấu hình Claude Desktop, bạn cần khởi động MCP server ở chế độ Streamable HTTP. Vui lòng tham khảo phần Khởi động MCP Server cục bộ để biết hướng dẫn chi tiết.

Bước 2: Cấu hình Claude Desktop

Cấu hình Claude Desktop để truyền thông tin xác thực Instana qua các 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"
      ]
    }
  }
}

Lưu ý: Để sử dụng npx, chúng tôi khuyên bạn nên cài đặt NVM (Node Version Manager) trước, sau đó sử dụng nó để cài đặt Node.js. Hướng dẫn cài đặt có tại: https://nodejs.org/en/download

Bước 3: Kiểm tra kết nối

Khởi động lại Claude Desktop. Bạn sẽ thấy Instana MCP Server trong giao diện Claude Desktop như hình dưới đây:

Bạn có thể chạy các truy vấn trong Claude Desktop:

get me all endpoints from Instana

Chế độ Stdio

Cấu hình sử dụng CLI (Cài đặt PyPI - Khuyến nghị):

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Lưu ý: Nếu bạn gặp lỗi "command not found", hãy sử dụng đường dẫn đầy đủ đến mcp-instana. Tìm nó bằng which mcp-instana và sử dụng đường dẫn đó thay thế.

Cấu hình sử dụng cài đặt phát triển (Development Installation):

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Thiết lập Kiro

Kiro là một IDE tác nhân (agentic IDE), không phải là một tiện ích mở rộng có thể tải xuống vào VS Code hoặc một IDE khác.

Bước 1: Tải xuống và cài đặt Kiro cho hệ điều hành của bạn từ https://kiro.dev/.

Bước 2: Sau khi cài đặt, khởi chạy Kiro và mở bất kỳ dự án nào trong IDE. alt text

Bước 3: Nhấp vào biểu tượng Kiro (Ghost) trên thanh bên trái để truy cập các tính năng của Kiro. alt text

Bước 4: Chọn biểu tượng Edit Config ở góc trên bên phải của phần MCP Servers. alt text

Bước 5: Mở tệp cấu hình MCP server (mcp.json) và cấu hình dựa trên chế độ truyền tải bạn ưa thích:

Chế độ Streamable HTTP (Khuyến nghị cho 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"
      ]
    }
  }
}

Lưu ý: Đảm bảo khởi động MCP server ở chế độ streamable-http trước khi sử dụng cấu hình này:

mcp-instana --transport streamable-http

Chế độ Stdio

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Bước 6: Sau khi lưu tệp, nhấp vào nút Enable MCP và bạn sẽ thấy MCP server cùng các công cụ khả dụng của nó xuất hiện ở phần dưới bên trái của Kiro. alt text

Bước 7: Đi tới bảng AI Chat, nhập một lời nhắc liên quan đến MCP server của bạn và xem phản hồi trực tiếp trong Kiro. alt text

GitHub Copilot

GitHub Copilot hỗ trợ tích hợp MCP thông qua cấu hình VS Code. Để tích hợp GitHub Copilot với VS Code, hãy tham khảo hướng dẫn thiết lập này.

Chế độ Streamable HTTP

Bước 1: Khởi động MCP Server ở chế độ Streamable HTTP

Trước khi cấu hình VS Code, bạn cần khởi động MCP server ở chế độ Streamable HTTP. Vui lòng tham khảo phần Khởi động MCP Server cục bộ để biết hướng dẫn chi tiết.

Bước 2: Cấu hình VS Code

Tham khảo Sử dụng MCP servers trong VS Code để biết cấu hình chi tiết.

Bạn có thể trực tiếp tạo hoặc cập nhật .vscode/mcp.json với cấu hình sau:

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

Lưu ý: Thay thế các giá trị sau bằng cấu hình thực tế của bạn:

  • instana-base-url: URL phiên bản Instana của bạn
  • instana-api-token: Token API Instana của bạn
  • command: Cập nhật đường dẫn npx để khớp với cài đặt Node.js trên hệ thống của bạn (ví dụ: /path/to/your/node/bin/npx)
  • Biến môi trường: Điều chỉnh PATH và các biến môi trường khác nếu cần cho hệ thống của bạn

Chế độ Stdio

Bước 1: Tạo cấu hình MCP trong VS Code

Sử dụng CLI (Cài đặt PyPI - Khuyến nghị):

Tạo .vscode/mcp.json trong thư mục gốc dự án của bạn:

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Sử dụng cài đặt phát triển (Development Installation):

Tạo .vscode/mcp.json trong thư mục gốc dự án của bạn:

Tùy chọn 1: Sử dụng biến môi trường trong cấu hình:

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

Tùy chọn 2: Sử dụng cờ --env (phương pháp thay thế):

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

Lưu ý: Thay thế các giá trị sau bằng cấu hình thực tế của bạn:

  • Đối với cài đặt CLI: Đảm bảo mcp-instana nằm trong PATH của bạn
  • Đối với cài đặt phát triển:
    • command: Cập nhật đường dẫn uv để khớp với cài đặt uv trên hệ thống của bạn (ví dụ: /path/to/your/uv/bin/uv hoặc /usr/local/bin/uv)
    • --directory: Cập nhật với đường dẫn tuyệt đối đến thư mục dự án mcp-instana của bạn
  • INSTANA_BASE_URL: URL phiên bản Instana của bạn
  • INSTANA_API_TOKEN: Token API Instana của bạn

Bước 2: Quản lý server trong VS Code

  1. Mở .vscode/mcp.json - bạn sẽ thấy các điều khiển quản lý server ở phía trên
  2. Nhấp vào Start bên cạnh Instana MCP Server để khởi động server
  3. Trạng thái đang chạy cùng với số lượng công cụ cho biết server đang chạy

Bước 3: Kiểm tra tích hợp

Chuyển sang Chế độ tác nhân (Agent Mode) trong GitHub Copilot và tải lại các công cụ. Dưới đây là ví dụ về phản hồi của GitHub Copilot:

GitHub Copilot Response

Mistral AI

Mistral AI hỗ trợ tích hợp MCP độc quyền thông qua chế độ Streamable HTTP.

Bước 1: Khởi chạy MCP Server ở chế độ Streamable HTTP

Khởi động MCP server ở chế độ Streamable HTTP bằng cách cung cấp thông tin xác thực Instana của bạn. Chạy lệnh sau:

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

Bước 2: Thiết lập chuyển tiếp cổng với Ngrok

Cấu hình chuyển tiếp cổng để hiển thị máy chủ cục bộ của bạn. Tham khảo tài liệu thiết lập Ngrok để biết hướng dẫn chi tiết.

Bước 3: Cấu hình Mistral AI

  1. Điều hướng đến tab Intelligence trên thanh bên trái và chọn Connectors Mistral HomePage

  2. Nhấp vào Add Connector Connector

  3. Tạo một connector tùy chỉnh bằng cách nhập tên connector và URL MCP server được chuyển tiếp qua Ngrok Custom Connector

  4. Bắt đầu một phiên trò chuyện mới và xác minh rằng các công cụ MCP đã được bật. Bạn có thể xem phản hồi tại đây Testing MCP connection Response

Kết nối với nhiều Instana MCP Server

Bạn có thể cấu hình máy khách MCP của mình để kết nối với nhiều phiên bản. Dưới đây là cấu hình mẫu:

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

Để nhắm mục tiêu đến một server cụ thể, hãy đảm bảo rằng:

  • Server được cấu hình với tên môi trường phù hợp trong cấu hình MCP (ví dụ: Instana MCP Server1)
  • Lời nhắc đề cập rõ ràng đến tên server/môi trường. Yêu cầu sau đó sẽ được định tuyến đến máy chủ đã cấu hình tương ứng. Nếu không có máy chủ/môi trường nào được đề cập rõ ràng trong lời nhắc, MCP sẽ sử dụng máy chủ đầu tiên được định nghĩa trong cấu hình làm máy chủ mặc định.

Lưu ý: Nếu máy chủ được yêu cầu đang ngừng hoạt động hoặc không thể truy cập, MCP sẽ hoạt động như mong đợi và chuyển tiếp lỗi API. Người dùng sẽ nhận được lỗi tương ứng do API trả về, cho biết máy chủ không khả dụng. MCP phụ thuộc vào tính khả dụng của API cơ bản và không thực hiện chuyển đổi dự phòng tự động.

Các Tính Năng Được Hỗ Trợ

  • Quản Lý Ứng Dụng & Hạ Tầng Hợp Nhất (manage_instana_resources)
    • Số Liệu Ứng Dụng
      • Truy vấn số liệu ứng dụng với bộ lọc linh hoạt
      • Liệt kê dịch vụ và điểm cuối
      • Nhóm theo thẻ và tổng hợp số liệu
    • Cấu Hình Cảnh Báo Ứng Dụng
      • Tìm cấu hình cảnh báo đang hoạt động
      • Lấy các phiên bản cấu hình cảnh báo
      • Tạo, cập nhật và xóa cấu hình cảnh báo
      • Kích hoạt, vô hiệu hóa và khôi phục cấu hình cảnh báo
      • Cập nhật đường cơ sở lịch sử
    • Cấu Hình Cảnh Báo Ứng Dụng Toàn Cầu
      • Quản lý cấu hình cảnh báo toàn cầu
      • Kiểm soát phiên bản cho cảnh báo toàn cầu
    • Cài Đặt Ứng Dụng
      • Quản lý góc nhìn ứng dụng
      • Cấu hình điểm cuối và dịch vụ
      • Quản lý dịch vụ thủ công
    • Danh Mục Ứng Dụng
      • Lấy danh mục thẻ ứng dụng
      • Lấy danh mục số liệu ứng dụng
  • Quản Lý Hạ Tầng (manage_infrastructure)
    • Bộ định tuyến thông minh hợp nhất thay thế analyze_infrastructure — một công cụ duy nhất cho phân tích, danh mục và ảnh chụp tài nguyên
    • get_plugin_schema — lấy số liệu thẻ cho một plugin trong một lệnh gọi API (thay thế hai lệnh gọi riêng biệt)
    • Hỗ trợ động cho tất cả các loại thực thể từ danh mục API Instana (JVM, Kubernetes, Docker, máy chủ, cơ sở dữ liệu, hàng đợi tin nhắn, v.v.)
    • Đã xóa các tệp lược đồ tĩnh — tất cả lược đồ được lấy trực tiếp từ API Instana
    • Thao tác ảnh chụp tài nguyên: get_snapshot, get_snapshots
    • Tổng hợp số liệu linh hoạt (tối đa, trung bình, tổng, v.v.)
    • Lọc nâng cao theo thẻ và thuộc tính
    • Khả năng nhóm và sắp xếp
    • Truy vấn theo phạm vi thời gian
  • Quản Lý Sự Kiện Hợp Nhất (manage_events)
    • Giám Sát Sự Kiện
      • Lấy Sự Kiện theo ID (operation="get_event")
      • Lấy Sự Kiện theo ID (operation="get_events_by_ids")
      • Lấy Sự Kiện Giám Sát Agent (operation="get_agent_monitoring_events")
      • Lấy Sự Kiện Thông Tin Kubernetes (operation="get_kubernetes_info_events")
      • Lấy Sự Kiện (operation="get_events")
    • Định tuyến thông minh đến các công cụ sự kiện chuyên dụng
    • Xác thực tham số hợp nhất (phạm vi thời gian, max_events)
    • Hỗ trợ phạm vi thời gian ngôn ngữ tự nhiên ("24 giờ qua", "2 ngày qua")
    • Lọc và tối ưu hóa sự kiện
  • Giám Sát Ứng Dụng Di Động (manage_mobile_apps)
    • Phát Lại Phiên — mới (resource_type="session_replay")
      • get_session_replay_action_beacons — truy xuất có phân trang các beacon hành động theo ID ứng dụng di động và ID phiên
      • Phân trang dựa trên con trỏ (cursor, page_size, hasMore)
    • Phân Tích Beacon, Số Liệu Hiệu Suất, Phân Tích Địa Lý & Thiết Bị, Quản Lý Cảnh Báo (hiện có)
  • Quản Lý Trang Web Hợp Nhất (manage_website_resources)
    • Phân Tích Trang Web (resource_type="analyze")
      • Lấy Nhóm Beacon Trang Web - dữ liệu beacon được nhóm/tổng hợp (operation="get_beacon_groups")
      • Lấy Beacon Trang Web - dữ liệu beacon riêng lẻ có phân trang (operation="get_beacons")
      • Xác thực thẻ tự động và quy trình thu thập dựa trên danh mục
      • Tóm tắt phản hồi (giảm 70-80% tải trọng)
      • Hỗ trợ nhiều loại beacon: PAGELOAD, PAGECHANGE, RESOURCELOAD, CUSTOM, HTTPREQUEST, ERROR
    • Danh Mục Trang Web (resource_type="catalog")
      • Lấy Danh Mục Số Liệu Trang Web (operation="get_metrics")
      • Lấy Danh Mục Thẻ Trang Web theo loại beacon và trường hợp sử dụng (operation="get_tag_catalog")
    • Cấu Hình Trang Web (resource_type="configuration")
      • Lấy Tất Cả Trang Web (operation="get_all")
      • Lấy Trang Web theo ID hoặc tên với phân giải tên tự động (operation="get")
    • Cấu Hình Nâng Cao - CHỈ ĐỌC (resource_type="advanced_config")
      • Lấy Cấu Hình Vị Trí Địa Lý (operation="get_geo_config")
      • Lấy Cấu Hình Ẩn IP (operation="get_ip_masking")
      • Lấy Quy Tắc Ánh Xạ Địa Lý (operation="get_geo_rules")
  • Quản Lý Tự Động Hóa Hợp Nhất (manage_automation)
    • Danh Mục Hành Động (resource_type="catalog")
      • Liệt kê tất cả các hành động tự động hóa khả dụng (operation="get_actions")
      • Lấy thông tin chi tiết về một hành động cụ thể (operation="get_action_details")
      • Tìm kiếm các hành động phù hợp theo tên/mô tả (operation="get_action_matches")
      • Lấy các hành động phù hợp theo ID ứng dụng hoặc ảnh chụp và cửa sổ thời gian (operation="get_action_matches_by_id_and_time_window")
      • Lấy các loại hành động khả dụng (operation="get_action_types")
      • Lấy các thẻ hành động khả dụng (operation="get_action_tags")
    • Lịch Sử Hành Động (resource_type="history")
      • Liệt kê các phiên thực thi hành động có bộ lọc (operation="list")
      • Lấy chi tiết của một lần thực thi hành động cụ thể (operation="get_details")
  • Giám Sát Tổng Hợp Hợp Nhất (manage_synthetics)
    • Danh Mục Tổng Hợp (resource_type="catalog")
      • Lấy các số liệu khả dụng với các phép tổng hợp được hỗ trợ để lập kế hoạch truy vấn (operation="get_synthetic_catalog_metrics")
      • Lấy các tên thẻ hợp lệ để lọc, nhóm và cảnh báo thông minh (operation="get_synthetic_tag_catalog")
    • Số Liệu Tổng Hợp (resource_type="metrics")
      • Truy xuất số liệu tổng hợp được nhóm theo vị trí hoặc tên kiểm thử (operation="get_metrics_result")
    • Cài Đặt Tổng Hợp (resource_type="settings")
      • Lấy cấu hình đầy đủ của kiểm thử tổng hợp theo ID hoặc tên (operation="get_synthetic_test")
      • Liệt kê các kiểm thử tổng hợp với bộ lọc tùy chọn theo ứng dụng, vị trí hoặc thông tin xác thực (operation="get_synthetic_tests")
      • Liệt kê tất cả các vị trí giám sát với siêu dữ liệu loại, địa lý và khả năng (operation="get_locations")
      • Lấy một vị trí theo ID hoặc tên với phân giải tên tự động (operation="get_location_by_id")
      • Lấy tất cả các vị trí trung tâm dữ liệu (Được quản lý) với số lượng trực tuyến (operation="get_all_datacenters")
    • Phát Lại Kiểm Thử Tổng Hợp (resource_type="test_playback")
      • Lấy số liệu phát lại được tổng hợp cho mỗi kiểm thử (operation="get_synthetic_result")
      • Lấy kết quả gần nhất cho mỗi kiểm thử bằng phân tích LAST_VALUE (operation="get_synthetic_result_analytic")
      • Lấy kết quả chạy kiểm thử riêng lẻ với trạng thái thô, lỗi và dấu thời gian (operation="get_synthetic_result_list")
      • Lấy siêu dữ liệu tóm tắt cấp vị trí bao gồm thời gian chạy gần nhất và phiên bản PoP (operation="get_location_summary_list")
      • Lấy tỷ lệ thành công cho mỗi kiểm thử với phân tích theo từng vị trí (operation="get_test_summary_list")
      • Lấy các loại dữ liệu chi tiết khả dụng cho một kết quả kiểm thử cụ thể (operation="get_synthetic_result_metadata")
      • Lấy nội dung tệp dữ liệu chi tiết như nhật ký, HAR hoặc ảnh chụp màn hình (operation="get_synthetic_result_detail_data")
  • Bảng Điều Khiển Tùy Chỉnh (manage_custom_dashboards)
    • Lấy tất cả bảng điều khiển tùy chỉnh
    • Lấy bảng điều khiển cụ thể theo ID
    • Tạo bảng điều khiển tùy chỉnh mới
    • Cập nhật bảng điều khiển tùy chỉnh hiện có
    • Xóa bảng điều khiển tùy chỉnh
    • Lấy người dùng có thể chia sẻ cho bảng điều khiển
    • Lấy mã thông báo API có thể chia sẻ cho bảng điều khiển

Các Công Cụ Khả Dụng

Công CụDanh MụcMô Tả
manage_applicationsỨng Dụng & Hạ TầngCông cụ hợp nhất để quản lý số liệu ứng dụng, cấu hình cảnh báo, cài đặt và danh mục
manage_websitesGiám Sát Trang WebBộ định tuyến thông minh hợp nhất cho phân tích trang web, danh mục, cấu hình và thao tác cấu hình nâng cao
manage_custom_dashboardsBảng Điều Khiển Tùy ChỉnhCông cụ hợp nhất để quản lý các thao tác CRUD bảng điều khiển tùy chỉnh
manage_infrastructureHạ TầngBộ định tuyến thông minh hợp nhất cho phân tích hạ tầng, danh mục (get_plugin_schema) và thao tác ảnh chụp tài nguyên
manage_automationTự Động HóaBộ định tuyến thông minh hợp nhất cho tự động hóa: duyệt danh mục hành động và xem lịch sử thực thi
manage_eventsSự KiệnBộ định tuyến thông minh hợp nhất cho giám sát sự kiện: lấy sự kiện theo ID, lấy sự kiện theo ID, sự kiện Kubernetes, sự kiện giám sát agent và tất cả sự kiện
manage_sloQuản Lý SLOBộ định tuyến thông minh hợp nhất cho cấu hình SLO, báo cáo, cảnh báo và cửa sổ điều chỉnh với xử lý múi giờ thông minh
manage_releasesQuản Lý Phát HànhBộ định tuyến thông minh hợp nhất cho theo dõi phát hành: liệt kê bản phát hành có phân trang và lọc theo tên, lấy chi tiết bản phát hành, tạo/cập nhật/xóa bản phát hành có hỗ trợ múi giờ
manage_maintenance_windowsCửa Sổ Bảo TrìBộ định tuyến thông minh hợp nhất cho quản lý vòng đời cửa sổ bảo trì: tạo, sửa đổi, đóng và liệt kê cửa sổ bảo trì với hỗ trợ mẫu và tích hợp ServiceNow
manage_mobile_appsGiám Sát Ứng Dụng Di ĐộngBộ định tuyến thông minh hợp nhất cho giám sát ứng dụng di động: phân tích beacon, số liệu hiệu suất, phát lại phiên, cấu hình và quản lý cảnh báo
manage_syntheticsGiám Sát Tổng HợpBộ định tuyến thông minh hợp nhất cho giám sát tổng hợp: danh mục, số liệu, cài đặt (chỉ đọc) và kết quả phát lại kiểm thử

👉 Để biết tài liệu công cụ chi tiết, khả năng và tài liệu tham khảo kỹ thuật, xem Công Cụ & Ví Dụ

Lọc Công Cụ

Máy chủ MCP hỗ trợ tải công cụ có chọn lọc để tối ưu hóa hiệu suất và giảm sử dụng tài nguyên. Bạn có thể chỉ kích hoạt các danh mục công cụ cần thiết cho trường hợp sử dụng cụ thể của mình.

Các Danh Mục Công Cụ Khả Dụng

  • router: Quản lý ứng dụng và hạ tầng hợp nhất

    • manage_instana_resources: Công cụ duy nhất cho số liệu ứng dụng, cấu hình cảnh báo, cài đặt và danh mục
    • Hỗ trợ góc nhìn ứng dụng, điểm cuối, dịch vụ và dịch vụ thủ công
    • Quản lý cả cấu hình cảnh báo cụ thể cho ứng dụng và toàn cầu
    • Cung cấp quyền truy cập vào danh mục thẻ ứng dụng và danh mục số liệu
  • dashboard: Quản lý bảng điều khiển tùy chỉnh

    • manage_custom_dashboards: Thao tác CRUD cho bảng điều khiển tùy chỉnh
    • Hỗ trợ tạo, truy xuất, cập nhật và xóa bảng điều khiển
    • Quản lý người dùng có thể chia sẻ và mã thông báo API cho bảng điều khiển
  • infra: Công cụ quản lý hạ tầng

    • manage_infrastructure: Bộ định tuyến thông minh hợp nhất cho phân tích hạ tầng, danh mục và thao tác ảnh chụp tài nguyên
    • get_plugin_schema kết hợp get_metrics + get_tag_catalog thành một lệnh gọi API duy nhất
    • Hỗ trợ động tất cả các loại thực thể có trong cài đặt Instana của bạn (tự động tải từ danh mục API)
    • Bao gồm JVM, Kubernetes, Docker, máy chủ, cơ sở dữ liệu, hàng đợi tin nhắn và bất kỳ loại thực thể tùy chỉnh hoặc mới thêm nào
    • Tổng hợp số liệu linh hoạt, lọc, nhóm và truy vấn phạm vi thời gian
  • automation: Công cụ hành động tự động hóa

    • manage_automation: Bộ định tuyến thông minh hợp nhất cho danh mục tự động hóa và lịch sử thực thi
    • Danh mục hành động: duyệt các hành động, xem chi tiết, tìm kiếm theo tên/mô tả, lọc theo ID ứng dụng hoặc snapshot
    • Lịch sử hành động: liệt kê các phiên thực thi có bộ lọc, xem chi tiết thực thi
  • events: Công cụ giám sát sự kiện

    • Sự kiện: sự kiện Kubernetes, giám sát agent và theo dõi sự kiện hệ thống
  • website: Công cụ giám sát trang web

    • Số liệu trang web: đo lường hiệu suất cho các trang web
    • Danh mục trang web: siêu dữ liệu và định nghĩa trang web
    • Phân tích trang web: phân tích hiệu suất trang web
    • Cấu hình trang web: quản lý cấu hình trang web
  • slo: Quản lý Mục tiêu Mức Dịch vụ (SLO)

    • manage_slo: Bộ định tuyến thông minh hợp nhất cho các thao tác SLO toàn diện
    • Quản lý cấu hình: Tạo, đọc, cập nhật, xóa cấu hình SLO với hỗ trợ cho chỉ số dựa trên thời gian và dựa trên sự kiện
    • Tạo báo cáo: Tạo báo cáo SLO chi tiết với giá trị SLI, ngân sách lỗi, tỷ lệ đốt cháy và biểu đồ chuỗi thời gian
    • Cấu hình cảnh báo: Quản lý cấu hình cảnh báo SLO để giám sát ngân sách lỗi và theo dõi tỷ lệ đốt cháy
    • Cửa sổ hiệu chỉnh: Tạo và quản lý cửa sổ bảo trì để loại trừ thời gian ngừng hoạt động theo kế hoạch khỏi tính toán SLO
    • Xử lý múi giờ thông minh: Tự động xác định múi giờ cho đầu vào ngày giờ để đảm bảo ngữ cảnh thời gian chính xác
    • Hỏi đáp hai bước: Thu thập tham số tương tác cho các thao tác phức tạp yêu cầu nhiều đầu vào
  • releases: Theo dõi bản phát hành và quản lý triển khai

    • manage_releases: Bộ định tuyến thông minh hợp nhất cho các thao tác phát hành
    • Liệt kê bản phát hành: Lấy tất cả bản phát hành với phân trang hiệu quả (page_number, page_size) và lọc theo tên
    • Chi tiết bản phát hành: Truy xuất thông tin bản phát hành cụ thể theo ID bao gồm ứng dụng, dịch vụ và phạm vi
    • Tạo/Cập nhật/Xóa: Toàn bộ thao tác CRUD cho quản lý bản phát hành
    • Xử lý múi giờ thông minh: Tự động xác định múi giờ cho thời gian bắt đầu phát hành
    • Phân trang hiệu quả: Tránh truy xuất dữ liệu trùng lặp với điều hướng theo trang phù hợp
    • Lọc theo tên: Khớp chuỗi con không phân biệt hoa thường để tìm bản phát hành theo tên
  • maintenance_window: Quản lý vòng đời cửa sổ bảo trì

    • manage_maintenance_windows: Bộ định tuyến thông minh hợp nhất cho các thao tác cửa sổ bảo trì
    • Thao tác cửa sổ: Tạo, sửa đổi, đóng và liệt kê cửa sổ bảo trì (đang hoạt động, đã lên lịch, tất cả, đã hết hạn)
    • Thao tác hàng loạt: Tạo cửa sổ bảo trì cho nhiều ứng dụng cùng lúc
    • Hỗ trợ mẫu: Các mẫu được xác định trước cho các tình huống phổ biến (triển khai, di chuyển cơ sở dữ liệu, nâng cấp hạ tầng, khẩn cấp, định kỳ)
    • Cửa sổ định kỳ: Hỗ trợ cửa sổ bảo trì định kỳ sử dụng định dạng RRULE RFC 5545
    • Tích hợp ServiceNow: Tích hợp tùy chọn với yêu cầu thay đổi ServiceNow
    • Xác thực: Xác thực tham số trước khi tạo cửa sổ
    • Thời lượng linh hoạt: Chỉ định thời lượng theo phút, giờ hoặc ngày
  • mobile_app: Giám sát ứng dụng di động

    • manage_mobile_apps: Bộ định tuyến thông minh hợp nhất cho các thao tác giám sát ứng dụng di động
    • Phát lại phiên: Truy xuất beacon phát lại phiên có phân trang theo ID ứng dụng di động và ID phiên (resource_type="session_replay")
    • Phân tích beacon: Truy vấn dữ liệu beacon ứng dụng di động với nhóm và bộ lọc
    • Số liệu hiệu suất: Theo dõi thời lượng phiên, tỷ lệ sự cố và hiệu suất yêu cầu HTTP
    • Phân tích địa lý: Phân tích phân bố người dùng theo quốc gia, thành phố và khu vực
    • Phân tích thiết bị: Giám sát hiệu suất trên các thiết bị, nền tảng và phiên bản hệ điều hành khác nhau
    • Quản lý cấu hình: Quản lý cấu hình ứng dụng di động, định vị địa lý và cài đặt che IP
    • Quản lý cảnh báo: Cấu hình và quản lý cấu hình cảnh báo ứng dụng di động
  • synthetics: Quản lý giám sát tổng hợp

    • manage_synthetics: Bộ định tuyến thông minh hợp nhất cho tất cả các thao tác giám sát tổng hợp
    • Danh mục: Khám phá ID chỉ số và tên thẻ hợp lệ trước khi xây dựng truy vấn
    • Số liệu: Truy xuất thời gian phản hồi tổng hợp và tỷ lệ thành công được nhóm theo vị trí hoặc tên kiểm thử
    • Cài đặt: Liệt kê và tra cứu kiểm thử và vị trí với tự động phân giải tên; xác định trung tâm dữ liệu (Được quản lý) so với tự lưu trữ (Riêng tư) PoP
    • Phát lại kiểm thử: Kết quả thô theo lần chạy, phân tích LAST_VALUE, tóm tắt tỷ lệ thành công theo vị trí và tải xuống tệp chi tiết (LOGS, HAR, ảnh chụp màn hình)

Ví dụ sử dụng

Sử dụng CLI (Cài đặt 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

Sử dụng cài đặt phát triển

# 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

Lợi ích của việc lọc công cụ

  • Hiệu suất: Giảm thời gian khởi động và sử dụng bộ nhớ
  • Bảo mật: Giới hạn phạm vi tiếp xúc chỉ với các API cần thiết
  • Rõ ràng: Tập trung vào các trường hợp sử dụng cụ thể (ví dụ: chỉ giám sát hạ tầng)
  • Hiệu quả tài nguyên: Giảm sử dụng CPU và mạng

👉 Để xem ví dụ sử dụng và gợi ý, hãy xem Ví dụ gợi ý

Triển khai Docker

Máy chủ MCP Instana có thể được triển khai bằng Docker cho môi trường sản xuất. Thiết lập Docker được tối ưu hóa cho bảo mật, hiệu suất và sử dụng tài nguyên tối thiểu.

Xây dựng hình ảnh Docker

Điều kiện tiên quyết

  • Docker đã cài đặt và đang chạy
  • Có quyền truy cập mã nguồn dự án

Xây dựng và chạy

# 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

📖 Để có tài liệu Docker toàn diện bao gồm xây dựng đa kiến trúc, .dockerignore, các phương pháp bảo mật tốt nhất và ví dụ triển khai sản xuất, hãy xem DOCKER.md.

Xử lý sự cố

Sự cố Docker

Container không khởi động được

# 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

Sự cố kết nối

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

Sự cố hiệu suất

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

Sự cố chung

  • GitHub Copilot

    • Nếu bạn gặp sự cố với GitHub Copilot, hãy thử bắt đầu/dừng/khởi động lại máy chủ trong tệp mcp.json và chỉ giữ một máy chủ chạy tại một thời điểm.
  • Sự cố chứng chỉ

    • Nếu bạn gặp sự cố chứng chỉ, chẳng hạn như [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:
      • Kiểm tra rằng bạn có thể truy cập điểm cuối API Instana bằng curl hoặc wget với xác thực SSL.
        • Nếu điều đó hoạt động, môi trường Python của bạn có thể không xác minh được chứng chỉ và có thể không có quyền truy cập vào các chứng chỉ giống như shell hoặc hệ thống của bạn. Đảm bảo môi trường Python của bạn sử dụng chứng chỉ hệ thống (macOS). Bạn có thể thực hiện điều này bằng cách cài đặt chứng chỉ vào Python: /Applications/Python\ 3.13/Install\ Certificates.command
      • Nếu bạn không thể truy cập điểm cuối với xác thực SSL, hãy thử không có nó. Nếu điều đó hoạt động, hãy kiểm tra chứng chỉ CA của hệ thống và đảm bảo chúng được cập nhật.