afc-mcp
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
クイックスタート
環境ファイルを作成する:
cp .env.example .env最低限、以下を設定する:
AFC_BASE_URL(ホストのルート。/apiを含めない。例:https://localhost:8080)AFC_USERNAMEAFC_PASSWORDAFC_VERIFY_SSL(オプション、デフォルトfalse)AFC_TIMEOUT(オプション、デフォルト30)
ビルドして実行する:
docker compose up --build -dログを確認する:
docker compose logs -fエンドポイント
このサーバーは streamable-HTTP 上で MCP を提供します:
URL: http://<docker-host>:8010/mcpデフォルトではエンドポイントはオープンです。Bearer トークン認証を有効にすると、 有効なトークンを持つクライアントだけがツールを呼び出せます(下記参照)。
認証(Bearerトークン)
認証は オプションで、デフォルトでは無効 です(後方互換性のため)。
有効にすると、すべての MCP リクエストは Authorization: Bearer <token> ヘッダーを
持つ必要があります。有効なトークンのないリクエストは 401 で拒否されます。
トークンには 名前 があり(クライアントごとに 1 つ)、secrets/.tokens に保存されます
(git で無視され、コンテナには読み書き可能でマウントされます)。
最初のトークンを作成する(ホスト上またはコンテナ内で実行):
# 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 回だけ 表示します。今すぐコピーしてください。
認証を有効にして、サーバーを(再)起動する:
# 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 サーバーを検出します。
ワークスペースに
.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" } } } }
コマンドパレット → MCP: List Servers を開き、
afc-mcpを選択して起動します。チャットビュー(Agent モード)では、ツールピッカーに AFC ツールが表示されます。
Claude Desktop への統合
Claude Desktop は、デフォルトではローカル(stdio)サーバーに接続します。この
streamable-HTTP サーバーに到達するには、mcp-remote でブリッジしてください。
claude_desktop_config.json を編集します:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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_type(routed,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_state、host_nameが使えます。get_vm_attachment— VM のエンドツーエンドのネットワーク接続(vNIC → ポートグループ → vSwitch → ホスト アップリンク → 物理スイッチ/ポート)を追跡します。
メモ
AFC_BASE_URLはホストのルートであり、/apiを含めない でください。クライアントが自動的に/apiプレフィックスを付加します。API 認証は
POST /api/auth/tokenをX-Auth-UsernameとX-Auth-Passwordヘッダーで行います。トークンは再利用され、401が返ると自動的に更新されます。vSphere パックはホストごとの電源/ヘルスのフィールドを提供しません。ホスト状態は物理 NIC の状態と VM の電源数から導出されます。
vcenterは vSphere インスタンスの UUID です。読み取り専用専用です。
This server cannot be installed
Maintenance
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
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.5141MIT- AlicenseNot gradedqualityBmaintenanceEnables querying Cisco CUCM Real-time Information Service and Performance Monitor data through MCP tools for device status, CTI connections, counter monitoring, and cluster health.28MIT
- AlicenseAqualityAmaintenanceRead-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.7MIT
- FlicenseNot gradedqualityCmaintenanceEnables 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.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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