ACI模型上下文协议服务器

一个全面的MCP服务器,用于通过APIC REST API配置和管理Cisco ACI(应用中心基础设施)结构。

  • by jim-coyne
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jim-coyne/ACI_MCP

使用说明

ACI模型上下文协议(MCP)服务器

一个全面的MCP服务器,用于通过APIC REST API配置和管理Cisco ACI(以应用程序为中心的基础设施)结构。

概述

此MCP服务器提供35多种工具,用于完整的ACI结构管理,包括:

  • 租户管理:创建、列出、获取、更新和删除租户
  • 应用程序配置文件:管理租户内的应用程序配置文件
  • 端点组(EPG):配置和管理端点组
  • 桥接域:创建和管理第2层域
  • VRF:管理虚拟路由和转发实例
  • 合同:定义和管理安全策略
  • 健康监测:监控织物健康状况和故障
  • 节点管理:管理结构节点和接口

安装

先决条件

  • Node.js 18+和npm
  • 访问Cisco APIC控制器
  • 有效的APIC凭据(用户名/密码或证书)

设置

  1. 克隆并安装:

    cd aci-mcp-server
    npm install
    
  2. 配置身份验证:

    选项A:环境变量

    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"
    

    选项B:配置文件

    cp aci-config.json.example aci-config.json
    # Edit aci-config.json with your settings
    

    选项C:证书身份验证

    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. 构建服务器:

    npm run build
    
  4. 测试连接:

    npm start
    # Should connect to APIC and display available tools
    

配置

身份验证方法

服务器支持两种身份验证方法:

  1. 用户名/密码:标准APIC登录
  2. 证书:基于X.509证书的身份验证(建议用于生产)

工具配置

使用配置可用的工具 aci-mcp-config.json:

{
  "serverConfig": {
    "name": "aci",
    "toolSelectionMode": "whitelist",
    "enableAllTools": false,
    "tenantFocus": "production"
  },
  "toolConfiguration": {
    "enabledTools": ["list_tenants", "get_fabric_health", ...],
    "disabledTools": []
  }
}

工具模式:

  • core:基本工具(35个工具)-默认值
  • all:所有可用工具(50+工具)

环境变量配置:

export ACI_TOOL_MODE=core          # or 'all'
export ACI_TENANT_FOCUS=production # Focus on specific tenant

可用工具

租户管理(5个工具)

  • list_tenants -列出所有租户
  • get_tenant -获取特定租户详细信息
  • create_tenant -创建新租户
  • update_tenant -更新租户配置
  • delete_tenant -删除租户

应用程序配置文件管理(5个工具)

  • list_application_profiles -列出应用程序配置文件
  • get_application_profile -获取特定的应用程序配置文件
  • create_application_profile -创建新的应用程序配置文件
  • update_application_profile -更新应用程序配置文件
  • delete_application_profile -删除应用程序配置文件

端点组管理(6个工具)

  • list_endpoint_groups -列出端点组
  • get_endpoint_group -获取特定EPG详细信息
  • create_endpoint_group -创建新EPG
  • update_endpoint_group -更新EPG配置
  • delete_endpoint_group -删除EPG
  • get_endpoint_group_stats -获取EPG统计信息

网桥域管理(5个工具)

  • list_bridge_domains -列出网桥域
  • get_bridge_domain -获取特定网桥域
  • create_bridge_domain -创建新的网桥域
  • update_bridge_domain -更新网桥域
  • delete_bridge_domain -删除网桥域

VRF管理(5个工具)

  • list_vrfs -列出VRF
  • get_vrf -获取特定的VRF详细信息
  • create_vrf -创建新的VRF
  • update_vrf -更新VRF配置
  • delete_vrf -删除VRF

合同管理(8个工具)

  • list_contracts -列出合同
  • get_contract -获取合同详细信息
  • create_contract -创建新合同
  • update_contract -更新合同
  • delete_contract -删除合同
  • list_filters -列出筛选器
  • create_filter -创建新筛选器
  • delete_filter -删除筛选器

健康与监测(8个工具)

  • get_fabric_health -获得整体织物健康
  • list_faults -列出织物故障
  • get_fault_summary -按严重程度获取故障摘要
  • list_nodes -列出结构节点
  • get_node_health -获取节点健康状态
  • list_interfaces -列出结构接口
  • get_interface_stats -获取接口统计信息
  • get_system_info -获取APIC系统信息