Catalyst Center MCP について
Catalyst Center MCPは、Cisco Catalyst Center向けのデバイス管理、クライアント情報取得、ネットワーク監視を提供するPython製MCPサーバーです。ネットワーク運用担当者は、MCPクライアントからサイト、インターフェース、クライアントの情報を照会できます。
主な機能
- 01Cisco Catalyst Centerへの安全な認証
- 02ネットワークデバイスの検出と詳細取得
- 03サイト階層と詳細の取得
- 04デバイスのインターフェース情報照会
- 05クライアントの絞り込みと詳細・件数取得
- 06API用時間範囲への変換
活用シーン
- 01デバイス一覧と状態の確認
- 02サイト階層と配下のデバイスの確認
- 03デバイスのインターフェース状態の調査
- 04SSID、サイト、MACによるクライアント絞り込み
MCP 対応
Cisco Catalyst Centerのデバイス、サイト、インターフェース、クライアントの照会機能を、MCPクライアント向けのツールとして公開します。時間範囲の変換にも対応し、接続情報は`.env`ファイルで設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Catalyst Center MCP サーバー
Cisco Catalyst Center(旧称 DNA Center)向けの Python ベースの MCP(Model Context Protocol)サーバーです。デバイス管理、クライアント情報の取得、ネットワーク監視のためのツールを提供します。
機能
- Cisco Catalyst Center との安全な認証。
- デバイスの検出、一覧表示、詳細情報の取得。
- 階層や詳細を含むサイト情報の取得。
- 特定のデバイスのネットワークインターフェース情報。
- 豊富なフィルタリングオプションを使用したクライアントの一覧表示。
- MAC アドレスによるクライアント詳細情報の取得。
- フィルタリングによるクライアント数の取得。
- API 互換の時間範囲変換を行うヘルパーツール。
- 堅牢で拡張性の高い MCP サーバーを実現する FastMCP を使用。
- 簡単にセットアップできる
.envファイルによる設定。
インストール
- リポジトリをクローンします:
git clone https://github.com/richbibby/catalyst-center-mcp.git
cd catalyst-center-mcp
- 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
設定
- 環境ファイルのサンプルをコピーします:
cp .env.example .env
.envファイルに Catalyst Center の認証情報を設定します:
CCC_HOST=your-catalyst-center-host
CCC_USER=your-username
CCC_PWD=your-password
Claude Desktop クライアントでの使用方法
- この MCP サーバーを使用するように Claude Desktop を設定します:
- Claude Desktop を開きます
- 「Settings」>「Developer」>「Edit Config」に移動します
- 次の設定を追加します(必要に応じてパスを調整してください。設定例の構成については
claude_desktop_config.jsonを参照してください):
{
"mcpServers": {
"catalyst-center-mcp": {
"command": "/path/to/your/venv/bin/fastmcp",
"args": [
"run",
"/path/to/your/catalyst-center-mcp/catalyst-center-mcp.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
/path/to/your/...をローカル環境に適した絶対パスに置き換えます。- Stdio トランスポートでは、
PYTHONUNBUFFERED環境変数を設定することをおすすめします。
-
Claude Desktop を再起動します
-
Claude Desktop を操作します:
- 「Cisco Catalyst Center のデバイスを表示して」のような操作を Claude に依頼します
- Claude は MCP サーバーを使用して認証し、デバイス情報を取得します


VScode での使用方法
- この MCP サーバーを使用するように VSCode を設定します:
- VScode を開きます
- コマンドパレットを開きます:macOS の Visual Studio Code では Command + Shift + P、Windows および Linux では Ctrl + Shift + P を押します
- MCP: Open User Configuration と入力します
- 次の設定を追加します(必要に応じてパスを調整してください。設定例の構成については
claude_desktop_config.jsonを参照してください):
{
"servers": {
"catalyst-center-mcp": {
"type": "stdio",
"command": "/path/to/your/venv/bin/fastmcp",
"args": [
"run",
"/path/to/your/catalyst-center-mcp/catalyst-center-mcp.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
/path/to/your/...をローカル環境に適した絶対パスに置き換えます。- Stdio トランスポートでは、
PYTHONUNBUFFERED環境変数を設定することをおすすめします。
- VSCode を再起動します
次の方法も使用できます
- コマンドパレットを開きます:macOS の Visual Studio Code では Command + Shift + P、Windows および Linux では Ctrl + Shift + P を押します
- Developer: Reload Window を実行します
- チャットウィンドウで操作します:
- 「Cisco Catalyst Center のデバイスを表示して」のような質問をします
- VSCode は MCP サーバーを使用して認証し、デバイス情報を取得します

質問の例
Catalyst Center を操作するために Claude に尋ねられる質問の例を以下に示します:
デバイス情報
- 「ネットワーク内のすべてのデバイスを表示して」
- 「ネットワーク内のすべてのスイッチを一覧表示して」
- 「現在到達不能なデバイスはどれですか?」
- 「ホスト名に 'switch' を含むデバイスを表示して」
- 「IP アドレス 10.1.1.1 のデバイスの状態は?」
インターフェース情報
- 「デバイス X のすべてのインターフェースを表示して」
- 「デバイス Y でダウンしているインターフェースはどれですか?」
- 「デバイス Z のすべてのギガビットインターフェースを一覧表示して」
- 「IP アドレスが設定されているインターフェースを表示して」
- 「デバイス X のインターフェース GigabitEthernet1/0/1 の状態は?」
サイト情報
- 「ネットワーク内のすべてのサイトを表示して」
- 「サイト X にあるデバイスはどれですか?」
- 「ネットワーク内のすべてのビルを一覧表示して」
- 「サイトの階層を表示して」
- 「サイト Y の住所は?」
クライアント情報
- 「現在接続されているクライアントはいくつですか?」
- 「すべてのワイヤレスクライアントを一覧表示してください。」
- 「SSID『Corporate-WiFi』に接続されているクライアントを表示してください。」
- 「MAC アドレス aa:bb:cc:dd:ee:ff のクライアントの詳細を教えてください。」
- 「OS タイプが『macOS』のクライアントはいますか?」
- 「過去 1 時間以内にアクティブだったクライアントを一覧表示してください。」
複合クエリ
- 「サイト X のすべてのデバイスとそのインターフェースを表示してください」
- 「すべてのデバイスにわたってダウンしているインターフェースを一覧表示してください」
- 「ビル Y にあるデバイスのうち、到達不能なインターフェースがあるものはどれですか?」
- 「サイト Z のネットワークトポロジーを表示してください」
- 「エリア A のすべてのデバイスのステータスを教えてください」
利用可能なツール
fetch_devices:Cisco Catalyst Center からデバイスのリストを取得します。フィルタリングオプションを利用できます。fetch_sites:Cisco Catalyst Center からサイトのリストを取得し、コンパクトな JSON 構造で返します。fetch_interfaces:特定のデバイス ID のインターフェース情報を取得します。get_api_compatible_time_range:自然言語による時間指定(例:「過去 24 時間」「昨日」)または特定のタイムスタンプを、API 互換の開始・終了時刻(エポックミリ秒)に変換します。get_clients_list:包括的なフィルタリングオプション(例:クライアントタイプ、OS、サイト、MAC/IP アドレス、SSID)を使用して、Cisco Catalyst Center からクライアントのリストを取得します。1 回の呼び出しにつき、最大 100 件のクライアントを返します。get_client_details_by_mac:MAC アドレスを指定して、特定のクライアントの詳細情報を取得します。get_clients_count:指定したフィルターに一致するクライアントの合計数を取得します。
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。