1. Conduid
  2. Developer Tools
  3. Aci MCP
MCP server · Developer Tools

Aci MCP

MCP server(s) for Aipolabs ACI.dev

Unclaimed Apache-2.0 last commit a year ago devtools
67Good

Scored 4 months ago · breakdown

About Aci MCP

Aci MCP is an MCP server published by automateyournetwork in the Developer Tools category: mCP server(s) for Aipolabs ACI.dev. It has been installed 0 times through Conduid.

The repository has 250 stars and 42 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx aci-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Aci MCP

Powered by Claude · Grounded in docs

I know everything about Aci MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

🚀 ACI FastMCP Server

A Model Context Protocol (MCP) server that provides full CRUD access to the Cisco ACI API via structured natural language tools. This server exposes all relevant ACI endpoints from a configurable urls.json file and dynamically builds tools for read (GET) and write (POST) operations.

Built on the FastMCP framework and fully compatible with LangGraph, Claude, ChatGPT, and VS Code Copilot for AI-assisted infrastructure operations.


🔧 Features

  • ✅ Token-based Cisco APIC authentication
  • ✅ Full support for GET and POST (CRUD-ready with optional PUT, DELETE)
  • ✅ Support for grouped and ungrouped ACI endpoints
  • ✅ Validates and auto-wraps APIC-compliant payloads
  • ✅ STDIO-compatible for use in Claude, VS Code, or LangGraph
  • ✅ Uses .env and structured logging
  • 🧠 Auto-discovers tool schema from JSON

📁 Folder Structure

ACI_MCP/
├── aci_mcp/
│   ├── main.py           # MCP server
│   └── urls.json         # Endpoints grouped by category
├── .env                  # Your secrets (APIC_URL, USERNAME, PASSWORD)
├── README.md             # This file
🧪 Environment Variables
Create a .env file in the root of your project:

env
Copy
Edit
APIC_URL=https://sandboxapicdc.cisco.com
USERNAME=admin
PASSWORD=!v3G@!4@Y
URLS_PATH=aci_mcp/urls.json
🚀 How to Run
🧑‍💻 In VS Code (Copilot / LangGraph):
Use the following JSON entry in your MCP client config:

json
Copy
Edit
"aci": {
  "type": "stdio",
  "command": "wsl",
  "args": [
    "env",
    "APIC_URL=https://sandboxapicdc.cisco.com",
    "USERNAME=admin",
    "PASSWORD=!v3G@!4@Y",
    "URLS_PATH=/home/johncapobianco/ACI_MCP/aci_mcp/urls.json",
    "python3",
    "/home/johncapobianco/ACI_MCP/aci_mcp/main.py"
  ]
}
This launches the MCP server inside WSL, using stdin/stdout for tool discovery and calling.

🤖 In Claude or any A2A-compatible agent:
Claude-compatible assistants can auto-discover tools using this STDIO-based server via Model Context Protocol.

📦 Tools Exposed
Grouped tools (e.g. BGP, L3, L2): one tool per group, with dynamic endpoint selection

Ungrouped tools: each endpoint gets its own:

GET tool (e.g. tenants_get)

POST tool (e.g. tenants_post)

🧠 Example Prompts
How many tenants are in my fabric?
Create a tenant named MCP_Tenant
Get all IP addresses
Show me BGP peers and Route Reflectors
Get the health status of the fabric
Post to /api/node/mo/uni/tn-NewTenant.json with status "created"

📄 Example POST Payload
json
Copy
Edit
{
  "fvTenant": {
    "attributes": {
      "name": "MCP_Tenant",
      "rn": "tn-MCP_Tenant",
      "status": "created"
    }
  }
}
Make sure you include "status": "created" and correct rn (e.g., tn-<name>) for APIC to accept the POST.

📘 Extending It
You can easily extend this server:

Add more groups to urls.json

[
  {
    "Group": "L3",
    "Endpoints": [
      {
        "URL": "/api/node/class/l3extOut.json",
        "Name": "Layer 3 Out"
      },
      {
        "URL": "/api/node/class/l3extDomP.json",
        "Name": "L3 Domains"
      },
      {
        "URL": "/api/node/class/ipv4Addr.json",
        "Name": "IPv4 Addresses"
      },
      {
        "URL": "/api/node/class/ipv4Dom.json",
        "Name": "IPv4 Domains"
      },
      {
        "URL": "/api/node/class/ipv4Entity.json",
        "Name": "IPv4 Entities"
      },
      {
        "URL": "/api/node/class/ipv4If.json",
        "Name": "IPv4 Interfaces"
      },
      {
        "URL": "/api/node/class/ipv4Inst.json",
        "Name": "IPv4 Instances"
      },
      {
        "URL": "/api/node/class/ipv4Nexthop.json",
        "Name": "IPv4 Next Hop"
      },
      {
        "URL": "/api/node/class/ipv4Route.json",
        "Name": "IPv4 Routes"
      },
      {
        "URL": "/api/node/class/isisAdjEp.json",
        "Name": "ISIS Adjacency Endpoints"
      },
      {
        "URL": "/api/node/class/isisDTEp.json",
        "Name": "ISIS Discovered Tunnel Endpoints"
      },
      {
        "URL": "/api/node/class/isisDom.json",
        "Name": "ISIS Domains"
      },
      {
        "URL": "/api/node/class/isisDomLvl.json",
        "Name": "ISIS Domains Level"
      },
      {
        "URL": "/api/node/class/isisEntity.json",
        "Name": "ISIS Entities"
      },
      {
        "URL": "/api/node/class/isisIf.json",
        "Name": "ISIS Interfaces"
      },
      {
        "URL": "/api/node/class/isisIfLvl.json",
        "Name": "ISIS Interfaces Level"
      },
      {
        "URL": "/api/node/class/isisInst.json",
        "Name": "ISIS Instances"
      },
      {
        "URL": "/api/node/class/isisNexthop.json",
        "Name": "ISIS Next Hop"
      },
      {
        "URL": "/api/node/class/isisRoute.json",
        "Name": "ISIS Routes"
      },
      {
        "URL": "/api/node/class/l3Ctx.json",
        "Name": "L3 Contexts"
      },
      {
        "URL": "/api/node/class/l3EncRtdIf.json",
        "Name": "L3 Subinterfaces"
      },
      {
        "URL": "/api/node/class/l3Inst.json",
        "Name": "L3 Instances"
      },
      {
        "URL": "/api/node/class/l3LbRtdIf.json",
        "Name": "L3 Routed Loopback Interfaces"
      },
      {
        "URL": "/api/node/class/l3RsEncPhysRtdConf.json",
        "Name": "L3 Physical Interface Source Relationships"
      },
      {
        "URL": "/api/node/class/l3RtdIf.json",
        "Name": "L3 Routed Interfaces"
      },
      {
        "URL": "/api/node/class/l3extInstP.json",
        "Name": "L3Out Profiles"
      },
      {
        "URL": "/api/node/class/l3extIp.json",
        "Name": "L3Out IP Addresses"
      },
      {
        "URL": "/api/node/class/l3extLIfP.json",
        "Name": "L3 Logical Interface Profiles"
      },
      {
        "URL": "/api/node/class/l3extLNodeP.json",
        "Name": "L3 Logical Node Profiles"
      },
      {
        "URL": "/api/node/class/l3extMember.json",
        "Name": "L3Out Members"
      },
      {
        "URL": "/api/node/class/l3extRsEctx.json",
        "Name": "L3 Contexts Source Relationships"
      },
      {
        "URL": "/api/node/class/l3extRsL3DomAtt.json",
        "Name": "L3 Domains Source Relationships"
      },
      {
        "URL": "/api/node/class/l3extRsNodeL3OutAtt.json",
        "Name": "L3Out Node Source Relationships"
      },
      {
        "URL": "/api/node/class/l3extRsPathL3OutAtt.json",
        "Name": "L3Out Path Source Relationships"
      },
      {
        "URL": "/api/node/class/l3extSubnet.json",
        "Name": "L3 Subnets"
      },
      {
        "URL": "/api/node/class/acllogDropL3Flow.json",
        "Name": "L3Drops"
      },
      {
        "URL": "/api/node/class/acllogDropL3Pkt.json",
        "Name": "L3PktDrops"
      },
      {
        "URL": "/api/node/class/ospfAdjEp.json",
        "Name": "OSPF Adjacency Endpoints"
      },
      {
        "URL": "/api/node/class/ospfArea.json",
        "Name": "OSPF Areas"
      },
      {
        "URL": "/api/node/class/ospfDb.json",
        "Name": "OSPF Database"
      },
      {
        "URL": "/api/node/class/ospfDom.json",
        "Name": "OSPF Domains"
      },
      {
        "URL": "/api/node/class/ospfEntity.json",
        "Name": "OSPF Entities"
      },
      {
        "URL": "/api/node/class/ospfExtP.json",
        "Name": "OSPF External Profiles"
      },
      {
        "URL": "/api/node/class/ospfIf.json",
        "Name": "OSPF Interfaces"
      },
      {
        "URL": "/api/node/class/ospfInst.json",
        "Name": "OSPF Instances"
      },
      {
        "URL": "/api/node/class/ospfRoute.json",
        "Name": "OSPF Routes"
      },
      {
        "URL": "/api/node/class/ospfUcNexthop.json",
        "Name": "OSPF Unicast Next Hop"
      },
      {
        "URL": "/api/node/class/uribv4Db.json",
        "Name": "Unicast Route Database"
      },
      {
        "URL": "/api/node/class/uribv4Dom.json",
        "Name": "Unicast Route Domains"
      },
      {
        "URL": "/api/node/class/uribv4Entity.json",
        "Name": "Unicast Route Entities"
      },
      {
        "URL": "/api/node/class/uribv4Nexthop.json",
        "Name": "Unicast Route Next Hop"
      },
      {
        "URL": "/api/node/class/uribv4Route.json",
        "Name": "Unicast Routes"
      }
    ]
  },
  {
    "Group": "L2",
    "Endpoints": [
      {
        "URL": "/api/node/class/l2extOut.json",
        "Name": "Layer 2 Out"
      },
      {
        "URL": "/api/node/class/fvnsEncapBlk.json",
        "Name": "VLAN Encapsulation Blocks"
      },
      {
        "URL": "/api/node/class/fvnsVlanInstP.json",
        "Name": "VLAN Namespace Policies"
      },
      {
        "URL": "/api/node/class/infraRsVlanNs.json",
        "Name": "VLAN Namespace Source Relationships"
      },
      {
        "URL": "/api/node/class/l2BD.json",
        "Name": "L2 Bridge Domains"
      },
      {
        "URL": "/api/node/class/l2ExtIf.json",
        "Name": "L2 External Interfaces"
      },
      {
        "URL": "/api/node/class/l2RsEthIf.json",
        "Name": "L2 Interface Source Relationships"
      },
      {
        "URL": "/api/node/class/l2extInstP.json",
        "Name": "L2 External Instance Profiles"
      },
      {
        "URL": "/api/node/class/l2extLIfP.json",
        "Name": "L2 External Logical Interface Profiles"
      },
      {
        "URL": "/api/node/class/l2extLNodeP.json",
        "Name": "L2 External Logical Node Profiles"
      },
      {
        "URL": "/api/node/class/l2extRsEBd.json",
        "Name": "L2 EPG Bridge Domain Source Relationships"
      },
      {
        "URL": "/api/node/class/l2extRsPathL2OutAtt.json",
        "Name": "L2Out Paths"
      },
      {
        "URL": "/api/node/class/vlanCktEp.json",
        "Name": "VLAN Endpoint Group Encapsulation"
      }
    ]
  },
  {
    "Group": "Fabric",
    "Endpoints": [
      {
        "URL": "/api/node/class/fabricNode.json",
        "Name": "Fabric Nodes"
      },
      {
        "URL": "/api/node/class/fabricPod.json",
        "Name": "Fabric Pods"
      },
      {
        "URL": "/api/node/class/fabricPath.json",
        "Name": "Fabric Paths"
      },
      {
        "URL": "/api/node/class/fabricExtPathEpCont.json",
        "Name": "Fabric Extended Path Endpoint Containers"
      },
      {
        "URL": "/api/node/class/fabricInst.json",
        "Name": "Fabric Instances"
      },
      {
        "URL": "/api/node/class/fabricLink.json",
        "Name": "Fabric Links"
      },
      {
        "URL": "/api/node/class/fabricLinkCont.json",
        "Name": "Fabric Link Containers"
      },
      {
        "URL": "/api/node/class/fabricLooseLink.json",
        "Name": "Fabric Loose Links"
      },
      {
        "URL": "/api/node/class/fabricLooseNode.json",
        "Name": "Fabric Loose Nodes"
      },
      {
        "URL": "/api/node/class/fabricPathEp.json",
        "Name": "Fabric Path Endpoints"
      },
      {
        "URL": "/api/node/class/fabricPathEpCont.json",
        "Name": "Fabric Path Endpoint Containers"
      },
      {
        "URL": "/api/node/class/fabricProtPathEpCont.json",
        "Name": "Fabric Protected Path Endpoint Containers"
      }
    ]
  },
  {
    "Group": "Access Policies",
    "Endpoints": [
      {
        "URL": "/api/node/class/infraSpineP.json",
        "Name": "Spine Switch Profiles"
      },
      {
        "URL": "/api/node/class/infraAccBndlGrp.json",
        "Name": "Access Bundle Groups"
      },
      {
        "URL": "/api/node/class/infraCont.json",
        "Name": "Controllers"
      },
      {
        "URL": "/api/node/class/infraFexP.json",
        "Name": "FEX Policies"
      },
      {
        "URL": "/api/node/class/infraRsAccBaseGrp.json",
        "Name": "Access Policy Group Source Relationships"
      },
      {
        "URL": "/api/node/class/infraRsDomP.json",
        "Name": "Domain Profile Source Relationships"
      }
    ]
  },
  {
    "Group": "Contracts",
    "Endpoints": [
      {
        "URL": "/api/node/class/vzBrCP.json",
        "Name": "Contracts"
      },
      {
        "URL": "/api/node/class/vzEntry.json",
        "Name": "vzEntries"
      },
      {
        "URL": "/api/node/class/vzSubj.json",
        "Name": "Contract Subjects"
      },
      {
        "URL": "/api/node/class/vzAny.json",
        "Name": "vzAny"
      },
      {
        "URL": "/api/node/class/vzFilter.json",
        "Name": "vzFilters"
      },
      {
        "URL": "/api/node/class/vzRsAnyToCons.json",
        "Name": "vzAny To Consumers"
      },
      {
        "URL": "/api/node/class/vzRsAnyToProv.json",
        "Name": "vzAny To Providers"
      },
      {
        "URL": "/api/node/class/vzRsDenyRule.json",
        "Name": "vzDeny Rules"
      },
      {
        "URL": "/api/node/class/vzRsSubjFiltAtt.json",
        "Name": "Contract Subjects Filter Attributes"
      },
      {
        "URL": "/api/node/class/vzRtCons.json",
        "Name": "Contract Consumers Root"
      },
      {
        "URL": "/api/node/class/vzRtProv.json",
        "Name": "Contract Providers Root"
      },
      {
        "URL": "/api/node/class/vzRuleOwner.json",
        "Name": "vzRule Owner"
      },
      {
        "URL": "/api/node/class/vzTaboo.json",
        "Name": "vzTaboo"
      }
    ]
  },
  {
    "Group": "BGP",
    "Endpoints": [
      {
        "URL": "/api/node/class/bgpRRNodePEp.json",
        "Name": "BGP Route Reflectors"
      },
      {
        "URL": "/api/node/class/bgpDom.json",
        "Name": "BGP Domains"
      },
      {
        "URL": "/api/node/class/bgpDomAf.json",
        "Name": "BGP Domain Address Families"
      },
      {
        "URL": "/api/node/class/bgpEntity.json",
        "Name": "BGP Entities"
      },
      {
        "URL": "/api/node/class/bgpInst.json",
        "Name": "BGP Instances"
      },
      {
        "URL": "/api/node/class/bgpInstPol.json",
        "Name": "BGP Instances Policy"
      },
      {
        "URL": "/api/node/class/bgpPeer.json",
        "Name": "BGP Peers"
      },
      {
        "URL": "/api/node/class/bgpPeerAfEntry.json",
        "Name": "BGP Peers AF Entries"
      },
      {
        "URL": "/api/node/class/bgpPeerEntry.json",
        "Name": "BGP Peers Entries"
      },
      {
        "URL": "/api/node/class/bgpRRP.json",
        "Name": "BGP Route Reflector Policies"
      }
    ]
  },
  {
    "Group": "Interfaces",
    "Endpoints": [
      {
        "URL": "/api/node/class/infraPortS.json",
        "Name": "Interface Policies"
      },
      {
        "URL": "/api/node/class/pkiFabricNodeSSLCertificate.json",
        "Name": "Fabric Node SSL Certificates"
      },
      {
        "URL": "/api/node/class/cnwAggrIf.json",
        "Name": "Cluster Aggregate Interfaces"
      },
      {
        "URL": "/api/node/class/cnwPhysIf.json",
        "Name": "Cluster Physical Interfaces"
      },
      {
        "URL": "/api/node/class/arpIf.json",
        "Name": "ARP Interfaces"
      },
      {
        "URL": "/api/node/class/cnwRsMbrIfs.json",
        "Name": ""
      },
      {
        "URL": "/api/node/class/eqptFabP.json",
        "Name": "Equipment Fabric Ports"
      },
      {
        "URL": "/api/node/class/eqptLeafP.json",
        "Name": "Equipment Leaf Ports"
      },
      {
        "URL": "/api/node/class/eqptLocLed.json",
        "Name": "Equipment Port Locator LEDs"
      },
      {
        "URL": "/api/node/class/eqptRsIoPPhysConf.json",
        "Name": "Equipment RS IO Port Physical Configs"
      },
      {
        "URL": "/api/node/class/ethpmPhysIf.json",
        "Name": "Ethernet Port Manager Physical Interfaces"
      },
      {
        "URL": "/api/node/class/fvRsConsIf.json",
        "Name": "Contract Consumer Interfaces"
      },
      {
        "URL": "/api/node/class/infraAccPortGrp.json",
        "Name": "Access Port Groups"
      },
      {
        "URL": "/api/node/class/infraAccPortP.json",
        "Name": "Access Port Profiles"
      },
      {
        "URL": "/api/node/class/infraHPortS.json",
        "Name": "Host Port Selectors"
      },
      {
        "URL": "/api/node/class/infraPortBlk.json",
        "Name": "Port Blocks"
      },
      {
        "URL": "/api/node/class/infraSHPortS.json",
        "Name": "Spine Host Port Selectors"
      },
      {
        "URL": "/api/node/class/infraSpAccPortP.json",
        "Name": "Spine Access Port Profiles"
      },
      {
        "URL": "/api/node/class/lacpIf.json",
        "Name": "LACP Interfaces"
      },
      {
        "URL": "/api/node/class/leqptRsLsNodeToIf.json",
        "Name": "External Unmanaged Nodes Interfaces"
      },
      {
        "URL": "/api/node/class/mgmtMgmtIf.json",
        "Name": "Management Interfaces"
      },
      {
        "URL": "/api/node/class/pcAggrIf.json",
        "Name": "Port Channel Aggregate Interfaces"
      },
      {
        "URL": "/api/node/class/pcRsMbrIfs.json",
        "Name": "Port Channel Member Interfaces"
      },
      {
        "URL": "/api/node/class/sviIf.json",
        "Name": "SVIs"
      },
      {
        "URL": "/api/node/class/tunnelIf.json",
        "Name": "Tunnel Interfaces"
      },
      {
        "URL": "/api/node/class/vpcIf.json",
        "Name": "VPC Interfaces"
      },
      {
        "URL": "/api/node/class/vzRsIf.json",
        "Name": "vzInterface Source Relationships"
      }
    ]
  },
  {
    "Group": "Access Control",
    "Endpoints": [
      {
        "URL": "/api/node/class/actrlEntity.json",
        "Name": "Access Control Entities"
      },
      {
        "URL": "/api/node/class/actrlInst.json",
        "Name": "Access Control Instances"
      },
      {
        "URL": "/api/node/class/actrlRule.json",
        "Name": "Access Control Rules"
      },
      {
        "URL": "/api/node/class/actrlScope.json",
        "Name": "Access Control Scopes"
      }
    ]
  },
  {
    "Group": "Compute",
    "Endpoints": [
      {
        "URL": "/api/node/class/compCtrlr.json",
        "Name": "Compute Controllers"
      },
      {
        "URL": "/api/node/class/compDom.json",
        "Name": "Compute Domains"
      },
      {
        "URL": "/api/node/class/compEpPD.json",
        "Name": "Compute Endpoint Policy Descriptions"
      },
      {
        "URL": "/api/node/class/compProv.json",
        "Name": "Compute Providers"
      },
      {
        "URL": "/api/node/class/compRsDomP.json",
        "Name": "Cluster RS Member Interfaces"
      },
      {
        "URL": "/api/node/class/firmwareCompRunning.json",
        "Name": "Firmware Compute Running"
      }
    ]
  },
  {
    "Group": "CDP",
    "Endpoints": [
      {
        "URL": "/api/node/class/cdpAdjEp.json",
        "Name": "CDP Adjacency Endpoints"
      },
      {
        "URL": "/api/node/class/cdpEntity.json",
        "Name": "CDP Entities"
      },
      {
        "URL": "/api/node/class/cdpIf.json",
        "Name": "CDP Interfaces"
      },
      {
        "URL": "/api/node/class/cdpInst.json",
        "Name": "CDP Instances"
      },
      {
        "URL": "/api/node/class/cdpIntfAddr.json",
        "Name": "CDP Interface Addresses"
      },
      {
        "URL": "/api/node/class/cdpMgmtAddr.json",
        "Name": "CDP Management Addresses"
      }
    ]
  },
  {
    "Group": "Equipment",
    "Endpoints": [
      {
        "URL": "/api/node/class/eqptBSlot.json",
        "Name": "Equipment Board Slots"
      },
      {
        "URL": "/api/node/class/eqptBoard.json",
        "Name": "Equipment Boards"
      },
      {
        "URL": "/api/node/class/eqptCPU.json",
        "Name": "Equipment CPUs"
      },
      {
        "URL": "/api/node/class/eqptCh.json",
        "Name": "Equipment Chassis"
      },
      {
        "URL": "/api/node/class/eqptDimm.json",
        "Name": "Equipment DIMMs"
      },
      {
        "URL": "/api/node/class/eqptExtCh.json",
        "Name": "Equipment Fabric Extenders"
      },
      {
        "URL": "/api/node/class/eqptFan.json",
        "Name": "Equipment Fans"
      },
      {
        "URL": "/api/node/class/eqptFpga.json",
        "Name": "Equipment Field Programmable Gate Arrays"
      },
      {
        "URL": "/api/node/class/eqptFt.json",
        "Name": "Equipment Fan Trays"
      },
      {
        "URL": "/api/node/class/eqptFtSlot.json",
        "Name": "Equipment Fan Tray Slots"
      },
      {
        "URL": "/api/node/class/eqptIndLed.json",
        "Name": "Equipment Indicator LEDs"
      },
      {
        "URL": "/api/node/class/eqptLC.json",
        "Name": "Equipment Line Cards"
      },
      {
        "URL": "/api/node/class/eqptLCSlot.json",
        "Name": "Equipment Line Card Slots"
      },
      {
        "URL": "/api/node/class/eqptPsu.json",
        "Name": "Equipment Power Supplies"
      },
      {
        "URL": "/api/node/class/eqptPsuSlot.json",
        "Name": "Equipment Power Supply Slots"
      },
      {
        "URL": "/api/node/class/eqptSensor.json",
        "Name": "Equipment Sensors"
      },
      {
        "URL": "/api/node/class/eqptSpCmnBlk.json",
        "Name": "Equipment SP Common Blocks"
      },
      {
        "URL": "/api/node/class/eqptSpromLc.json",
        "Name": "Equipment SPROM LCs"
      },
      {
        "URL": "/api/node/class/eqptSpromPsu.json",
        "Name": "Equipment SPROM Power Supply"
      },
      {
        "URL": "/api/node/class/eqptSpromPsuBlk.json",
        "Name": "Equipment SPROM Power Supply Blocks"
      },
      {
        "URL": "/api/node/class/eqptSpromSup.json",
        "Name": "Equipment SPROM Supervisors"
      },
      {
        "URL": "/api/node/class/eqptStorage.json",
        "Name": "Equipment Storage"
      },
      {
        "URL": "/api/node/class/eqptSupC.json",
        "Name": "Equipment Supervisors"
      },
      {
        "URL": "/api/node/class/eqptSupCSlot.json",
        "Name": "Equipment Supervisor Slots"
      },
      {
        "URL": "/api/node/class/leqptLooseNode.json",
        "Name": "External Unmanaged Nodes"
      }
    ]
  },
  {
    "Group": "LLDP",
    "Endpoints": [
      {
        "URL": "/api/node/class/lldpAdjEp.json",
        "Name": "LLDP Adjacency Endpoints"
      },
      {
        "URL": "/api/node/class/lldpEntity.json",
        "Name": "LLDP Entities"
      },
      {
        "URL": "/api/node/class/lldpIf.json",
        "Name": "LLDP Interfaces"
      },
      {
        "URL": "/api/node/class/lldpInst.json",
        "Name": "LLDP Instances"
      }
    ]
  },
  {
    "Group": "VPC",
    "Endpoints": [
      {
        "URL": "/api/node/class/vpcDom.json",
        "Name": "VPC Domains"
      },
      {
        "URL": "/api/node/class/vpcEntity.json",
        "Name": "VPC Entities"
      },
      {
        "URL": "/api/node/class/vpcInst.json",
        "Name": "VPC Instances"
      },
      {
        "URL": "/api/node/class/vpcRsVpcConf.json",
        "Name": "VPC Configurations"
      }
    ]
  },
  {
    "URL": "/api/node/class/fvTenant.json",
    "Name": "Tenants"
  },
  {
    "URL": "/api/node/mo/uni.json",
    "Name": "Create Tenant at Root"
  },
  {
    "URL": "/api/node/class/fvAEPg.json",
    "Name": "Endpoint Groups"
  },
  {
    "URL": "/api/node/class/fvBD.json",
    "Name": "Bridge Domains"
  },
  {
    "URL": "/api/node/class/fvCtx.json",
    "Name": "Contexts"
  },
  {
    "URL": "/api/node/class/fvAp.json",
    "Name": "Application Profiles"
  },
  {
    "URL": "/api/node/class/topSystem.json",
    "Name": ""
  },
  {
    "URL": "/api/node/class/fvSubnet.json",
    "Name": ""
  },
  {
    "URL": "/api/node/class/fvCEp.json",
    "Name": "Subnets"
  },
  {
    "URL": "/api/node/class/infraNodeP.json",
    "Name": "Leaf Switch Profiles"
  },
  {
    "URL": "/api/node/class/infraAttEntityP.json",
    "Name": "Attachable Access Entity Profiles"
  },
  {
    "URL": "/api/node/class/physDomP.json",
    "Name": "Physical Domains"
  },
  {
    "URL": "/api/node/class/qosClass.json",
    "Name": "QOS Classes"
  },
  {
    "URL": "/api/node/class/faultSummary.json",
    "Name": "Fault Summary"
  },
  {
    "URL": "/api/node/class/fvIp.json",
    "Name": "IP Addresses"
  },
  {
    "URL": "/api/node/class/licenseEntitlement.json",
    "Name": "License Entitlements"
  },
  {
    "URL": "/api/node/class/infraProfile.json",
    "Name": "Interface Profiles"
  },
  {
    "URL": "/api/node/class/aaaUser.json",
    "Name": "Users"
  },
  {
    "URL": "/api/node/class/aaaDomain.json",
    "Name": "Security Domains"
  },
  {
    "URL": "/api/node/mo/topology/health.json",
    "Name": "Health"
  },
  {
    "URL": "/api/node/class/topSystem.json?query-target=subtree&target-subtree-class=firmwareCtrlrRunning",
    "Name": "Controller Firmware Running"
  },
  {
    "URL": "/api/node/mo/topology/pod-1/node-1/av.json?query-target=children&target-subtree-class=infraWiNode",
    "Name": "Wired Nodes (InfraWiredNodes)"
  },
  {
    "URL": "/api/node/class/vnsMDev.json",
    "Name": "Device Packages"
  },
  {
    "URL": "/api/node/class/arpAdjEp.json",
    "Name": "ARP Adjacency Endpoints"
  },
  {
    "URL": "/api/node/class/arpDb.json",
    "Name": "ARP Database"
  },
  {
    "URL": "/api/node/class/arpDom.json",
    "Name": "ARP Domain"
  },
  {
    "URL": "/api/node/class/arpEntity.json",
    "Name": "ARP Entity"
  },
  {
    "URL": "/api/node/class/arpInst.json",
    "Name": "ARP Instances"
  },
  {
    "URL": "/api/node/class/fcEntity.json",
    "Name": "Fibre Channel Entities"
  },
  {
    "URL": "/api/node/class/firmwareCardRunning.json",
    "Name": "Firmware Card Running"
  },
  {
    "URL": "/api/node/class/firmwareRunning.json",
    "Name": "Firmware Running"
  },
  {
    "URL": "/api/node/class/fvEpPCont.json",
    "Name": "Endpoint Profile Containers"
  },
  {
    "URL": "/api/node/class/fvLocale.json",
    "Name": "Locales"
  },
  {
    "URL": "/api/node/class/fvRsBDToOut.json",
    "Name": "Bridge Domains To Outside"
  },
  {
    "URL": "/api/node/class/fvRsBd.json",
    "Name": "EPG Bridge Domain Links"
  },
  {
    "URL": "/api/node/class/fvRsCons.json",
    "Name": "Contract Consumers"
  },
  {
    "URL": "/api/node/class/fvRsCtx.json",
    "Name": "Context Source Relationships"
  },
  {
    "URL": "/api/node/class/fvRsDomAtt.json",
    "Name": "Domain Attachments"
  },
  {
    "URL": "/api/node/class/fvRsPathAtt.json",
    "Name": "Path Attachments"
  },
  {
    "URL": "/api/node/class/fvRsProv.json",
    "Name": "Contract Providers"
  },
  {
    "URL": "/api/node/class/fvRtBd.json",
    "Name": "Bridge Domains Target Relationships"
  },
  {
    "URL": "/api/node/class/fvRtCtx.json",
    "Name": "Contexts Target Relationships"
  },
  {
    "URL": "/api/node/class/infraFuncP.json",
    "Name": "Function Policies"
  },
  {
    "URL": "/api/node/class/infraRsAttEntP.json",
    "Name": "Attachable Access Entity Profiles Source Relationships"
  },
  {
    "URL": "/api/node/class/infraRsSpAccGrp.json",
    "Name": "Spine Access Policy Groups"
  },
  {
    "URL": "/api/node/class/infraWiNode.json",
    "Name": "Wired Nodes (Topology)"
  },
  {
    "URL": "/api/node/class/ipNexthopP.json",
    "Name": "Static Route Next Hop Policies"
  },
  {
    "URL": "/api/node/class/ipRouteP.json",
    "Name": "Route Policies"
  },
  {
    "URL": "/api/node/class/lacpEntity.json",
    "Name": "LACP Entities"
  },
  {
    "URL": "/api/node/class/lacpInst.json",
    "Name": "LACP Instances"
  },
  {
    "URL": "/api/node/class/vmmCtrlrP.json",
    "Name": "VMM Controller Profiles"
  },
  {
    "URL": "/api/node/class/vmmDomP.json",
    "Name": "VMM Domain Profiles"
  },
  {
    "URL": "/api/node/class/vmmProvP.json",
    "Name": "VMM Provider Profiles"
  },
  {
    "URL": "/api/node/class/vmmUsrAccP.json",
    "Name": "VMM User Profiles"
  }
]

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About Aci MCP

How do I install Aci MCP?

Run npx aci-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Aci MCP safe to use with an AI agent?

Its trust score is 67 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Aci MCP still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.