6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MCP Server for IBM Instanaの紹介と検証レポート

6
Last updated at Posted at 2025-08-29

はじめに

この記事では、Instana の可観測性機能を LLM或いはAI Agent(例:Claude、OpenAIなど)から自然言語で操作できるようにする Instana MCP サーバー を紹介します。Model Context Protocol(MCP)を活用することで、複雑な API 呼び出しの手間を省き、エンタープライズ向け Observability に AI エージェントをシームレスに組み込む方法を解説しています。

  •  LLM が自然言語で Instana を操作可能に
  •  stdio モードと Streamable HTTP モードに対応する柔軟なアーキテクチャ
  •  開発チームが愛用するツール(Claude、Copilot 等)と連携可能な構造
  • オープンソースプロジェクトとして柔軟に拡張・カスタマイズが可能

1. MCPとは?

MCP(Model Context Protocol)は、Anthropic や OpenAI などの 生成AI(LLM)と外部システムをつなぐための標準プロトコル です。

  • LLM が直接 API やツールを呼び出せるようにする仕組み
  • JSONベースで定義されたインターフェース
  • LLM が「会話を通じて」監視ツールや外部システムにアクセス可能になる

これにより、ユーザーは「人間に話しかけるように」システムの監視・操作を行えるようになります。

2. MCP server for Instanaとは?

MCP server for Instana は、IBM Instana を MCP サーバー化 する OSS プロジェクトです。

つまり、「Instana の API を LLM が直接利用できるようにする」ためのブリッジです。

✨ MCP server for Instanaを使うメリット

  • 自然言語での操作が可能
    例:「Instana で robotshop のアプリを探して」と尋ねるだけで、LLM が Instana API を呼び出し結果を返してくれます。

  • 開発不要な API 呼び出し
    API クライアントを一から実装する必要なく、MCP サーバー経由ですぐに使える統一インターフェースを提供。

  • 高いツール統合性
    Claude Desktop / Langflow / LangGraph など、MCP 対応の AI ツールに容易に組み込めます。

  • Observability と AI の融合
    可観測性データをそのまま AI エージェントが理解できるフォーマットで提供し、運用・監視のナレッジを効率的に活用。

  • 包括的な API カバレッジ
    Instana のメトリクス取得・リソース探索・アラート管理・インフラ分析など、多彩な REST API に対応。

  • インテリジェントなクエリ処理
    自動でパラメータ検証、ページネーション対応、レスポンス整形、エラーメッセージ生成などを行い、AI 対話に最適化。

  • 柔軟なフィルタリング対応
    時間帯・タグ・テキスト・閾値による絞り込みが自然言語クエリだけで可能。

  • トラブルシュートの迅速化
    複雑な API 呼び出しの代わりに、AI に自然言語で指示するだけで問題の原因が即時に把握できます。

  • 柔軟なデプロイ方式

    • stdio モード:開発時やシングルユーザー環境に最適。
    • Streamable HTTP モード:HTTP ストリーミング対応で複数クライアントの同時接続にも対応。
  • OSS ベースでの協働促進
    GitHub でオープンソースとして提供されており、企業や開発者による拡張・カスタマイズ・コミュニティ貢献が可能。


3. MCP server for Instanaのアーキテクチャ

Readme に基づくと、MCP-Instana の構成は以下の通りです。

🔧 Architecture

Claude / Langflow Agent
        │
        ▼
MCP client (mcp-remote, Langflow MCP integration)
        │
        ▼
MCP-Instana Server
        │
        ▼
Instana REST API
  • MCP Client(Claude Desktop, Langflow など)が LLM からの指示を受け取る
  • MCP-Instana Server が Instana API呼び出しに変換
  • Instana API が JSON 形式で応答 → LLM が結果を自然言語で解釈
    Screenshot 2025-08-29 at 16.42.40.png

MCP server for Instana は 2種類の動作モードを提供します

Mode 1. Streamable HTTP Mode

  • 起動コマンド(例):

    mcp-instana --transport streamable-http --debug
    
  • MCP サーバーが HTTP エンドポイントを公開し、Claude Desktop や VS Code(mcp-remote経由)などから接続可能。

  • 認証方式:

    • HTTPヘッダーベース認証
    • 各リクエストごとに instana-base-urlinstana-api-token をヘッダーに付与
    • 環境変数を設定する必要がなく、ユーザーやリクエストごとに認証情報を切り替え可能
  • 典型的なユースケース:

    • Claude Desktop / VS Code などのクライアント統合
    • リバースプロキシや OAuth / APIキー認証フロントエンド経由での運用
    • マルチユーザー環境や同時接続が必要な場合に最適
  • 特徴: Web/リモートデプロイに向いており、大規模・複数クライアントの同時利用にスケールする

Mode 2. Stdio Mode(標準入出力モード)

  • 起動コマンド(例):

    uv run src/core/server.py --transport stdio
    
  • MCP クライアントがローカルプロセスを起動し、標準入出力(stdin/stdout)経由で直接通信。ネットワークを介さない。

  • 認証方式:

    • 環境変数ベース
    • 起動前に INSTANA_BASE_URLINSTANA_API_TOKEN を設定し、サーバーが起動時に読み込む
  • 典型的なユースケース:

    • ローカル CLI や開発ワークフロー
    • HTTPエンドポイントを公開したくない場合や、認証ヘッダーの設定を都度行いたくない場合に適する
  • 特徴: 単一ユーザー開発・ローカル環境での利用にシンプルで便利

  • Streamable HTTP Mode = Web/リモート運用向け、多ユーザー/大規模環境に最適。認証はリクエストごとにヘッダー指定。

  • Stdio Mode = ローカル開発・単一ユーザー利用向け。認証は環境変数に一度設定すればよい。

4. 検証ステップ

🔹 検証1: Install from PyPI

① MCP-Instana のインストール

pip install mcp-instana

② Streamable HTTP Mode の起動

mcp-instana --transport streamable-http --debug

Screenshot 2025-08-29 at 16.53.37.png

③ Claude Desktop の設定

json path: /Users/usernameXXXX/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8000/mcp/",
        "--allow-http",
        "--header",
        "instana-base-url: https://XXXXX-YYYY.instana.io",
        "--header",
        "instana-api-token: XXXXXXXXXXXX"
      ]
    }
  }
}

Screenshot 2025-08-29 at 17.23.30.png

④ Claude Desktop で実行

[例1]
Prompt:

Get all application name which contains "robotshop" from instana?

結果:

I found 8 applications in Instana that contain "robotshop":

1. 0325_RobotShop_src
2. RobotShop_T1
3. RobotShop_Test
4. Robotshop-login
5. ZOO-RobotShop
6. ibmhive-robotshop
7. ibmhive2-robotshop
8. namespace robotshop

Screenshot 2025-08-29 at 17.23.03.png

[例2]
Prompt:

Instanaが監視している対象の中から nginx で発生した 404 Not Found エラーログを見つけてください

結果:

.....
調査結果の要約
Instanaで監視されているnginxサービスについて詳細な調査を行いました。以下の結果をご報告します:
発見された主要な情報:

Nginxサービスの監視状況:

10個のnginxサービスが検出されました(demo-us-eks-nginx-web、rca-zone-nginx-web、nginx-webなど)
100個のnginxスナップショット(インスタンス)が稼働中です


発見されたnginx関連のエラー:

nginx_status_not_found: 4件のイベントが報告されており、nginx ステータスページ(/nginx_status)への404エラーが発生しています
影響を受けているNginxサーバー: Node @203514、Node @14068、Node @530762、Node @142201


特定されたエラーの詳細:

スナップショットID 1uQmDLdvpzxmzDNu7b2_HDwPQSd (Node @142203) で以下のエラーが確認されました:

"error_code": "STATUS_LOCATION_NOT_FOUND"
"stubStatusUrlFound": false

主な問題:
現在検出されている404 Not Foundエラーは、nginxのステータス監視ページ(/nginx_status)に関連するもので、アプリケーションのエンドユーザー向けコンテンツの404エラーではありません。これは設定の問題で、nginxのstub_statusモジュールが正しく設定されていないことを示しています。
推奨される対応:

Nginx Status設定の修正: 影響を受けているnginxサーバーでstub_statusモジュールを有効にし、/nginx_statusエンドポイントを設定する
より詳細なHTTPエラーログ監視: アプリケーションレベルでの404エラーを監視するために、より詳細なログ設定やカスタムアラート設定を検討する
.....

Claude が Instana API を叩き、robotshop関連のアプリ名を自然言語で返してくれました。


🔹 検証2: Development Installation

a. uv のインストール と mcp-instanaのダウンロードとインストール

pip install uv

## GitHub から clone
git clone https://github.com/instana/mcp-instana.git
cd mcp-instana

## 依存関係を解決(uv でセットアップ)
uv sync

b. stdio Mode の起動

export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"
uv run src/core/server.py --transport stdio

Screenshot 2025-08-29 at 16.52.58.png

c. Langflow の起動

uv run langflow run

Screenshot 2025-08-29 at 16.55.00.png

d. Langflow MCP 設定

Tool Mode -->Selected
Stdio -->Selected

mcp command: mcp-instana --transport stdio
env:
  INSTANA_BASE_URL: https://XXXXX-YYYY.instana.io
  INSTANA_API_TOKEN: XXXXXXXXXXX

Screenshot 2025-08-29 at 16.57.38.png

e. Langflow Agent (OpenAI LLM) で実行

Prompt:

Get all application name which contains "robotshop" from instana?

結果:

Here are the application names containing "robotshop" from Instana:

- 0325_RobotShop_src
- RobotShop_T1
- RobotShop_Test
- Robotshop-login
- ZOO-RobotShop
- ibmhive-robotshop
- ibmhive2-robotshop
- namespace robotshop

Screenshot 2025-08-29 at 16.58.19.png

Langflowでも同様に Instana からの結果を自然言語で取得できました。

他のいろいろプロンプトをお試していただければと思います(Tokenは結構使うので、それをご留意いただければ幸いです)。
例:

Get all endpoints in application name=robotshop from Instana

現在アプリケーション "0325_RobotShop_src"のシステム状況をおしえてください

アプリケーション "0325_RobotShop_src"のAlert "xxxxx"の根本的な原因を詳しく分析して原因と回避策を教えてください。

以下はQiita向けに整形した追記用Markdownです(見出し、コード、リンク、リスト形式をQiitaのスタイルに最適化しています👇)


5. Instana MCP Server Extension for Claude Desktop(2025年10月7日発表)

公式発表はこちら 👉 IBM Community Blog

Claude Desktop で Instana MCP Server Extension が正式リリースされました。
これにより、従来の MCP-Instana 機能を Claude Desktop の拡張(Extension) として利用できるようになりました。

Instana MCP Server Extension主な新機能・特徴

  • Claude の Extensions としてワンクリックで導入可能
  • Instana API が Claude 内で “ツール” として直接呼び出し可能
  • API トークンによる安全な認証対応
  • ダッシュボード/アラート/トレース/メトリクスを自然言語で取得・分析
  • Claude から直接、運用・監視ワークフローを実行可能

セットアップ手順(概要)

# 1. Claude Desktop を起動
# 2. Extensions Marketplace から Instana MCP Server Extension をインストール
# 3. Instana の API Token と Endpoint を設定
# 4. Enableの設定

Screenshot 2025-10-08 at 15.11.55.png

Screenshot 2025-10-08 at 15.12.53.png

Screenshot 2025-10-08 at 15.13.20.png

設定完了後、Claude Desktopを再起動すれば に対して以下のような自然言語クエリが利用できます:

💬 例:

  • 「過去24時間の支払いサービスのパフォーマンスを表示して」
  • 「チェックアウトAPIの遅延の原因を教えて」
  • 「先週のクリティカルインシデントのレポートを作成して」
  • 「アップグレード前後のDB性能を比較して」

既存 MCP-Instana との関係

この拡張は既存の MCP-Instana Server と併用可能です。
ユースケースに応じて:

  • Claude 経由で迅速に観測データを照会したい場合 → Claude Extension モード
  • 他システムやLangGraphなどと統合したい場合 → スタンドアロン MCP Server モード

まとめ

  • MCP は LLM と外部システムをつなぐための標準プロトコル
  • MCP-Instana は Instana API を LLM が直接扱えるようにする MCP サーバー
  • メリット:自然言語で Instana の監視データ取得、AI Agent に組み込み可能
  • 2種類のMode(HTTP / stdio)で Claude Desktop や Langflow などとの連携可能
  • 検証結果:robotshop アプリ一覧を自然言語で取得できることを確認

運用チームにとって、MCP-Instana は「観測性 + AIエージェント」の橋渡しとなる重要な技術。これからの AIによる自動運用・監視 の基盤として大いに活用できそうです。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?