Cato MCP CMA について
Cato MCP CMA は、Cato Network の公開 GraphQL API に接続するローカル実行型の MCP サーバーです。AI アシスタントが Cato のシステムデータを標準的な方法で照会できます。Cursor や Claude Desktop などのクライアントを使うネットワーク・セキュリティ運用担当者を想定しています。
主な機能
- 01フィルタリングとページネーションに対応したエンティティ検索
- 02サイト、接続状態、WAN リンクのメトリクスツール
- 03リモートユーザーのセッションとクライアントバージョンの照会
- 04トラフィック、遅延、パケットロス、ジッターの分析
- 05Docker イメージによる配布
活用シーン
- 01サイトの接続状態と HA 情報の確認
- 02サイトやユーザーごとの帯域消費ランキングの作成
- 03ネットワーク品質の低いサイトの調査
MCP 対応
本プロジェクトは Cato API を照会するツール群を MCP クライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cato MCP CMA
Cato CMA Public API と連携する Model Context Protocol(MCP)サーバーの実装です。
概要
このサーバーは Model Context Protocol を実装しており、AI アシスタントが Cato の GraphQL API とやり取りできるようにします。
AI モデルが標準化された方法で Cato システムにクエリを実行し、情報を取得できるようにするツールを提供します。
提供されている MCP サーバーは、一般的な MCP クライアント(非無料枠)— たとえば Cursor や Claude Sonnet 4 モデルを使用する Claude Desktop — との互換性がテストされており、これらのクライアントでの使用を推奨します。
このサーバーは ghcr.io/catonetworks/cato-mcp-server で Docker イメージとして利用できます。
Claude-Desktop の設定ファイルに以下を追加してください:\
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cato": {
"command": "docker",
"args": [
"run",
"--rm",
"--pull",
"always",
"-i",
"-e", "CATO_API_HOST=<your Cato API Host>",
"-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
"-e", "CATO_API_KEY=<your Cato API Key>",
"ghcr.io/catonetworks/cato-mcp-server:latest"
],
"disabled": false,
"autoApprove": []
}
}
}
注記:
--pull alwaysオプションは、AI エージェントアプリケーション(例: Claude-Desktop)が cato-mcp-server の最新バージョンを使用することを保証します。
cato-mcp-server を実行している AI エージェントアプリケーションは、他のアプリのデータにアクセスするための権限を求めるポップアップを表示する場合があります。
\
- これを許可したくない場合は、
--pull alwaysオプションを削除できますが、その場合は新しいバージョンがリリースされたときに、以下を実行してイメージを手動で更新する必要があります:
docker pull ghcr.io/catonetworks/cato-mcp-server:latest- これを許可したくない場合は、
設定
このサーバーには以下の環境変数が必要です:
# The hostname of the Cato API (without protocol). e.g.: api.catonetworks.com
# For details about your Cato API hostname, please see: https://support.catonetworks.com/hc/en-us/articles/20564679978397-What-is-the-Cato-API
CATO_API_HOST: "api.catonetworks.com"
# The Cato account-id
CATO_ACCOUNT_ID: "1234567"
# The Cato API-KEY for authentication
CATO_API_KEY: "123abc"
利用可能なツール
| カテゴリ | ツール | 説明 |
|---|---|---|
| エンティティ検索 | entity_lookup | 特定のタイプ(例: ユーザー、サイト、サービス)のエンティティのリストを取得します。オプションのフィルタリング(例: 名前による)とページネーションをサポートします。 |
| サイト | sites_by_location | 地理的位置情報と関連する PoP 接続情報で強化されたサイトデータを返します。 |
| site_details | 運用ステータス、接続ステータス、高可用性(HA)情報、デバイスインターフェースステータスを含む包括的なサイト詳細を取得します。 | |
| site_types | 接続方法(例: Socket、IPSEC、vSocket)を含む、設定されたすべてのサイトの詳細を提供します。 | |
| socket_versions | サイトの関連付けを含む、デプロイされたすべての Socket のバージョン情報を一覧表示します。 | |
| wan_connectivity | 各サイトの WAN リンクのリアルタイムメトリクス(トラフィック量、パケットロス、レイテンシ、ジッターを含む)を提供し、リンクのパフォーマンスと健全性を評価します。 | |
| ユーザーとクライアント | user_details | 接続されたリモートユーザーのプロファイルとステータス情報(デバイス名、オペレーティングシステム、接続ステータスを含む)を提供します。 |
| user_connection_details | 接続されたリモートユーザーのセッション固有のデータ(稼働時間、接続期間、関連する PoP の詳細など)を提供します。 | |
| user_software_versions | 接続されたリモートユーザーのオペレーティングシステムと Cato Client のバージョン情報を一覧表示します。 | |
| サイトメトリクス | site_network_health | 指定された期間におけるサイトのネットワーク健全性の概要を取得し、ネットワーク品質が低いサイト(パケットロス、レイテンシ、ジッターが高い)を特定します。 |
| top_site_bandwidth_consumers | 指定された期間における総トラフィック(bytesUpstream + bytesDownstream)でサイトをランク付けし、キャパシティプランニングとトラフィック分析に使用します。 | |
| site_metrics_timeseries | サイトの時系列バケット化されたメトリクスデータを取得し、トレンド分析、ピーク検出、トラフィックパターンの特定を可能にします。 | |
| site_metrics | サイトの集計メトリクスを返します(時系列データなし)。 | |
| site_metrics_summary | サイトタイプ、接続タイプ、リージョン、インターフェースロールなど、さまざまなディメンションでグループ化されたサイトの集計メトリクス分析を提供します。 | |
| annotation_event_counter | インフラストラクチャの変更イベントとアノテーションを分析し、安定性を追跡して、変更や問題が頻繁に発生するサイトを特定します。 | |
| ユーザーメトリクス | top_users_bandwidth_consumers | 指定された期間における総トラフィック(bytesUpstream + bytesDownstream)で VPN 接続ユーザーをランク付けし、帯域幅の監視、コスト管理、異常な使用パターンの特定に使用します。 |
| user_metrics_timeseries | VPN 接続ユーザーの時系列バケット化されたメトリクスデータを取得し、経時的なトレンド分析とパフォーマンス監視を可能にします。 | |
| user_metrics | VPN 接続ユーザーの集計メトリクスを返します(時系列データなし)。 |
開発
ソースからのビルド:
yarn install
yarn build
Claude-Desktop の設定例:
以下を ~/Library/Application\ Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"cato": {
"command": "node",
"args": ["/path/to/cato-mcp-cma/build/index.js"],
"env": {
"CATO_API_HOST": "api.catonetworks.com",
"CATO_ACCOUNT_ID": "1234567",
"CATO_API_KEY": "123abc",
"CATO_LOG_LEVEL": "debug"
},
"disabled": false,
"autoApprove": []
}
}
}
Docker イメージのビルド:
プロジェクトのルートで、次を実行します:
docker build -t catonetworks/cato-mcp-server .
Claude-Desktop の mcp-server 設定例:
以下を ~/Library/Application\ Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"cato": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CATO_API_HOST=api.catonetworks.com",
"-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
"-e", "CATO_API_KEY=<your Cato API Key>",
"catonetworks/cato-mcp-server"
],
"disabled": false,
"autoApprove": []
}
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。