IBM Instana MCP Server

公式

IBM Instana MCPサーバーは、IBM Instana可観測性プラットフォームとのシームレスな連携を可能にし、開発ワークフロー内でリアルタイムの可観測性データに直接アクセスできるようにします。

IBM Instana MCPで何ができますか?

  • アプリケーションのパフォーマンスを照会appカテゴリのツール(get_app_metricsget_app_alertsなど)を使用して、アプリケーションのメトリクス、アラート、カタログ詳細を要求します。
  • インフラストラクチャの健全性を監視infraツール(get_infra_metricsget_infra_topologyなど)を使用して、インフラストラクチャリソース、トポロジー、メトリクスを取得します。
  • イベントとインシデントを追跡eventsツール(get_k8s_eventsget_agent_statusなど)を使用して、Kubernetesイベントやエージェント監視データにアクセスします。
  • ウェブサイト監視を分析websiteツール(get_website_metricsget_website_configなど)を使用して、ウェブサイトのメトリクス、カタログ情報、設定を取得します。
  • カテゴリ別にツールをフィルタリング — 起動時に--toolsフラグ(例:--tools infra,events)を使用して必要なツールカテゴリのみを有効にし、パフォーマンスを最適化します。

ドキュメント

目次

IBM Instana 用 MCP サーバー

📚 クイックリンク


Instana MCP サーバーは、Instana 可観測性プラットフォームとのシームレスな対話を可能にし、開発ワークフロー内でリアルタイムの可観測性データに直接アクセスできるようにします。

このサーバーは、クライアント(AI エージェントやカスタムツールなど)と Instana REST API の間のブリッジとして機能し、ユーザーのクエリを Instana API リクエストに変換し、レスポンスを構造化された消費しやすい形式に整形します。

このサーバーは、さまざまな MCP クライアントとの最大限の互換性を実現するために、Streamable HTTPStdio の両方のトランスポートモードをサポートしています。詳細については、MCP トランスポートモード仕様 を参照してください。

アーキテクチャ概要

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

ワークフロー

簡単な例を考えてみましょう。Instana MCP サーバーに接続された MCP ホスト(Claude Desktop、VS Code、その他のクライアントなど)を使用しているとします。Instana のアラートに関する情報をリクエストすると、次のプロセスが実行されます。

  1. MCP クライアントは、Instana MCP サーバーから利用可能なツールのリストを取得します
  2. クエリはツールの説明とともに LLM に送信されます
  3. LLM は利用可能なツールを分析し、Instana アラートを取得するための適切なツールを選択します
  4. クライアントは、Instana MCP サーバーを通じて選択したツールを実行します
  5. 結果(最新のアラート)が LLM に返されます
  6. LLM は自然言語のレスポンスを生成します
  7. レスポンスがユーザーに表示されます
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

前提条件

オプション 1: PyPI からインストール(推奨)

mcp-instana を使用する最も簡単な方法は、PyPI から直接インストールすることです:

pip install mcp-instana

インストール後、mcp-instana コマンドを使用してサーバーを直接実行できます。

オプション 2: 開発用インストール

開発やローカルでのカスタマイズのために、プロジェクトをクローンしてローカルにセットアップできます。

uv のインストール

このプロジェクトは uv を使用しています。これは高速な Python パッケージインストーラー兼リゾルバーです。uv をインストールするには、いくつかのオプションがあります:

pip を使用する場合:

pip install uv

Homebrew を使用する場合(macOS):

brew install uv

その他のインストールオプションと詳細な手順については、uv ドキュメント を参照してください。

環境のセットアップ

uv をインストールした後、次のコマンドを実行してプロジェクト環境をセットアップします:

uv sync

Streamable HTTP モードのヘッダーベース認証

Streamable HTTP モードを使用する場合、HTTP ヘッダーを介して Instana の認証情報を渡す必要があります。このアプローチは、以下の点でセキュリティと柔軟性を向上させます:

  • 環境変数への認証情報の保存を回避
  • リクエストごとに異なる認証情報の使用を可能に
  • 環境変数の変更が制限されている共有環境をサポート
  • API トークン認証とセッションベース認証の両方をサポート

サポートされている認証モード:

1. API トークン認証(直接 API 呼び出し)

必要なヘッダー:

  • instana-base-url: Instana インスタンスの URL
  • instana-api-token: Instana API トークン

例:

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

2. セッショントークン認証(UI 発信の呼び出し)

必要なヘッダー:

  • instana-base-url: Instana インスタンスの URL
  • instana-auth-token: UI バックエンドからのセッション認証トークン
  • instana-csrf-token: UI バックエンドからの CSRF トークン
  • instana-cookie-name:(オプション)セッション認証用の Cookie 名(デフォルト: instanaAuthToken

例:

--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. JWT トークン認証(IBM プラットフォーム統合)

必要なヘッダー:

  • instana-base-url: Instana インスタンスの URL
  • instana-jwt-token: IBM プラットフォームからの JWT トークン
  • instana-csrf-token: リクエスト検証用の CSRF トークン

設定例:

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

認証の優先順位:

  1. JWT トークン(CSRF トークンとともに提供された場合)- IBM プラットフォーム統合で最優先
  2. セッショントークン(auth_token と csrf_token の両方が提供された場合)
  3. API トークン(提供された場合)- 標準認証
  4. 環境変数INSTANA_API_TOKEN)- フォールバック

認証フロー:

  1. HTTP ヘッダーは各リクエストに存在する必要があります
  2. サーバーは優先順位に基づいて認証情報を検証します
  3. 有効な認証がないリクエストは失敗します

この設計により、安全な認証情報の送信が保証され、WebSocket → Coordinator → MCP Server を介した UI 発信の呼び出しを含む複数の認証フローがサポートされます。

使用するトークンが MCP ツールを呼び出すために必要な権限を持っていることを確認してください。詳細についてはこちらを確認してください。

ローカル MCP サーバーの起動

MCP クライアント(Claude Desktop、GitHub Copilot、カスタム MCP クライアント)を設定する前に、ローカル MCP サーバーを起動する必要があります。サーバーは Streamable HTTPStdio の 2 つのトランスポートモードをサポートしています。

サーバーコマンドオプション

CLI の使用(PyPI インストール)

PyPI から mcp-instana をインストールした場合は、mcp-instana コマンドを使用します:

mcp-instana [OPTIONS]

開発用インストールの使用

ローカル開発の場合は、uv run コマンドを使用します:

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

利用可能なオプション:

  • --transport <mode>: トランスポートモード(選択肢: streamable-httpstdio
  • --env KEY=VALUE: 環境変数の設定(複数の変数に対して繰り返し可能。例: --env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...
  • --debug: 追加のログ出力でデバッグモードを有効化
  • --log-level <level>: ログレベルを設定(選択肢: DEBUGINFOWARNINGERRORCRITICAL
  • --tools <categories>: 有効にするツールカテゴリのカンマ区切りリスト(例: infra,app,events,website)。カテゴリを有効にすると、関連するプロンプトも有効になります。例: --tools infra は infra ツールとすべての infra 関連プロンプトを有効にします。
  • --list-tools: 利用可能なすべてのツールカテゴリを一覧表示して終了
  • --port <port>: MCP サーバーポート(デフォルト: 8080、PORT 環境変数で上書き可能)
  • --verify-ssl: 送信 Instana API 呼び出しの SSL 証明書検証を有効化。INSTANA_SSL_VERIFY=true の設定と同等です。SSL 検証はデフォルトで無効です。
  • --help: ヘルプメッセージを表示して終了

Streamable HTTP モードでの起動

Streamable HTTP モードは REST API インターフェースを提供し、ほとんどのユースケースで推奨されます。

CLI の使用(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

開発用インストールの使用

# 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

Streamable HTTP モードの主な特徴:

  • 認証に HTTP ヘッダーを使用(環境変数は不要)
  • リクエストごとに異なる認証情報をサポート
  • 共有環境に適している
  • MCP サーバーのデフォルトポート: 8080
  • MCP エンドポイント: http://0.0.0.0:8080/mcp/

Stdio モードでの起動

Stdio モードは標準入出力を使用して通信し、認証には環境変数が必要です。

CLI の使用(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

開発用インストールの使用

# 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

Stdio モードの主な特徴:

  • 認証に環境変数を使用(export または --env フラグで設定可能)
  • stdin/stdout を介した直接通信
  • 特定の MCP クライアント設定で必要
  • --env フラグは、シェル環境を変更せずに認証情報を設定する便利な方法を提供します

ツールカテゴリ

必要なツールとプロンプトのカテゴリのみを有効にして、サーバーのパフォーマンスを最適化できます:

CLI の使用(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

開発用インストールの使用

# 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

利用可能なカテゴリ:

  • infra: インフラストラクチャ監視ツールとプロンプト(リソース、カタログ、トポロジー、分析、メトリクス)
  • app: アプリケーションパフォーマンスツールとプロンプト(リソース、メトリクス、アラート、カタログ、トポロジー、分析、設定、グローバルアラート)
  • events: イベント監視ツールとプロンプト(Kubernetes イベント、エージェント監視)
  • website: ウェブサイト監視ツールとプロンプト(メトリクス、カタログ、分析、設定)

SSL 証明書の検証

送信 Instana API 呼び出しの SSL 証明書検証はデフォルトで無効です。これは Streamable HTTPStdio の両方のトランスポートモードに適用されます。

SSL 証明書検証を有効にするには、--verify-ssl CLI オプションまたは INSTANA_SSL_VERIFY 環境変数を使用します。

CLIオプションの使用

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

--verify-ssl オプションは、以下を設定することと同等です:

export INSTANA_SSL_VERIFY=true

環境変数の使用

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

INSTANA_SSL_VERIFY0false、または no(大文字小文字を区別しない)に設定されている場合、または未設定の場合は、SSL検証が無効になります。その他の値では検証が有効になります — 従来の選択肢として true1、または yes を使用してください。

カスタムCAバンドルの使用

SSL検証が有効な場合、デフォルトでシステムのCAバンドルが使用されます。カスタムCA証明書バンドルを使用するには、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 は、SSL証明書検証が有効な場合にのみ使用されます。

サーバーは起動時に有効なSSL検証状態をログに記録するため、環境変数またはCLIフラグが正しく認識されたかをすぐに確認できます。

サーバーステータスの確認

起動後、サーバーが実行中であることを確認できます:

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/

Stdioモードの場合: サーバーが起動し、MCPクライアントからの標準入力の待機を開始します。

よくある起動時の問題

SSL / 証明書の問題: 設定オプションについては、上記のSSL証明書検証セクションを参照してください。検証を有効にしてSSLエラーが発生し、macOSを使用している場合は、Python環境がシステム証明書にアクセスできることを確認してください:

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

ポートがすでに使用中: ポート8080がすでに使用中の場合は、別のポートを指定します:

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

依存関係の欠落: すべての依存関係がインストールされていることを確認します:

uv sync

セットアップと使用方法

Bob IDE

Bobは、MCP統合をネイティブにサポートするIBMのAI搭載IDEです。Bobは、組み込みのAIアシスタンスと可観測性ツールを備えたシームレスな開発体験を提供します。

Streamable HTTPモード

Streamable HTTPモードは、HTTP上のJSON-RPCを使用したMCP通信用のREST APIインターフェースを提供します。

ステップ1: Streamable HTTPモードでMCPサーバーを起動する

Bobを設定する前に、Streamable HTTPモードでMCPサーバーを起動する必要があります。詳細な手順については、ローカルMCPサーバーの起動セクションを参照してください。

ステップ2: Bobを設定する

Bobパネルの右上隅に、MCPサーバーのドロップダウンが表示されます:

これを選択すると、プロジェクトレベルまたはグローバルレベルでMCPを設定するオプションが表示されます。

MCP設定のスコープ

Bobは2つのレベルのMCP設定をサポートしており、ユースケースに最適なスコープを選択できます:

1. グローバル設定(ユーザーレベル)

グローバル設定は、現在のユーザーのすべてのプロジェクトにわたってMCPサーバーを適用します。これは、作業するすべてのプロジェクトで同じMCPサーバーを利用できるようにしたい場合に最適です。

ファイルの場所:

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

2. プロジェクト設定(プロジェクトレベル)

プロジェクト設定は、特定のプロジェクトにのみMCPサーバーを適用します。これは、プロジェクトごとに異なるMCPサーバー設定が必要な場合や、バージョン管理を通じてチームとMCP設定を共有したい場合に便利です。

ファイルの場所:

  • プロジェクトのルートディレクトリにある .bob/bob_config.json

グローバル設定とプロジェクト設定の選択:

  • すべてのプロジェクトで利用可能にしたいMCPサーバーにはグローバル設定を使用します
  • プロジェクト固有のMCPサーバーや、チームと設定を共有するにはプロジェクト設定を使用します
  • 両方の設定は共存できます - 同じサーバー名の場合、プロジェクトレベルの設定がグローバル設定より優先されます

BobとMCP設定の詳細については、次を参照してください: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

ローカル設定:

ローカルのInstana MCPサーバーに接続するようにBobを設定します:

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

リモート設定:

リモートのInstana MCPサーバー(例: IBM Code Engineにデプロイされたもの)に接続するようにBobを設定します:

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

注: npxを使用するには、最初にNVM(Node Version Manager)をインストールし、それを使用してNode.jsをインストールすることをお勧めします。 インストール手順は次で確認できます: https://nodejs.org/en/download

ステップ3: 接続をテストする

MCP設定をセットアップすると、新しく設定したMCPサーバーが有効として表示されます。緑のドットは、サーバーが正常に実行されていることを示します。

これでBob IDEでクエリを実行できます:

get me all applications from Instana in the last 24 hours

Stdioモード

CLIを使用した設定(PyPIインストール - 推奨):

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

注: "command not found"エラーが発生した場合は、mcp-instanaへのフルパスを使用してください。which mcp-instana で検索し、そのパスを使用してください。

開発インストールを使用した設定:

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

{
  "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は、MCP統合のためにStreamable HTTPモードとStdioモードの両方をサポートしています。

設定ファイルを編集してClaude Desktopを設定します:

ファイルの場所:

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

Streamable HTTPモード

Streamable HTTPモードは、HTTP上のJSON-RPCを使用したMCP通信用のREST APIインターフェースを提供します。

ステップ1: Streamable HTTPモードでMCPサーバーを起動する

Claude Desktopを設定する前に、Streamable HTTPモードでMCPサーバーを起動する必要があります。詳細な手順については、ローカルMCPサーバーの起動セクションを参照してください。

ステップ2: Claude Desktopを設定する

ヘッダーを介してInstanaの認証情報を渡すようにClaude Desktopを設定します:

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

注: npxを使用するには、最初にNVM(Node Version Manager)をインストールし、それを使用してNode.jsをインストールすることをお勧めします。 インストール手順は次で確認できます: https://nodejs.org/en/download

ステップ3: 接続をテストする

Claude Desktopを再起動します。以下のように、Claude DesktopのインターフェースにInstana MCP Serverが表示されるはずです:

これでClaude Desktopでクエリを実行できます:

get me all endpoints from Instana

Stdioモード

CLIを使用した設定(PyPIインストール - 推奨):

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

注: "command not found"エラーが発生した場合は、mcp-instanaへのフルパスを使用してください。which mcp-instana で検索し、そのパスを使用してください。

開発インストールを使用した設定:

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

Kiroのセットアップ

Kiroはエージェント型IDEであり、VS Codeや他のIDEにダウンロードして追加できる拡張機能ではありません。

ステップ1: https://kiro.dev/. からお使いのオペレーティングシステム用のKiroをダウンロードしてインストールします。

ステップ2: インストール後、Kiroを起動し、IDEで任意のプロジェクトを開きます。 alt text

ステップ3: 左サイドバーのKiro(ゴースト)アイコンをクリックして、Kiroの機能にアクセスします。 alt text

ステップ4: MCP Serversセクションの右上隅にあるEdit Configアイコンを選択します。 alt text

ステップ5: MCPサーバー設定ファイル(mcp.json)を開き、希望するトランスポートモードに基づいて設定します:

Streamable HTTPモード(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"
      ]
    }
  }
}

注: この設定を使用する前に、MCPサーバーをstreamable-httpモードで起動してください:

mcp-instana --transport streamable-http

Stdioモード

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

ステップ6: ファイルを保存した後、Enable MCPボタンをクリックすると、MCPサーバーとその利用可能なツールがKiroの左下セクションに表示されます。 alt text

ステップ7: AI Chatパネルに移動し、MCPサーバーに関連するプロンプトを入力して、Kiro内で直接応答を表示します。 alt text

GitHub Copilot

GitHub Copilotは、VS Code設定を通じてMCP統合をサポートしています。 VS CodeでのGitHub Copilot統合については、このセットアップガイドを参照してください。

Streamable HTTPモード

ステップ1: Streamable HTTPモードでMCPサーバーを起動する

VS Codeを設定する前に、Streamable HTTPモードでMCPサーバーを起動する必要があります。詳細な手順については、ローカルMCPサーバーの起動セクションを参照してください。

ステップ2: VS Codeを設定する

詳細な設定については、VS CodeでMCPサーバーを使用するを参照してください。

以下の設定で .vscode/mcp.json を直接作成または更新できます:

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

注: 以下の値を実際の設定に置き換えてください:

  • instana-base-url: お使いのInstanaインスタンスのURL
  • instana-api-token: お使いのInstana APIトークン
  • command: npxパスをシステムのNode.jsインストールに合わせて更新します(例: /path/to/your/node/bin/npx
  • 環境変数: システムに合わせてPATHおよびその他の環境変数を調整します

Stdioモード

ステップ1: VS Code MCP設定を作成する

CLIを使用した設定(PyPIインストール - 推奨):

プロジェクトのルートに .vscode/mcp.json を作成します:

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

開発インストールを使用する場合:

プロジェクトのルートに .vscode/mcp.json を作成します:

オプション1: 設定で環境変数を使用:

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

オプション2: --envフラグを使用(代替方法):

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

注: 以下の値を実際の設定に置き換えてください:

  • CLIインストールの場合: mcp-instana がPATHに含まれていることを確認します
  • 開発インストールの場合:
    • command: uvパスをシステムのuvインストールに合わせて更新します(例: /path/to/your/uv/bin/uv または /usr/local/bin/uv
    • --directory: mcp-instanaプロジェクトディレクトリへの絶対パスで更新します
  • INSTANA_BASE_URL: お使いのInstanaインスタンスのURL
  • INSTANA_API_TOKEN: お使いのInstana APIトークン

ステップ2: VS Codeでサーバーを管理する

  1. .vscode/mcp.json を開く - 上部にサーバー管理コントロールが表示されます
  2. Instana MCP Server の横にある Start をクリック してサーバーを起動します
  3. 実行中ステータスとツール数が表示されていれば、サーバーは実行中です

ステップ3: 統合をテストする

GitHub Copilotでエージェントモードに切り替え、ツールを再読み込みします。 GitHub Copilotの応答例:

GitHub Copilot Response

Mistral AI

Mistral AIは、Streamable HTTPモードのみでMCP統合をサポートしています。

ステップ1: Streamable HTTPモードでMCPサーバーを起動する

Instanaの認証情報を指定して、Streamable HTTPモードでMCPサーバーを起動します。次のコマンドを実行します:

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

ステップ2: Ngrokでポートフォワーディングを設定する

ローカルサーバーを公開するためにポートフォワーディングを設定します。詳細な手順については、Ngrokセットアップドキュメントを参照してください。

ステップ3: Mistral AIを設定する

  1. 左サイドバーのIntelligenceタブに移動し、Connectorsを選択します Mistral HomePage

  2. Add Connectorをクリックします Connector

  3. コネクタ名とNgrokで転送されたMCPサーバーURLを入力して、カスタムコネクタを作成します Custom Connector

  4. 新しいチャットセッションを開始し、MCPツールが有効になっていることを確認します。応答はここで表示できます Testing MCP connection Response

複数のInstana MCPサーバーへの接続

MCPクライアントを複数のインスタンスに接続するように設定できます。以下は設定例です:

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

特定のサーバーを対象にするには、以下を確認してください:

  • サーバーがMCP設定で適切な環境名で設定されていること(例: Instana MCP Server1)
  • プロンプトにサーバー/環境名が明示的に含まれていること。 リクエストはその後、対応する設定済みサーバーにルーティングされます。プロンプトでサーバー/環境が明示的に指定されていない場合、MCPは設定で定義された最初のサーバーをデフォルトサーバーとして使用します。

注: 要求されたサーバーがダウンしているか到達不能な場合、MCPは期待どおりに動作し、APIの失敗を転送します。ユーザーはAPIが返す対応するエラーを受け取り、サーバーが利用不可であることが示されます。MCPは基盤となるAPIの可用性に依存しており、自動フェイルオーバーは実行しません。

サポートされている機能

  • 統合アプリケーションおよびインフラストラクチャ管理 (manage_instana_resources)
    • アプリケーションメトリクス
      • 柔軟なフィルタリングでアプリケーションメトリクスをクエリ
      • サービスとエンドポイントを一覧表示
      • タグでグループ化し、メトリクスを集計
    • アプリケーションアラート設定
      • アクティブなアラート設定を検索
      • アラート設定のバージョンを取得
      • アラート設定の作成、更新、削除
      • アラート設定の有効化、無効化、復元
      • 履歴ベースラインの更新
    • グローバルアプリケーションアラート設定
      • グローバルアラート設定の管理
      • グローバルアラートのバージョン管理
    • アプリケーション設定
      • アプリケーションパースペクティブの管理
      • エンドポイントとサービスの設定
      • 手動サービスの管理
    • アプリケーションカタログ
      • アプリケーションタグカタログの取得
      • アプリケーションメトリクスカタログの取得
  • インフラストラクチャ管理 (manage_infrastructure)
    • analyze_infrastructure を置き換える統合スマートルーター — 分析、カタログ、リソーススナップショットのための単一ツール
    • get_plugin_schema — 1回のAPI呼び出しでプラグインのメトリクスタグを取得(2回の個別呼び出しを置き換え)
    • Instana APIカタログのすべてのエンティティタイプを動的にサポート(JVM、Kubernetes、Docker、ホスト、データベース、メッセージキューなど)
    • 静的スキーマファイルを削除 — すべてのスキーマはInstana APIからライブで取得
    • スナップショットリソース操作: get_snapshotget_snapshots
    • 柔軟なメトリクス集計(最大、平均、合計など)
    • タグとプロパティによる高度なフィルタリング
    • グループ化と並べ替え機能
    • 時間範囲クエリ
  • 統合イベント管理 (manage_events)
    • イベントモニタリング
      • IDによるイベントの取得(operation="get_event")
      • IDによるイベントの一括取得(operation="get_events_by_ids")
      • エージェントモニタリングイベントの取得(operation="get_agent_monitoring_events")
      • Kubernetes情報イベントの取得(operation="get_kubernetes_info_events")
      • イベントの取得(operation="get_events")
    • 専門イベントツールへのスマートルーティング
    • 統合パラメータ検証(時間範囲、max_events)
    • 自然言語の時間範囲のサポート("last 24 hours"、"last 2 days")
    • イベントのフィルタリングと最適化
  • モバイルアプリモニタリング (manage_mobile_apps)
    • セッションリプレイ — 新機能 (resource_type="session_replay")
      • get_session_replay_action_beacons — モバイルアプリIDとセッションIDによるアクションビーコンのページネーション取得
      • カーソルベースのページネーション(cursorpage_sizehasMore
    • ビーコン分析、パフォーマンスメトリクス、地理・デバイス分析、アラート管理(既存)
  • 統合ウェブサイト管理 (manage_website_resources)
    • ウェブサイト分析(resource_type="analyze")
      • ウェブサイトビーコングループの取得 - グループ化/集計されたビーコンデータ(operation="get_beacon_groups")
      • ウェブサイトビーコンの取得 - ページネーション付きの個別ビーコンデータ(operation="get_beacons")
      • 自動タグ検証とカタログベースの引き出しワークフロー
      • レスポンス要約(ペイロード70〜80%削減)
      • 複数のビーコンタイプのサポート: PAGELOAD、PAGECHANGE、RESOURCELOAD、CUSTOM、HTTPREQUEST、ERROR
    • ウェブサイトカタログ(resource_type="catalog")
      • ウェブサイトメトリクスカタログの取得(operation="get_metrics")
      • ビーコンタイプとユースケースによるウェブサイトタグカタログの取得(operation="get_tag_catalog")
    • ウェブサイト設定(resource_type="configuration")
      • 全ウェブサイトの取得(operation="get_all")
      • 自動名前解決によるIDまたは名前でのウェブサイト取得(operation="get")
    • 詳細設定 - 読み取り専用(resource_type="advanced_config")
      • 地理位置情報設定の取得(operation="get_geo_config")
      • IPマスキング設定の取得(operation="get_ip_masking")
      • 地理マッピングルールの取得(operation="get_geo_rules")
  • 統合自動化管理 (manage_automation)
    • アクションカタログ(resource_type="catalog")
      • 利用可能なすべての自動化アクションを一覧表示(operation="get_actions")
      • 特定のアクションに関する詳細情報を取得(operation="get_action_details")
      • 名前/説明による一致するアクションの検索(operation="get_action_matches")
      • アプリケーションまたはスナップショットIDと時間枠によるアクションマッチの取得(operation="get_action_matches_by_id_and_time_window")
      • 利用可能なアクションタイプの取得(operation="get_action_types")
      • 利用可能なアクションタグの取得(operation="get_action_tags")
    • アクション履歴(resource_type="history")
      • フィルタリング付きのアクション実行インスタンスの一覧表示(operation="list")
      • 特定のアクション実行の詳細を取得(operation="get_details")
  • 統合シンセティックモニタリング (manage_synthetics)
    • シンセティックカタログ(resource_type="catalog")
      • クエリ計画のためのサポートされている集計付きの利用可能なメトリクスを取得(operation="get_synthetic_catalog_metrics")
      • フィルタリング、グループ化、スマートアラートのための有効なタグ名を取得(operation="get_synthetic_tag_catalog")
    • シンセティックメトリクス(resource_type="metrics")
      • 場所またはテスト名でグループ化された集計シンセティックメトリクスを取得(operation="get_metrics_result")
    • シンセティック設定(resource_type="settings")
      • IDまたは名前によるシンセティックテストの完全な設定を取得(operation="get_synthetic_test")
      • アプリケーション、場所、または資格情報によるオプションのフィルタリング付きでシンセティックテストを一覧表示(operation="get_synthetic_tests")
      • タイプ、地理、機能メタデータ付きのすべてのモニタリング場所を一覧表示(operation="get_locations")
      • 自動名前解決によるIDまたは名前での単一の場所を取得(operation="get_location_by_id")
      • オンライン数付きのすべてのデータセンター(マネージド)場所を取得(operation="get_all_datacenters")
    • シンセティックテスト再生(resource_type="test_playback")
      • テストごとの集計再生メトリクスを取得(operation="get_synthetic_result")
      • LAST_VALUE分析を使用してテストごとの最新結果を取得(operation="get_synthetic_result_analytic")
      • 生のステータス、エラー、タイムスタンプ付きの個別テスト実行結果を取得(operation="get_synthetic_result_list")
      • 最終実行時間とPoPバージョンを含む場所レベルのサマリーメタデータを取得(operation="get_location_summary_list")
      • 場所別の内訳付きのテストごとの成功率を取得(operation="get_test_summary_list")
      • 特定のテスト結果で利用可能な詳細データタイプを取得(operation="get_synthetic_result_metadata")
      • ログ、HAR、スクリーンショットなどの詳細データファイルの内容を取得(operation="get_synthetic_result_detail_data")
  • カスタムダッシュボード (manage_custom_dashboards)
    • すべてのカスタムダッシュボードを取得
    • IDによる特定のダッシュボードを取得
    • 新しいカスタムダッシュボードを作成
    • 既存のカスタムダッシュボードを更新
    • カスタムダッシュボードを削除
    • ダッシュボードの共有可能なユーザーを取得
    • ダッシュボードの共有可能なAPIトークンを取得

利用可能なツール

ツールカテゴリ説明
manage_applicationsアプリケーションおよびインフラストラクチャアプリケーションメトリクス、アラート設定、設定、カタログを管理するための統合ツール
manage_websitesウェブサイトモニタリングウェブサイトの分析、カタログ、設定、詳細設定操作のための統合スマートルーター
manage_custom_dashboardsカスタムダッシュボードカスタムダッシュボードのCRUD操作を管理するための統合ツール
manage_infrastructureインフラストラクチャインフラストラクチャの分析、カタログ(get_plugin_schema)、スナップショットリソース操作のための統合スマートルーター
manage_automation自動化自動化のための統合スマートルーター: アクションカタログの閲覧と実行履歴の表示
manage_eventsイベントイベントモニタリングのための統合スマートルーター: IDによるイベント取得、IDによるイベント一括取得、Kubernetesイベント、エージェントモニタリングイベント、全イベント
manage_sloSLO管理インテリジェントなタイムゾーン処理を備えたSLO設定、レポート、アラート、修正ウィンドウのための統合スマートルーター
manage_releasesリリース管理リリース追跡のための統合スマートルーター: ページネーションと名前フィルタリングによるリリース一覧、リリース詳細の取得、タイムゾーンサポート付きのリリース作成/更新/削除
manage_maintenance_windowsメンテナンスウィンドウメンテナンスウィンドウのライフサイクル管理のための統合スマートルーター: テンプレートサポートとServiceNow統合を備えたメンテナンスウィンドウの作成、変更、クローズ、一覧表示
manage_mobile_appsモバイルアプリモニタリングモバイルアプリモニタリングのための統合スマートルーター: ビーコン分析、パフォーマンスメトリクス、セッションリプレイ、設定、アラート管理
manage_syntheticsシンセティックモニタリングシンセティックモニタリングのための統合スマートルーター: カタログ、メトリクス、設定(読み取り専用)、テスト再生結果

👉 詳細なツールドキュメント、機能、技術リファレンスについては、ツールと例 を参照してください

ツールフィルタリング

MCPサーバーは、パフォーマンスを最適化しリソース使用量を削減するための選択的ツール読み込みをサポートしています。特定のユースケースに必要なツールカテゴリのみを有効にできます。

利用可能なツールカテゴリ

  • router: 統合アプリケーションおよびインフラストラクチャ管理

    • manage_instana_resources: アプリケーションメトリクス、アラート設定、設定、カタログのための単一ツール
    • アプリケーションパースペクティブ、エンドポイント、サービス、手動サービスをサポート
    • アプリケーション固有とグローバルの両方のアラート設定を管理
    • アプリケーションタグカタログとメトリクスカタログへのアクセスを提供
  • dashboard: カスタムダッシュボード管理

    • manage_custom_dashboards: カスタムダッシュボードのCRUD操作
    • ダッシュボードの作成、取得、更新、削除をサポート
    • ダッシュボードの共有可能なユーザーとAPIトークンを管理
  • infra: インフラストラクチャ管理ツール

    • manage_infrastructure: インフラストラクチャの分析、カタログ、スナップショットリソース操作のための統合スマートルーター
    • get_plugin_schemaget_metrics + get_tag_catalog を1回のAPI呼び出しに統合
    • Instanaインストールで利用可能なすべてのエンティティタイプを動的にサポート(APIカタログから自動的に読み込み)
    • JVM、Kubernetes、Docker、ホスト、データベース、メッセージキュー、およびカスタムまたは新しく追加されたエンティティタイプを含む
    • 柔軟なメトリクス集計、フィルタリング、グループ化、時間範囲クエリ
  • automation: 自動化アクションツール

    • manage_automation: 自動化カタログと実行履歴のための統合スマートルーター
    • アクションカタログ:アクションの閲覧、詳細の取得、名前/説明による検索、アプリケーションまたはスナップショットIDによるフィルタリング
    • アクション履歴:フィルタリング付きの実行インスタンス一覧、実行詳細の取得
  • events: イベント監視ツール

    • イベント:Kubernetesイベント、エージェント監視、システムイベント追跡
  • website: Webサイト監視ツール

    • Webサイトメトリクス:Webサイトのパフォーマンス測定
    • Webサイトカタログ:Webサイトのメタデータと定義
    • Webサイト分析:Webサイトのパフォーマンス分析
    • Webサイト設定:Webサイトの設定管理
  • slo: サービスレベル目標(SLO)管理

    • manage_slo: 包括的なSLO操作のための統合スマートルーター
    • 設定管理:時間ベースおよびイベントベースの指標をサポートするSLO設定の作成、読み取り、更新、削除
    • レポート生成:SLI値、エラーバジェット、バーンレート、時系列チャートを含む詳細なSLOレポートの生成
    • アラート設定:エラーバジェット監視とバーンレート追跡のためのSLOアラート設定の管理
    • 修正ウィンドウ:計画ダウンタイムをSLO計算から除外するためのメンテナンスウィンドウの作成と管理
    • インテリジェントなタイムゾーン処理:正確な時間コンテキストを確保するための日時入力の自動タイムゾーン推定
    • 2パス推定:複数の入力を必要とする複雑な操作のための対話型パラメータ収集
  • releases: リリース追跡とデプロイメント管理

    • manage_releases: リリース操作のための統合スマートルーター
    • リリース一覧:効率的なページネーション(page_number、page_size)と名前ベースのフィルタリングで全リリースを取得
    • リリース詳細:IDによる特定リリース情報の取得(アプリケーション、サービス、スコープを含む)
    • 作成/更新/削除:リリース管理のための完全なCRUD操作
    • インテリジェントなタイムゾーン処理:リリース開始時刻の自動タイムゾーン推定
    • 効率的なページネーション:適切なページベースのナビゲーションによる冗長なデータ取得の回避
    • 名前フィルタリング:名前によるリリース検索のための大文字小文字を区別しない部分一致
  • maintenance_window: メンテナンスウィンドウのライフサイクル管理

    • manage_maintenance_windows: メンテナンスウィンドウ操作のための統合スマートルーター
    • ウィンドウ操作:メンテナンスウィンドウの作成、変更、クローズ、一覧表示(アクティブ、スケジュール済み、すべて、期限切れ)
    • 一括操作:複数のアプリケーションに対するメンテナンスウィンドウの同時作成
    • テンプレートサポート:一般的なシナリオ用の定義済みテンプレート(deployment、database_migration、infrastructure_upgrade、emergency、routine)
    • 定期ウィンドウ:RFC 5545 RRULE形式を使用した定期メンテナンスウィンドウのサポート
    • ServiceNow統合:ServiceNow変更リクエストとのオプション統合
    • 検証:ウィンドウ作成前のパラメータ検証
    • 柔軟な期間:分、時間、日単位での期間指定
  • mobile_app: モバイルアプリケーション監視

    • manage_mobile_apps: モバイルアプリ監視操作のための統合スマートルーター
    • セッションリプレイ:モバイルアプリIDとセッションIDによるページネーション付きセッションリプレイアクションビーコンの取得(resource_type="session_replay"
    • ビーコン分析:グループ化とフィルタリングによるモバイルアプリビーコンデータのクエリ
    • パフォーマンスメトリクス:セッション時間、クラッシュ率、HTTPリクエストパフォーマンスの追跡
    • 地理的分析:国、都市、地域別のユーザー分布の分析
    • デバイス分析:異なるデバイス、プラットフォーム、OSバージョンにわたるパフォーマンスの監視
    • 設定管理:モバイルアプリ設定、ジオロケーション、IPマスキング設定の管理
    • アラート管理:モバイルアプリのアラート設定の構成と管理
  • synthetics: シンセティック監視管理

    • manage_synthetics: すべてのシンセティック監視操作のための統合スマートルーター
    • カタログ:クエリ構築前に有効なメトリクスIDとタグ名を発見
    • メトリクス:場所またはテスト名でグループ化された集計応答時間と成功率の取得
    • 設定:自動名前解決によるテストと場所の一覧表示と検索。データセンター(Managed)とセルフホスト(Private)PoPの識別
    • テスト再生:実行ごとの生結果、LAST_VALUE分析、場所ごとの成功率サマリー、詳細ファイルのダウンロード(LOGS、HAR、スクリーンショット)

使用例

CLIの使用(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

開発インストールの使用

# 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

ツールフィルタリングの利点

  • パフォーマンス:起動時間とメモリ使用量の削減
  • セキュリティ:必要なAPIのみへの露出制限
  • 明確性:特定のユースケースへの集中(例:インフラストラクチャ監視のみ)
  • リソース効率:CPUとネットワーク使用量の低減

👉 使用例とプロンプトについては、Example Prompts を参照してください

Dockerデプロイメント

MCP Instanaサーバーは、本番環境向けにDockerを使用してデプロイできます。Dockerセットアップは、セキュリティ、パフォーマンス、最小限のリソース使用量に最適化されています。

Dockerイメージのビルド

前提条件

  • Dockerがインストールされ実行中であること
  • プロジェクトのソースコードへのアクセス

ビルドと実行

# 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

📖 マルチアーキテクチャビルド、.dockerignore、セキュリティのベストプラクティス、本番デプロイメントの例を含む包括的なDockerドキュメントについては、DOCKER.md を参照してください。

トラブルシューティング

Dockerの問題

コンテナが起動しない

# 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

接続の問題

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

パフォーマンスの問題

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

一般的な問題

  • GitHub Copilot

    • GitHub Copilotで問題が発生した場合は、mcp.json ファイルでサーバーの起動/停止/再起動を試し、一度に1つのサーバーのみを実行してください。
  • 証明書の問題

    • 証明書の問題([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate など)が発生した場合:
      • SSL検証を使用して curl または wget でInstana APIエンドポイントに到達できるか確認してください。
        • それが機能する場合、Python環境が証明書を検証できず、シェルやシステムと同じ証明書にアクセスできない可能性があります。Python環境がシステム証明書(macOS)を使用していることを確認してください。これは、Pythonに証明書をインストールすることで行えます: /Applications/Python\ 3.13/Install\ Certificates.command
      • SSL検証でエンドポイントに到達できない場合は、検証なしで試してください。それが機能する場合は、システムのCA証明書を確認し、最新であることを確認してください。