Skip to main content
Glama
README.md4.87 kB
# 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 1. **Clone and Install**: ```bash cd aci-mcp-server npm install ``` 2. **Configure Authentication**: **Option A: Environment Variables** ```bash 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** ```bash cp aci-config.json.example aci-config.json # Edit aci-config.json with your settings ``` **Option C: Certificate Authentication** ```bash 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" ``` 3. **Build the Server**: ```bash npm run build ``` 4. **Test Connection**: ```bash npm start # Should connect to APIC and display available tools ``` ## Configuration ### Authentication Methods The server supports two authentication methods: 1. **Username/Password**: Standard APIC login 2. **Certificate**: X.509 certificate-based authentication (recommended for production) ### Tool Configuration Configure which tools are available using `aci-mcp-config.json`: ```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) - Default - `all`: All available tools (50+ tools) **Environment Variable Configuration**: ```bash 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 tenants - `get_tenant` - Get specific tenant details - `create_tenant` - Create new tenant - `update_tenant` - Update tenant configuration - `delete_tenant` - Delete tenant ### Application Profile Management (5 tools) - `list_application_profiles` - List application profiles - `get_application_profile` - Get specific application profile - `create_application_profile` - Create new application profile - `update_application_profile` - Update application profile - `delete_application_profile` - Delete application profile ### Endpoint Group Management (6 tools) - `list_endpoint_groups` - List endpoint groups - `get_endpoint_group` - Get specific EPG details - `create_endpoint_group` - Create new EPG - `update_endpoint_group` - Update EPG configuration - `delete_endpoint_group` - Delete EPG - `get_endpoint_group_stats` - Get EPG statistics ### Bridge Domain Management (5 tools) - `list_bridge_domains` - List bridge domains - `get_bridge_domain` - Get specific bridge domain - `create_bridge_domain` - Create new bridge domain - `update_bridge_domain` - Update bridge domain - `delete_bridge_domain` - Delete bridge domain ### VRF Management (5 tools) - `list_vrfs` - List VRFs - `get_vrf` - Get specific VRF details - `create_vrf` - Create new VRF - `update_vrf` - Update VRF configuration - `delete_vrf` - Delete VRF ### Contract Management (8 tools) - `list_contracts` - List contracts - `get_contract` - Get contract details - `create_contract` - Create new contract - `update_contract` - Update contract - `delete_contract` - Delete contract - `list_filters` - List filters - `create_filter` - Create new filter - `delete_filter` - Delete filter ### Health & Monitoring (8 tools) - `get_fabric_health` - Get overall fabric health - `list_faults` - List fabric faults - `get_fault_summary` - Get fault summary by severity - `list_nodes` - List fabric nodes - `get_node_health` - Get node health status - `list_interfaces` - List fabric interfaces - `get_interface_stats` - Get interface statistics - `get_system_info` - Get APIC system information

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jim-coyne/ACI_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server