Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Fabric AIops

by AIops-toolsversion 0.15.0i★ –iRuns on your computer
Registry nameio.github.AIops-tools/fabric-aiops

Install

Overview

Description from the maker (original English)

Governed Cisco Meraki + ACI fabric ops: uplink RCA, ACI endpoint trace; 37 tools with audit/undo.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "fabric-aiops": {
      "command": "uvx",
      "args": [
        "fabric-aiops"
      ]
    }
  }
}

Run this in your terminal

claude mcp add fabric-aiops -- uvx fabric-aiops

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "fabric-aiops": {
      "command": "uvx",
      "args": [
        "fabric-aiops"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "fabric-aiops": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "fabric-aiops"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account AIops-tools, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18329 servers in this category
  • Published to the registry more recently than 82% of the other 18329 servers in this category
  • Basic checks equal to or better than 100% of the other 18329 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Fabric AIops safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.15.0) reached the registry 8 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Excaliself

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Excaliself

by maciekzygmunt

Find, read, create, edit, and organize Excalidraw drawings in your self-hosted Excaliself instance.

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Fabric AIops

Audit availability: Real writes require a committed pending audit row and stop before contacting the platform if storage is unavailable. Reads and previews may continue with a warning; new audit rows store outcome summaries rather than full responses.

Disclaimer: Community-maintained open-source project. Not affiliated with, endorsed by, or sponsored by Cisco, Meraki, Arista, Ubiquiti, or any network-controller vendor. "Cisco", "Meraki", "Catalyst", "DNA Center", "Arista", "CloudVision", "Ubiquiti", "UniFi", "ACI", "APIC" and all product/trademark names belong to their respective owners. MIT licensed.

Governed AI-ops for network fabrics managed through a controller — the Cisco Meraki Dashboard API (the reference platform, full read + write), Cisco Catalyst Center (formerly DNA Center; read subset), Arista CloudVision Portal (CVP) (read subset), and UniFi Network (self-hosted controller or UniFi OS console; read subset + device restart), plus read-only Cisco ACI (APIC) endpoint path reconstruction and faults — with a built-in governance harness: unified audit log, token/runaway budget guard, undo-token recording, and descriptive risk tiers. Multi-platform by construction: a registry keyed by platform maps every *canonical operation* onto each controller's REST API (path templates + response adapters), so adding a controller is a registry entry, never new ops/CLI/MCP surface. An operation a platform doesn't map returns a clear teaching error ("not supported on X yet — open an issue"), never a silent no-op. No platform has yet been exercised against a live controller by this tool; the ACI reads are the one part built from real controller responses (anonymized APIC payloads a production user supplied) — see docs/VERIFICATION.md.

What it does

Three flagship signature analyses, plus the guarded reads and writes around them:

  • Uplink loss & latency RCA — pull MX WAN uplink loss + latency across an org, rank the worst uplinks by a composite of average loss and latency, and map each degraded uplink to a likely cause + recommended action. Every ranking carries its numbers, not a black-box verdict.
  • Network health score — a composite 0-100 score per network from device online %, uplink health %, and an alert-severity penalty (weighted 0.5/0.3/0.2), with every component returned so the number is explainable.
  • Config template drift — for networks bound to a config template, list the settings that have drifted from the template (expected vs actual).

What works

  • CLI (fabric-aiops ...): init, overview, org, network, device, client, health, aci, remediate, secret, doctor, mcp.
  • MCP server (fabric-aiops mcp or fabric-aiops-mcp): 37 tools (28 read, 9 write), every one wrapped with the bundled @governed_tool harness.
  • Encrypted credentials: the controller secret (Meraki API key / Catalyst Center or APIC username:password / CVP service-account token / UniFi API key) lives in an encrypted store ~/.fabric-aiops/secrets.enc (Fernet + scrypt) — never plaintext on disk. Unlock with a master password from FABRIC_AIOPS_MASTER_PASSWORD (MCP/CI) or an interactive prompt (CLI).
  • Reversibility: mutating writes fetch the real before-state first and record a faithful inverse (update_device/update_network_vlan restore prior values; claim↔remove; bind↔unbind/rebind). Irreversible ops (reboot_device, blink_device_leds) record the prior state for audit but declare no undo.
  • Safety: every state-changing CLI op supports --dry-run and requires double confirmation; every write MCP tool takes a dry_run preview.

Capability matrix (37 MCP tools)

DomainToolsCountR/W
Overviewoverview1read
Organizationsorg_list, org_get, org_licensing, org_admins, org_device_statuses, org_api_requests6read
Networksnetwork_list, network_get, network_vlans, network_alerts, network_traffic5read
Devicesdevice_inventory, device_status, device_uplinks, switch_ports, wireless_ssids5read
Clientsclient_list, client_get, client_usage, client_connectivity4read
Health (flagship)uplink_loss_and_latency_rca, network_health_score, config_template_drift3read
Cisco ACI (APIC only)aci_endpoint_trace, aci_epg_segment, aci_faults_list3read
Remediationreboot_device, claim_devices_into_network, remove_device_from_network, bind_network_to_template, unbind_network_from_template5write (high)
update_device, update_network_vlan2write (medium)
blink_device_leds1write (low)
Undoundo_list1read
undo_apply1write (medium)

network_health_score and config_template_drift are injected-only (they score data you already hold); uplink_loss_and_latency_rca accepts injected records for offline analysis or pulls live from a configured target. Device models carry a product-type prefix: MX appliance, MS switch, MR wireless AP, MV camera, MG cellular gateway.

Platform support matrix

One tool, five controller platforms. For the four in the table below the ops/CLI/MCP surface is identical everywhere; each platform maps the canonical operations it supports and raises a teaching error for the rest ("not supported on yet — open an issue or PR"). ACI maps none of these — see Cisco ACI below.

Canonical operationmerakicatalystcvpunifi
overview (org/site/container rollup)✅✅✅✅
org_list / org_get✅✅ sites✅ containers✅ sites (list; get ❌)
org_licensing, org_api_requests✅❌❌❌
org_admins✅❌✅ users❌
org_device_statuses✅✅ device-health✅ inventory + streaming status✅ stat/device (state, uptime, firmware)
network_list / network_get✅✅ site-health / site✅ containers✅ sites / stat/health (subsystem rollup)
network_vlans, network_traffic✅❌❌❌
network_alerts✅✅ issues (P1→critical, P2→warning)✅ events✅ alarms (*_Lost_Contact→critical)
device_inventory, device_status✅✅ network-device✅ inventory (+ complianceCode drift signal)✅ stat/device (id = device MAC)
device_uplinks✅❌❌❌
switch_ports✅✅ interface stats (pass the device uuid)❌✅ device port_table (pass the device MAC)
wireless_ssids✅❌❌❌
client_list / client_get✅✅ client-health (aggregate) / client-detail (by MAC)❌✅ stat/sta (connected) / stat/user (by MAC)
client_usage, client_connectivity✅❌❌❌
uplink_loss_and_latency_rca (live pull)✅❌ (injected records still work)❌ (injected records still work)❌ (injected records still work)
network_health_score, config_template_drift (injected-only)✅✅✅✅
reboot_device✅❌ teaching error❌ teaching error✅ cmd/devmgr restart-device
The other 7 writes (blink/update/claim/remove/bind/unbind/VLAN)✅❌ teaching error❌ teaching error❌ teaching error

Concept mapping: canonical *organizations/networks* are Catalyst Center sites, CVP containers, and UniFi sites (the canonical id is the site's short name — the /api/s/{site}/ path segment); all have one global tree, so the org scope does not filter their lists. On unifi, device-scoped calls (device get / switch_ports / reboot) fill the site from the target's default org_id — set it in config.yaml (or the init wizard). Writes are Meraki-only except UniFi device restart — Catalyst Center and CVP change models (task/configlet workflows) don't map cleanly onto these canonical writes, so each write fails fast with a teaching error *before* any controller call (never a silent no-op). CVP config-drift surfaces through device_inventory (complianceCode/complianceIndication per device) and network_alerts (events); configlet-content retrieval and deep pagination on catalyst/cvp/unifi are known deferrals.

Cisco ACI (APIC)

ACI has two axes — tenant → VRF → bridge domain → EPG, and pod → node → interface — and neither is an organization → network → device tree. Rather than make every network_id mean something different per call, an aci target answers the canonical tools with a teaching error and gets three read-only ACI-native tools that take ACI references (MAC/IP, tenant/app/EPG names, DNs):

Tool (CLI)What it answers
aci_endpoint_trace (aci trace --mac/--ip)Where is this endpoint and what carries it: attachment (pod / leaf / interface or vPC) → EPG → bridge domain → VRF → the EPG's contracts → filter entries, plus faults whose DN names the EPG or the attachment interface
aci_epg_segment (aci segment TENANT APP EPG)The same EPG → BD → VRF → contracts chain from an EPG name
aci_faults_list (aci faults)Fabric faults, worst severity first

How to read them:

  • A static reconstruction, not a reachability test. staticPathResolved: true means the fabric is configured to carry the endpoint, not that traffic flows. Nothing is written to the APIC and no troubleshooting session is created.
  • Links follow the relation APIC resolved (tDn), so cross-tenant links into common are followed; a relation that is not formed is a finding with its state.
  • Related faults are candidates matched by DN (the EPG, the attachment interface, the leaf's deployed copy of the EPG's policy) — proximity, not cause.
  • Fault rows are records, not incidents: a delegated record mirrors a fault on another object. A cleared fault keeps the description it had when raised.
  • Not evaluated (listed in every result as notChecked): vzAny contracts, taboo contracts, imported contract interfaces, preferred-group peers, service graphs / L3Out.

Leaf/spine inventory and interface state (fabricNode, topSystem, l1PhysIf) are not in this release — they will be built once real responses for those classes are available, as the ones above were.

Per-platform auth
Platformplatform:Secret stored (encrypted)Auth on the wireBase URL
Cisco Meraki DashboardmerakiAPI key (Dashboard → Organization → Settings → API access)Authorization: Bearer (or auth_style: meraki-key → X-Cisco-Meraki-API-Key)default https://api.meraki.com/api/v1
Cisco Catalyst Centercatalystusername:password (one string)exchanged via POST /dna/system/api/v1/auth/token (HTTP Basic) for a ~1 h X-Auth-Token, auto-refreshed once on a 401required, e.g. https://
Arista CloudVision Portalcvpservice-account token (Settings → Access Control → Service Accounts)Authorization: Bearerrequired, e.g. https://
Cisco ACI (APIC)aciusername:password (one string; a read-only role is enough — every ACI read is a GET, only the login is a POST)POST /api/aaaLogin.json opens a session carried as a cookie; extended via /api/aaaRefresh.json at half its lifetime; one fresh login on a 401/403 (APIC reports an expired session as 403)required, e.g. https://

| UniFi Network | unifi | API key (UniFi OS: Settings → Control Plane → Integrations; self-hosted Network Server 9.0+) | X-API-KEY (stateless; legacy cookie login is a known deferral) | required — classic controller https:// :8443, or UniFi OS console `https:// /proxy/net

Only the beginning is shown; read the rest in the repo

Ask PopNx