はじめに
この記事では、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 Document
- GitHub: instana/mcp-instana
- Medium 紹介記事: Introducing the Instana MCP Server
つまり、「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 が結果を自然言語で解釈
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-urlとinstana-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_URLとINSTANA_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
③ 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"
]
}
}
}
④ 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
[例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
c. Langflow の起動
uv run langflow run
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
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
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日発表)
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の設定
設定完了後、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による自動運用・監視 の基盤として大いに活用できそうです。









