VMware AVI
VMware AVI (NSX ALB) load balancer plus AKO Kubernetes ops — 28 MCP tools.
Connector by vmware-skills · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/vmware-skills-vmware-avi
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 22 read · 2 write · 4 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 28
Read from the source code; the running server may list different tools.
Read 22 · Look things up without changing anything.
check_ako_ingresscheck_ssl_cert_expirydiagnose_ako_ingressdiff_ako_configdiff_ako_syncget_ako_amko_statusget_ako_configget_ako_logsget_ako_statusget_ako_sync_statusget_ako_versionget_service_engine_health
Show 10 more tools
get_virtual_service_analyticsget_virtual_service_error_logsget_virtual_service_statuslist_ako_clusterslist_ako_ingresseslist_lb_pool_memberslist_lb_poolslist_service_engineslist_ssl_certslist_virtual_services
Write 2 · Create, change, send or run things.
enable_lb_pool_memberupgrade_ako_config
Delete 4 · Delete, drop, revoke or wipe things.
disable_lb_pool_memberforce_ako_syncrestart_akoset_virtual_service_enabled
Secrets and settings it asks for
Other settings (environment variables or headers).
VMWARE_AVI_CONFIG
Network hosts it talks to 2
anthropic.com· found in codegithub.com· found in code
Files it touches
~/.kube/config~/.vmware-avi/.env- Your home directory (~)
Tools (28)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
check_ako_ingressread-only[READ] Validate every Ingress in one namespace: IngressClass and TLS secret references that would stop AKO creating a Virtual Service. Returns name, IngressClass, issues and OK/ISSUES per Ingress. Run list_ako_ingresses first for namespace names; use diagnose_ako_ingress instead for one named Ingress. Covers one namespace only, and TLS checks are skipped when its secrets cannot be listed. Args: namespace: K8s namespace to check. context: K8s context name (optional).
check_ssl_cert_expiryread-only[READ] Check which SSL certificates expire within N days (default 30). Returns name, expiry date and days remaining, soonest first. Use this instead of list_ssl_certs when you only want certificates near expiry. Expired certs are included, with negative days remaining. Certificates whose expiry could not be read are counted and named separately — they are unknown, not "not expiring". Args: days: Report certs expiring within this many days (default 30).
diagnose_ako_ingressread-only[READ] Diagnose why one Ingress has no corresponding AVI Virtual Service. Validates IngressClass ('avi'/'avi-lb'), TLS secrets and backend Services. Returns annotations, a numbered issue list and kubectl fixes. "Not found"/"missing" is reported only for a 404; any other error reading the Ingress, a TLS secret or a backend Service says it could not be read (with the HTTP status). Use list_ako_ingresses first to find Ingresses lacking a VS. Checks configuration only; when it is clean, try get_ako_logs and get_ako_sync_status. Args: name: Exact Ingress resource name. namespace: Namespac…
diff_ako_configread-only[READ] Pending Helm value changes that have not been applied yet. Returns helm's diff output; empty means nothing would change. Credential values in it read `<redacted>` — that is this skill blanking them, not the configured value. Use this before upgrade_ako_config — it runs the same command, so the preview is real. Note: with chart_version empty the registry's moving latest is resolved, so two runs can differ with no local change; read get_ako_version and pass it to both. Args: chart_version: Pin the chart, e.g. "1.11.1". Empty = registry latest.
diff_ako_syncread-only[READ] List Ingresses with no matching Virtual Service or pool on the Controller. Returns Type, namespace/name and Status per suspect Ingress. Use when get_ako_sync_status reports a mismatch; force_ako_sync reconciles. Shard-mode Ingresses are matched heuristically against AKO pool names, so confirm a 'Missing' result with list_lb_pools before acting. Args: context: K8s context name (optional).
disable_lb_pool_membercan change or delete data[WRITE] Disable a pool member with graceful drain — existing connections complete, no new traffic. Without confirm=True this only previews: it returns blast_radius (pool name and uuid, the member's IP/port/state, and how many members are enabled before and after) and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet. An already disabled member returns action "noop". Refused with confirm=True: the pool's only enabled member (the pool would serve nothing — enable ano…
enable_lb_pool_member[WRITE] Enable a pool member so it receives traffic again. Returns a one-line confirmation. Use list_lb_pool_members first to verify the server IP. The server must already belong to the pool — this adds nothing. Args: pool: Exact pool name as shown by list_lb_pools — matched literally, not fuzzily, and an unknown name is refused rather than ignored. Pools are often named differently from the Virtual Services that use them, so do not infer it from a VS name. server: Server IP address.
force_ako_synccan change or delete data[WRITE] Force AKO to resync all K8s resources with the AVI Controller. The resync restarts the AKO pod so it rebuilds every Virtual Service, pool and VS-VIP from the cluster's current resources. Without confirm=True this only previews: it returns blast_radius (context, namespace, the pod's name, uid and phase, and the Ingresses it re-programs) and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet. Refused with confirm=True: a pod already terminating, and a pod or I…
get_ako_amko_statusread-only[READ] AMKO (AVI Multi-Cluster Kubernetes Operator) GSLB status. Returns raw kubectl output: the AMKO pods in avi-system, then the GSLBConfig YAML if one exists. 'AMKO not deployed' means kubectl answered and found no AMKO pods; if kubectl cannot read the cluster the call fails with its reason. A GSLBConfig that cannot be read is reported, not skipped. Use this only for multi-cluster GSLB questions — for single-cluster AKO health use get_ako_status instead. Always reads the current kubectl context; see list_ako_clusters.
get_ako_configread-only[READ] The AKO Helm release's values — controller IP, cloud name, network settings, feature flags. Returns YAML as helm reports it. Use this first to read the live config; use diff_ako_config instead to see what an upgrade would change. Only values supplied at install time appear; chart defaults do not.
get_ako_logsread-only[READ] AKO pod logs — Ingress creation failures, sync errors, Controller connectivity. Returns raw log text, not a table. Use when get_ako_status shows the pod unhealthy or diff_ako_sync reports a missing Ingress. Only the running container's logs are returned. Args: tail: Number of log lines (default 100). since: Narrows the window, e.g. '30m', '1h'. context: K8s context (optional, uses current).
get_ako_statusread-only[READ] Check AKO (AVI Kubernetes Operator) pod status in Kubernetes. Returns pod name, phase, ready flag, restart count and namespace. First step for Ingress or LoadBalancer issues in Tanzu/K8s; follow with get_ako_logs when it is not Running. Looks in one context's AKO namespace only — run list_ako_clusters if not found. Args: context: K8s context name (optional, uses current context).
get_ako_sync_statusread-only[READ] Compare the number of K8s Ingresses with the number of AVI Virtual Services. Returns both counts and a match/mismatch verdict. Use this first as a cheap check, then diff_ako_sync for which objects differ. A count comparison only — in AKO shard mode many Ingresses share one VS, so a mismatch does not by itself mean trouble. Args: context: K8s context name (optional).
get_ako_versionread-only[READ] AKO version running in a cluster, read from the pod's image tag. Returns the pod name and an Image/Version pair per container. Use it to check compatibility with the Controller, and before diff_ako_config or upgrade_ako_config so both target the installed chart. The tag is the only source, so 'latest' reports 'latest', not a number. Args: context: K8s context name (optional).
get_service_engine_healthread-only[READ] Health of every Service Engine — operational status and VS counts. Returns name, operational state and the number of VSes placed on each SE. Use when VS health degrades to check if the issue is at the SE level; list_service_engines gives the management IP and SE Group, get_virtual_service_status the affected VS. An SE hosting no VS reports 0, not an error.
Show 13 more tools
get_virtual_service_analyticsread-only[READ] Performance metrics for one Virtual Service over the last hour. Returns L4 (bandwidth, connections) and L7 (latency, % errors, responses) averages over a fixed window that cannot be changed (12 samples, 5 min apart). Empty output means no traffic, not an error. Use when get_virtual_service_status shows degraded health; get_virtual_service_error_logs gives per-request detail. Args: vs_name: Exact Virtual Service name, case-sensitive, from list_virtual_services.
get_virtual_service_error_logsread-only[READ] Recent request error logs for one Virtual Service. Returns up to 50 lines — timestamp, HTTP status, URI path, client IP — for status 400 and above. Use this instead of get_virtual_service_analytics for per-request detail. An empty result may mean no errors, or capture disabled on the VS. Args: vs_name: Exact Virtual Service name, from list_virtual_services. since: Window — seconds or '30m', '1h', '2d' (default '1h').
get_virtual_service_statusread-only[READ] Detailed status for one Virtual Service: VIP, pool, health, connections, throughput. Returns one detail block, not a list. Use list_virtual_services first for the exact name — a name that does not match exactly fails. If the runtime read fails, the block says so (with the HTTP status) and health is UNKNOWN. Then get_virtual_service_analytics for metrics, get_virtual_service_error_logs for 5xx. Args: name: Exact Virtual Service name.
list_ako_clustersread-only[READ] List every Kubernetes context in the active kubeconfig and whether AKO is deployed there. Returns Context, AKO Status (pod phase, 'Not deployed' when kubectl answered with no AKO pods, or 'Unreachable'/'Unreadable' with kubectl's reason when it could not read the context — unknown, not absent) and Version per context. Fails when no context could be read. Requires kubectl on PATH; every context is probed, so unreachable clusters add latency. Start here for context names, then pass one to get_ako_status, get_ako_logs or diagnose_ako_ingress.
list_ako_ingressesread-only[READ] Inventory Kubernetes Ingresses across all namespaces. Returns Namespace, Ingress name, Host(s) and IngressClass per Ingress. Start here for namespace and Ingress names, then pass them to check_ako_ingress or diagnose_ako_ingress. Lists the K8s side only — use diff_ako_sync for Ingresses with no Controller object. Args: context: K8s context name (optional).
list_lb_pool_membersread-only[READ] List the members of a pool. Returns Server IP, Port, Enabled and Ratio per member. Use before enable_lb_pool_member or disable_lb_pool_member; run list_lb_pools first for the pool name. Reports configured state only, not live health-monitor results. Args: pool: Exact pool name as shown by list_lb_pools — matched literally, not fuzzily, and an unknown name is refused rather than ignored. Pools are often named differently from the Virtual Services that use them, so do not infer it from a VS name.
list_lb_poolsread-only[READ] Discover pools on the Controller. Returns Name, member count, Enabled and short UUID per pool. Use this before list_lb_pool_members: pools are often named differently from the VS that use them. Args: vs_filter: Substring matching VS names (e.g. 'web') — returns only the pools those VS reference. Omit for all pools.
list_service_enginesread-only[READ] List Service Engines (AVI data-plane VMs) on the Controller. Returns Name, management IP, status (e.g. OPER_UP) and SE Group per SE, in one call that cannot be paged or filtered. Use to inventory capacity or find an SE's name and IP — use get_service_engine_health instead for degraded VS health.
list_ssl_certsread-only[READ] List SSL/TLS certificates stored on the AVI Controller. Returns Name, Subject, Expiry and Type per certificate, in one call that cannot be paged or filtered. Use for inventory or a certificate's exact name — use check_ssl_cert_expiry instead for only the ones expiring soon.
list_virtual_servicesread-only[READ] List Virtual Services on the AVI Controller. Returns Name, Enabled, VIP and short UUID for every VS in one call; it cannot be paged or filtered, and carries no health score. Use this before drilling into one VS with get_virtual_service_status. Args: controller: Controller name from config (optional, uses default).
restart_akocan change or delete data[WRITE] Restart the AKO pod by deleting it — its StatefulSet recreates it. Without confirm=True this only previews: it returns blast_radius (context, namespace, the pod's name, uid, phase and restarts, and the Ingresses whose programming pauses until the new pod is Running) and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet. The pod deleted is the one measured (uid precondition). Refused with confirm=True: a pod already terminating, and a pod or Ingress list tha…
set_virtual_service_enabledcan change or delete data[WRITE] Enable or disable a Virtual Service. Disabling stops all traffic to it. Without confirm=True this only previews: it returns blast_radius (the VS name and uuid, whether it is enabled now, its VIPs and oper status, and the pools and member counts behind it) and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet. A VS already in the requested state returns action "noop". Refused with confirm=True: a VS whose uuid or pools cannot be read (the change would be bli…
upgrade_ako_config[WRITE] Apply an AKO Helm upgrade to the avi-system release. Finds the avi-system release automatically and upgrades the Broadcom OCI chart with --reuse-values. Without confirm=True this only previews: it returns blast_radius (release, the chart and app version it is on, revision and status, the chart it would move to) plus helm_dry_run, the output of `helm upgrade --dry-run`, and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet. Refused with confirm=True: a faili…
Compare and alternatives
Featured in
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Weekly downloads
- 283
- Last commit
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 16, 2026 (12 days ago)
- Last package publish
- Oct 16, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.vmware-skills/vmware-avi- Version
- 2.4.0
- Auth
- No auth
- Packages
- pypi vmware-avi
- License
- MIT
- Repository
- github.com/vmware-skills/VMware-AVI
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from vmware-skills
- 0.681score
VMware AIops
vmware-skills
AI-powered VMware vCenter/ESXi VM lifecycle and deployment with 61 MCP tools.
ConnectorAFreshness: ALocal★ 79↓ 731/wkClaude Code +5 - 0.668score
VMware Monitor
vmware-skills
Read-only VMware vCenter/ESXi monitoring, 33 MCP tools; vSphere calls allowlist-gated in tests.
ConnectorAFreshness: ALocalRead-only★ 15↓ 823/wkClaude Code +5 - 0.653score
VMware VKS
vmware-skills
vSphere with Tanzu (VKS): Namespace and TanzuKubernetesCluster lifecycle.
ConnectorAFreshness: ALocal★ 5↓ 519/wkClaude Code +5 - 0.652score
VMware Harden
vmware-skills
VMware compliance scanning (CIS, vSphere SCG, GB/T 22239, PCI-DSS) with drift detection.
ConnectorAFreshness: ALocalRead-only★ 4↓ 614/wkClaude Code +5 - 0.650score
VMware NSX
vmware-skills
VMware NSX networking management with 33 MCP tools: segments, gateways, NAT, routing, IPAM.
ConnectorAFreshness: ALocal★ 5↓ 377/wkClaude Code +5 - 0.649score
VMware Pilot
vmware-skills
Multi-step workflow orchestration for VMware MCP skills with approval gates and rollback.
ConnectorAFreshness: ALocal★ 4↓ 420/wkClaude Code +5
Cite this page
VMware AVI MCP server. Agent Mart. https://agentmart.dev/connectors/vmware-skills-vmware-avi (last updated 2026-10-24)