Cisco ACI MCP Server

by jim-coyne

230 downloads
Not rated
GitHub

About

A comprehensive MCP server for configuring and managing Cisco ACI (Application Centric Infrastructure) fabrics through the APIC REST API.

Details

Author
jim-coyne
Downloads
230
Categories
Other, Cloud Service, Infrastructure

- 35+ tools for complete ACI fabric management
- Tenant lifecycle management (create, read, update, delete)
- Application profile and endpoint group (EPG) management
- Bridge domain and VRF configuration
- Contract and filter definition for security policies
- Fabric health monitoring, fault listing, and node/interfaces management

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Cisco ACI MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Node.js 18+ and npm, clone the repository, run npm install, configure authentication via environment variables or a configuration file (using username/password or X.509 certificate), build with npm run build, then start with npm start. Additional configuration for tool mode and tenant focus can be done through a aci-mcp-config.json file or environment variables.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "cisco aci mcp server": {
            "aci": {
                "command": "node",
                "args": [
                    "dist/index.js"
                ],
                "cwd": "/path/to/aci-mcp-server"
            }
        }
    }
}

McpServers

{
    "aci": {
        "command": "node",
        "args": [
            "dist/index.js"
        ],
        "cwd": "/path/to/aci-mcp-server"
    }
}

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:

   cd aci-mcp-server
npm install

2. 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 settings

Option 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"

3. Build the Server:

   npm run build

4. Test Connection:

   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:

{
  "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:

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
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.