Skip to main content
Glama

afc-mcp

Aruba Fabric Composer(AFC)向けの MCP サーバー。インベントリ情報、ネットワークの状態、VMware vCenter/vSphere の可視性に重点を置いています。読み取り専用です。

含まれるもの

  • server.py: FastMCP のエントリポイントで、MCP ツールを公開します(トランスポート: streamable-http)。

  • afc_client.py: AFC の API クライアント。認証トークンの処理と、読み取り専用エンドポイントのマッピングを扱います。

  • Dockerfile: MCP サーバー用のコンテナイメージ。

  • docker-compose.yml: ローカル実行用(ホストのポート 8010 → コンテナの 8000)。

  • .env.example: 環境変数のテンプレート。

Related MCP server: Cisco RIS MCP Server

クイックスタート

  1. 環境ファイルを作成する:

cp .env.example .env
  1. 最低限、以下を設定する:

  • AFC_BASE_URL(ホストのルート。/api を含めない。例: https://localhost:8080

  • AFC_USERNAME

  • AFC_PASSWORD

  • AFC_VERIFY_SSL(オプション、デフォルト false

  • AFC_TIMEOUT(オプション、デフォルト 30

  1. ビルドして実行する:

docker compose up --build -d
  1. ログを確認する:

docker compose logs -f

エンドポイント

このサーバーは streamable-HTTP 上で MCP を提供します:

URL:  http://<docker-host>:8010/mcp

デフォルトではエンドポイントはオープンです。Bearer トークン認証を有効にすると、 有効なトークンを持つクライアントだけがツールを呼び出せます(下記参照)。

認証(Bearerトークン)

認証は オプションで、デフォルトでは無効 です(後方互換性のため)。 有効にすると、すべての MCP リクエストは Authorization: Bearer <token> ヘッダーを 持つ必要があります。有効なトークンのないリクエストは 401 で拒否されます。

トークンには 名前 があり(クライアントごとに 1 つ)、secrets/.tokens に保存されます (git で無視され、コンテナには読み書き可能でマウントされます)。

  1. 最初のトークンを作成する(ホスト上またはコンテナ内で実行):

# on the host (stdlib only, no dependencies needed)
cd afc-mcp
python afc_token_manager.py generate --name "vscode-dev" --description "Laptop VSCode"

# ...or inside the running container
docker compose exec afc-mcp python afc_token_manager.py generate --name "vscode-dev"

このコマンドはプレーンテキストのトークンを 1 回だけ 表示します。今すぐコピーしてください。

  1. 認証を有効にして、サーバーを(再)起動する:

# in .env or the shell environment
AFC_AUTH_ENABLED=true

docker compose up -d --build

セーフティーネット:AFC_AUTH_ENABLED=true なのにトークンがまだ存在しない場合、 サーバーは LOCKED モードで起動し、トークンが作成されてコンテナが再起動されるまで すべてのリクエストを拒否します(503)。これにより、オープンなエンドポイントが 誤って公開されるのを防ぎます。

CLI でトークンを管理します:

python afc_token_manager.py list                 # masked preview
python afc_token_manager.py show --name vscode-dev  # reveal a value
python afc_token_manager.py revoke --name vscode-dev

トークンの失効や追加を反映するには、コンテナの再起動が必要です。

注:MCP_HOST / MCP_PORT は、コンテナ内でサーバーが どこで待ち受けるか だけを 制御します(0.0.0.0:8000 をホストの 8010 にマッピング)。これらは認証とは 無関係です。つまり、どこで 待ち受けるかを示すのであって、誰が 呼び出せるかを 示すものではありません。

VS Code との連携

VS Code(GitHub Copilot / エージェントモード)は、mcp.json ファイルから MCP サーバーを検出します。

  1. ワークスペースに .vscode/mcp.json を作成する(またはユーザー設定の mcp.json に追加する):

{
  "servers": {
    "afc-mcp": {
      "type": "http",
      "url": "http://localhost:8010/mcp"
    }
  }
}

コンテナが別のホストで動いている場合は、localhost を Docker ホストのアドレスに置き換えてください。

認証を有効にしている場合は、Bearer トークンをヘッダーとして追加してください:

{
  "servers": {
    "afc-mcp": {
      "type": "http",
      "url": "http://localhost:8010/mcp",
      "headers": { "Authorization": "Bearer afc_xxxxxxxx" }
    }
  }
}
  1. コマンドパレット → MCP: List Servers を開き、afc-mcp を選択して起動します。

  2. チャットビュー(Agent モード)では、ツールピッカーに AFC ツールが表示されます。

Claude Desktop への統合

Claude Desktop は、デフォルトではローカル(stdio)サーバーに接続します。この streamable-HTTP サーバーに到達するには、mcp-remote でブリッジしてください。

claude_desktop_config.json を編集します:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "afc-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8010/mcp"]
    }
  }
}

Claude Desktop を再起動すると、afc-mcp がツールメニューに表示されます。

別の方法として、最近の Claude Desktop ビルドでは、Settings → Connectors → Add custom connector から 同じ URL でリモート MCP サーバーを直接サポートしています。

利用可能な MCP ツール

サーバーとシステム

  • get_server_status — MCP サーバーの到達可能性 / ヘルスチェック。

  • get_system_info — AFC のシステム情報。

スイッチとファブリック

  • list_switches, get_switch — スイッチの一覧とスイッチごとの詳細(ポート、ソフトウェア、タグ)。

  • list_fabrics, get_fabric — ファブリックの一覧とメンバー。

ルーティングとオーバーレイ

  • list_vrfs, get_vrf — VRF の一覧と詳細。

  • get_vrf_routes — VRF の IP ルーティングテーブル(RIB)。ネクストホップの検索にも対応。VRF とスイッチを 名前または UUID で指定できます。destination(ホスト IP または CIDR)を指定すると、最長一致で該当するルートとネクストホップを返します。

  • get_vrf_arp — スイッチで学習した VRF の ARP テーブル(IP と MAC の対応)。VRF とスイッチを 名前または UUID で指定します。switch を渡すと、テーブルを 1 台のスイッチに絞り込めます。各エントリには IP/MAC、インターフェイス、物理ポート、保有スイッチ、ネイバーの到達状態(reachable、stale、incomplete、…)が含まれます。

  • get_vrf_ip_interfaces — VRF の L3(IP)インターフェース。VRF とスイッチを 名前または UUID で指定します。if_typerouted, vlan, loopback, evpn)でフィルタできます。include_status(デフォルト)を指定すると、設定に加えて運用状態(admin up/down、MAC、IP MTU、デュプレックス、IPv4 アドレス)を返します。

  • get_vrf_static_routes — VRF に設定された IP スタティックルート(宛先プレフィックス、ネクストホップまたは nullroute/discard、ネクストホップインターフェース、distance、tag、type、適用先スイッチ)。VRF とスイッチを 名前または UUID で指定できます。

  • get_vrf_bgp_status, get_vrf_bgp_summary — VRF ごとの BGP の状態とサマリー。

  • get_vrf_ospf_neighbors, get_vrf_ospf_summary — VRF ごとの OSPF ネイバーとサマリー。

  • list_evpn, list_evpn_routes — EVPN インスタンスとルート。

  • get_vrf_virtual_environment — VRF にバインドされた仮想環境。

サイトと概要

  • list_afc_sites, get_afc_site_inventory — AFC(リモート)サイトとそのインベントリ。

  • get_network_overview — 集約されたネットワーク状態のスナップショット。

ヘルス

  • list_health_alerts — 現在の AFC ヘルスアラート。

  • run_health_check — 集約ヘルスチェック(アラート、スイッチ/ファブリックのヘルス、BGP/OSPF の ネイバー状態、オプションで HA とライセンスの状態)。

インテグレーションと VMware vCenter/vSphere

  • list_integrations — すべてのインテグレーションパック、そのリモートサーバー、接続状態。

  • list_vmware_integrations — vSphere のみ:構成済みの vCenter ごとに 1 エントリ。サーバーアドレス、接続状態、障害メッセージを含みます。

  • get_vmware_inventory — VMware ホストを 場所(vCenter、データセンター、クラスタ、 ドメイン)と ステータス(物理 NIC の状態、VM の電源別内訳)で返し、vSwitch、 ポートグループ、VM も含みます。ESXi ホスト名でのフィルタも可能です。

  • list_vmware_vms — フラットな VM インベントリ。電源状態配置場所(ESXi ホスト、 クラスタ、データセンター、vCenter)、IP、タグを含みます。フィルタは power_statehost_name が使えます。

  • get_vm_attachment — VM のエンドツーエンドのネットワーク接続(vNIC → ポートグループ → vSwitch → ホスト アップリンク → 物理スイッチ/ポート)を追跡します。

メモ

  • AFC_BASE_URL はホストのルートであり、/api を含めない でください。クライアントが自動的に /api プレフィックスを付加します。

  • API 認証は POST /api/auth/tokenX-Auth-UsernameX-Auth-Password ヘッダーで行います。トークンは再利用され、401 が返ると自動的に更新されます。

  • vSphere パックはホストごとの電源/ヘルスのフィールドを提供しません。ホスト状態は物理 NIC の状態と VM の電源数から導出されます。vcenter は vSphere インスタンスの UUID です。

  • 読み取り専用専用です。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.
    5
    14
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for searching and aggregating logs from VMware Aria Operations for Logs (formerly vRealize Log Insight). Enables querying log events, aggregating with spike detection, and retrieving alert information.
    7
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only access to managed network devices over SSH or Telnet via MCP, allowing users to probe devices, retrieve redacted running or startup configs, gather facts and interfaces, back up multiple devices, and compare configs for drift or unsaved changes.

View all related MCP servers

Related MCP Connectors

  • XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/legalla/hpe-afc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server