ACI MCP Server
Enables management and configuration of Cisco ACI (Application Centric Infrastructure) fabrics through the APIC REST API, providing 35+ tools for tenant management, network policies, EPGs, bridge domains, VRFs, contracts, and health monitoring.
README
ACI Model Context Protocol (MCP) Server
A comprehensive MCP server for configuring and managing Cisco ACI (Application Centric Infrastructure) fabrics through the APIC REST API.
Overview
This MCP server provides 35+ tools for complete ACI fabric management, including:
- Tenant Management: Create, list, get, update, and delete tenants
- Application Profiles: Manage application profiles within tenants
- Endpoint Groups (EPGs): Configure and manage endpoint groups
- Bridge Domains: Create and manage Layer 2 domains
- VRFs: Manage Virtual Routing and Forwarding instances
- Contracts: Define and manage security policies
- Health Monitoring: Monitor fabric health and faults
- Node Management: Manage fabric nodes and interfaces
Installation
Prerequisites
- Node.js 18+ and npm
- Access to a Cisco APIC controller
- Valid APIC credentials (username/password or certificate)
Setup
-
Clone and Install:
cd aci-mcp-server npm install -
Configure Authentication:
Option A: Environment Variables
cp .env.example .env # Edit .env with your APIC details export ACI_APIC_URL="https://your-apic.domain.com" export ACI_USERNAME="admin" export ACI_PASSWORD="your_password"Option B: Configuration Files
cp aci-config.json.example aci-config.json # Edit aci-config.json with your settingsOption C: Certificate Authentication
export ACI_APIC_URL="https://your-apic.domain.com" export ACI_USERNAME="admin" export ACI_CERT_NAME="your-cert-name" export ACI_PRIVATE_KEY_PATH="/path/to/private.key" -
Build the Server:
npm run build -
Test Connection:
npm start # Should connect to APIC and display available tools
Configuration
Authentication Methods
The server supports two authentication methods:
- Username/Password: Standard APIC login
- Certificate: X.509 certificate-based authentication (recommended for production)
Tool Configuration
Configure which tools are available using aci-mcp-config.json:
{
"serverConfig": {
"name": "aci",
"toolSelectionMode": "whitelist",
"enableAllTools": false,
"tenantFocus": "production"
},
"toolConfiguration": {
"enabledTools": ["list_tenants", "get_fabric_health", ...],
"disabledTools": []
}
}
Tool Modes:
core: Essential tools (35 tools) - Defaultall: All available tools (50+ tools)
Environment Variable Configuration:
export ACI_TOOL_MODE=core # or 'all'
export ACI_TENANT_FOCUS=production # Focus on specific tenant
Available Tools
Tenant Management (5 tools)
list_tenants- List all tenantsget_tenant- Get specific tenant detailscreate_tenant- Create new tenantupdate_tenant- Update tenant configurationdelete_tenant- Delete tenant
Application Profile Management (5 tools)
list_application_profiles- List application profilesget_application_profile- Get specific application profilecreate_application_profile- Create new application profileupdate_application_profile- Update application profiledelete_application_profile- Delete application profile
Endpoint Group Management (6 tools)
list_endpoint_groups- List endpoint groupsget_endpoint_group- Get specific EPG detailscreate_endpoint_group- Create new EPGupdate_endpoint_group- Update EPG configurationdelete_endpoint_group- Delete EPGget_endpoint_group_stats- Get EPG statistics
Bridge Domain Management (5 tools)
list_bridge_domains- List bridge domainsget_bridge_domain- Get specific bridge domaincreate_bridge_domain- Create new bridge domainupdate_bridge_domain- Update bridge domaindelete_bridge_domain- Delete bridge domain
VRF Management (5 tools)
list_vrfs- List VRFsget_vrf- Get specific VRF detailscreate_vrf- Create new VRFupdate_vrf- Update VRF configurationdelete_vrf- Delete VRF
Contract Management (8 tools)
list_contracts- List contractsget_contract- Get contract detailscreate_contract- Create new contractupdate_contract- Update contractdelete_contract- Delete contractlist_filters- List filterscreate_filter- Create new filterdelete_filter- Delete filter
Health & Monitoring (8 tools)
get_fabric_health- Get overall fabric healthlist_faults- List fabric faultsget_fault_summary- Get fault summary by severitylist_nodes- List fabric nodesget_node_health- Get node health statuslist_interfaces- List fabric interfacesget_interface_stats- Get interface statisticsget_system_info- Get APIC system information
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.