Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Governed Cisco Meraki + ACI fabric ops: uplink RCA, ACI endpoint trace; 37 tools with audit/undo.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"fabric-aiops": {
"command": "uvx",
"args": [
"fabric-aiops"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add fabric-aiops -- uvx fabric-aiopsPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"fabric-aiops": {
"command": "uvx",
"args": [
"fabric-aiops"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"fabric-aiops": {
"type": "stdio",
"command": "uvx",
"args": [
"fabric-aiops"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub AIops-tools, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.15.0) llegó al registro hace 8 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Agent Data Tools: Utilities
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Audit availability: Real writes require a committed
pendingaudit 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.
Three flagship signature analyses, plus the guarded reads and writes around them:
fabric-aiops ...): init, overview, org, network, device, client, health, aci, remediate, secret, doctor, mcp.fabric-aiops mcp or fabric-aiops-mcp): 37 tools (28 read, 9 write), every one wrapped with the bundled @governed_tool harness.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).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.--dry-run and requires double confirmation; every write MCP tool takes a dry_run preview.| Domain | Tools | Count | R/W |
|---|---|---|---|
| Overview | overview | 1 | read |
| Organizations | org_list, org_get, org_licensing, org_admins, org_device_statuses, org_api_requests | 6 | read |
| Networks | network_list, network_get, network_vlans, network_alerts, network_traffic | 5 | read |
| Devices | device_inventory, device_status, device_uplinks, switch_ports, wireless_ssids | 5 | read |
| Clients | client_list, client_get, client_usage, client_connectivity | 4 | read |
| Health (flagship) | uplink_loss_and_latency_rca, network_health_score, config_template_drift | 3 | read |
| Cisco ACI (APIC only) | aci_endpoint_trace, aci_epg_segment, aci_faults_list | 3 | read |
| Remediation | reboot_device, claim_devices_into_network, remove_device_from_network, bind_network_to_template, unbind_network_from_template | 5 | write (high) |
update_device, update_network_vlan | 2 | write (medium) | |
blink_device_leds | 1 | write (low) | |
| Undo | undo_list | 1 | read |
undo_apply | 1 | write (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.
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 operation | meraki | catalyst | cvp | unifi |
|---|---|---|---|---|
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.
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:
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.tDn), so cross-tenant links into common are followed; a relation that is not formed is a finding with its state.delegated record mirrors a fault on another object. A cleared fault keeps the description it had when raised.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.
| Platform | platform: | Secret stored (encrypted) | Auth on the wire | Base URL |
|---|---|---|---|---|
| Cisco Meraki Dashboard | meraki | API 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 Center | catalyst | username: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 401 | required, e.g. https:// |
| Arista CloudVision Portal | cvp | service-account token (Settings → Access Control → Service Accounts) | Authorization: Bearer | required, e.g. https:// |
| Cisco ACI (APIC) | aci | username: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
Solo se muestra el principio; lee el resto en el repo