mcpField
C
Catalyst Center MCP

Catalyst Center MCP

ローカル
github.com/richbibbyクラウド・インフラ1732 週間前に更新

Catalyst Center MCP について

Catalyst Center MCPは、Cisco Catalyst Center向けのデバイス管理、クライアント情報取得、ネットワーク監視を提供するPython製MCPサーバーです。ネットワーク運用担当者は、MCPクライアントからサイト、インターフェース、クライアントの情報を照会できます。

主な機能

  1. 01Cisco Catalyst Centerへの安全な認証
  2. 02ネットワークデバイスの検出と詳細取得
  3. 03サイト階層と詳細の取得
  4. 04デバイスのインターフェース情報照会
  5. 05クライアントの絞り込みと詳細・件数取得
  6. 06API用時間範囲への変換

活用シーン

  1. 01デバイス一覧と状態の確認
  2. 02サイト階層と配下のデバイスの確認
  3. 03デバイスのインターフェース状態の調査
  4. 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 ファイルによる設定。

インストール

  1. リポジトリをクローンします:
git clone https://github.com/richbibby/catalyst-center-mcp.git
cd catalyst-center-mcp
  1. 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

設定

  1. 環境ファイルのサンプルをコピーします:
cp .env.example .env
  1. .env ファイルに Catalyst Center の認証情報を設定します:
CCC_HOST=your-catalyst-center-host
CCC_USER=your-username
CCC_PWD=your-password

Claude Desktop クライアントでの使用方法

  1. この 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 環境変数を設定することをおすすめします。
  1. Claude Desktop を再起動します

  2. Claude Desktop を操作します:

  • 「Cisco Catalyst Center のデバイスを表示して」のような操作を Claude に依頼します
  • Claude は MCP サーバーを使用して認証し、デバイス情報を取得します

Catalyst Center MCP を使用する Claude Desktop

Catalyst Center MCP を使用する Claude Desktop

VScode での使用方法

  1. この 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 環境変数を設定することをおすすめします。
  1. VSCode を再起動します

次の方法も使用できます

  • コマンドパレットを開きます:macOS の Visual Studio Code では Command + Shift + P、Windows および Linux では Ctrl + Shift + P を押します
  • Developer: Reload Window を実行します
  1. チャットウィンドウで操作します:
  • 「Cisco Catalyst Center のデバイスを表示して」のような質問をします
  • VSCode は MCP サーバーを使用して認証し、デバイス情報を取得します

Catalyst Center MCP を使用する VSCode

質問の例

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:指定したフィルターに一致するクライアントの合計数を取得します。

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。