Token导航 LogoToken导航TokenDH.com
Network MCP Docker Suite logo
运维云端未说明官方级别未说明来源级核验

Network MCP Docker Suite

MCP Server

一个基于Docker的AIOps网络管理套件,提供AI驱动的网络操作、自动化故障排除和CI/CD编排功能,适用于网络管理员和DevOps团队。

工具数

0

提示词数

0

GitHub Stars

38

资源数

0
网络管理DockerClaudeDevopsClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

pamosima

提供方

pamosima

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🌐 网络MCP Docker套件

![published](https://developer.cisco.com/codeexchange/github/repo/pamosima/network-mcp-docker-suite)

📚 学习与发展示例代码\ 这是一个演示项目,展示了用于网络管理的MCP服务器实现。用于教育目的、测试和开发环境。

基于Docker的MCP服务器套件 智能运维 -通过Cisco Meraki、Catalyst Center、IOS XE、ISE、ThousandEyes、Splunk、NetBox和GitLab集成实现人工智能驱动的网络运营。配备LibreChat、Cursor和其他MCP客户端的AI,用于智能网络管理、自动故障排除、CI/CD编排和运营洞察。

🎬 现场演示

使用多个MCP服务器通过LibreChat进行人工智能网络故障排除

Catalyst Center MCP Demo

*观看自然语言查询如何使用Catalyst Center MCP Server和IOS XE MCP Server自动调查和解决网络问题。AI助手将来自管理系统(Catalyst Center)的数据与直接设备访问(IOS XE SSH)相关联,以确定根本原因并提供全面的解决方案。*

📋 描述

AIOps重点 Docker套件包含10个MCP服务器,支持AI驱动的网络操作:

  • Meraki MCP服务器 (8000):通过Meraki Dashboard API进行云网络管理- 📖 详情
  • NetBox MCP服务器 (8001):DCIM/IPAM基础设施文件和管理- 📖 详情
  • Catalyst Center MCP服务器 (8002):企业网络管理与保障- 📖 详情
  • IOS XE MCP服务器 (8003):基于SSH的直接设备管理- 📖 详情
  • ThousandEyes MCP服务器 (8004):网络性能监控和路径可视化- 📖 详情
  • ISE MCP服务器 (8005):身份和访问控制操作- 📖 详情
  • Splunk MCP服务器 (8006):日志分析和作战情报- 📖 详情
  • GitLab MCP服务器 (8009):用于网络自动化的CI/CD管道触发和存储库管理- 📖 详情

所有服务器都采用灵活的部署配置文件进行容器化 AIOps工作流程 通过人工智能助手进行自然语言查询、自动故障排除和智能网络分析。

🎯 用例

网络管理员和DevOps团队在跨云和本地环境管理现代混合网络基础设施方面面临着重大挑战。该解决方案通过提供以下功能来应对这些挑战:

🚀 主要用例

1. 统一网络运营 🌐

  • 接口:通过一个MCP协议接口管理Meraki云网络、本地NetBox DCIM/IPAM、Catalyst Center基础设施和直接IOS-XE设备
  • 简化的工作流程:减少多个网络管理工具和仪表板之间的上下文切换
  • 跨平台可见性:跨不同网络管理系统关联数据,以获得全面的运营见解

2. 人工智能网络管理 🤖

  • 自然语言查询:使用人工智能助手(Cursor、LibreChat)用简单的英语查询网络基础设施
  • 自动故障排除:通过提供对网络数据的统一访问,实现人工智能驱动的网络问题诊断
  • 智能文档:生成自动报告,将实时网络状态与基础设施文档相结合

3. DevOps集成与自动化 ⚙️

  • 基础设施即代码:对自动化工作流程的网络基础设施进行程序化访问
  • CI/CD集成:将网络管理功能嵌入部署管道
  • 配置管理:用于网络设备配置和监控的标准化API访问

4. 运营效率 📈

  • 基于角色的访问:NOC团队的细粒度权限(监控+固件)、SysAdmins(只读)和API完全访问权限
  • 审计跟踪:全面记录所有网络管理操作以确保合规性
  • 实时同步:网络设备和文档系统之间的自动同步

🎯 目标场景

场景描述使用的服务器优点
网络故障排除NOC工程师调查连接问题(如演示所示)Catalyst Center+IOS-XE+ThousandEyes与性能监控的跨平台相关性
AI驱动的故障排除人工智能助手诊断接口掉线或系统日志错误NetBox+Peotheus+ClickHouse拓扑、指标和日志的自动关联
性能分析网络分析师监控应用程序性能ThousandEyes+Catalyst Center端到端性能可见性
基础设施文档SysAdmin正在更新网络文档NetBox+Catalyst Center自动文档同步
合规报告IT经理生成审计报告所有服务器跨基础架构的整合报告
设备配置网络工程师部署配置Catalyst Center+IOS-XE标准化配置管理
CI/CD试运行AI助手更新配置并触发Ansible模拟运行GitLab+NetBox+IOS-XE部署前安全配置预览

📚 详细文件

有关综合用例场景和实现细节,请参阅:

🔗 netops堆栈集成

此MCP套件与 网络操作堆栈 -一种用于网络自动化的可观察性和编排平台,其特征在于:

  • gNMIc -gNMI流式遥测数据采集
  • 普罗米修斯 -指标存储和查询
  • ClickHouse -通过Vector进行系统日志和日志存储
  • 格拉法纳 -可视化仪表板
  • GitLab CI/CD -可靠的管道编排

使用 netops-stack 个人资料 启动针对netops堆栈集成进行优化的MCP服务器:

./deploy.sh start netops-stack   # Starts MCP Servers for: ClickHouse, GitLab, IOS-XE, NetBox, Prometheus
MCP服务器网络堆栈组件用途
普罗米修斯MCP普罗米修斯(9090)查询接口/设备指标
ClickHouse MCPClickHouse(8123)查询系统日志消息
GitLab MCPGitLab CI/CD触发Ansible模拟运行
NetBox MCP外部SoT设备清单和拓扑
IOS-XE MCP网络设备直接显示命令访问

🏗️ 建筑

📐 部署架构

该套件提供对七个容器化MCP服务器的直接访问,非常适合开发、测试和AI驱动的网络操作:

┌─────────────────┐    ┌──────────────────────────────────┐
│                 │    │          Docker Host             │
│   MCP Client    │    │                                  │
│                 │    │  ┌─────────────────────────────┐ │
│ • Cursor IDE    │────┼─▶│ Meraki MCP        :8000     │ │
│ • LibreChat     │    │  ├─────────────────────────────┤ │
│ • Claude Desktop│────┼─▶│ NetBox MCP        :8001     │ │
│ • Other MCP     │    │  ├─────────────────────────────┤ │
│   Clients       │────┼─▶│ Catalyst Center   :8002     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ IOS XE MCP        :8003     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ ThousandEyes MCP  :8004     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ ISE MCP           :8005     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ Splunk MCP        :8006     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ Prometheus MCP    :8007     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ ClickHouse MCP    :8008     │ │
│                 │    │  ├─────────────────────────────┤ │
│                 │────┼─▶│ GitLab MCP        :8009     │ │
│                 │    │  └─────────────────────────────┘ │
└─────────────────┘    └──────────────────────────────────┘
        
        Direct HTTP Connections
        ✅ Simple setup - no authentication required
        ✅ Individual server access and configuration
        ✅ Flexible port-based deployment
        ✅ Perfect for development and testing

🎯 关键架构特征

  • 🐳 集装箱化服务:每个MCP服务器都在一个隔离的Docker容器中运行
  • 🔌 标准MCP协议:兼容任何MCP客户端(Cursor、Claude Desktop、LibreChat)
  • 📊 基于端口的访问:专用端口上的每台服务器(8000-8009)
  • 🔄 独立缩放:根据需要单独启动/停止服务器
  • 🛡️ 网络隔离:用于容器间通信的内部Docker网络
  • 📝 综合录井:JSON格式的日志,对所有服务进行轮换

🧩 解决方案组件

🏢 技术栈

  • MCP协议实现:用于AI集成的基于标准的模型上下文协议
  • Docker容器化:具有安全考虑和资源限制的结构良好的容器
  • 网络隔离:通过Docker网络(mcp网络)进行安全通信
  • FastMCP框架:现代基于Python的MCP服务器实现

🚀 快速开始

📋 先决条件

  • Docker引擎20.10+
  • Docker Compose 2.0+
  • API访问:要集成的网络平台的有效凭据(有关具体要求,请参阅各个服务器指南)

⚡ 3分钟设置

# 1. Clone repository
git clone https://github.com/pamosima/network-mcp-docker-suite.git
cd network-mcp-docker-suite

# 2. Configure environment variables (single .env file for all servers)
cp .env.example .env          # Copy the environment template
nano .env                     # Edit and configure:
                             # - Set ENABLE_*_MCP=false for servers you don't want to use
                             # - Add API keys and credentials for enabled servers
# See .env.example for detailed configuration instructions

# 3. Deploy servers
./deploy.sh start all          # All servers
# OR
./deploy.sh start cisco        # Just Cisco platforms
# OR  
./deploy.sh start meraki       # Just Meraki

# 4. Verify deployment
curl http://localhost:8000/mcp    # Test Meraki server
curl http://localhost:8002/mcp    # Test Catalyst Center server
💡 快速提示:所有服务器现在都使用单个集中式服务器 .env 配置文件。使用 ENABLE_*_MCP=false 禁用不需要的服务器,只为已启用的服务器添加凭据。
🌐 LibreChat集成:要在外部网络上与LibreChat一起使用,请参阅 外部网络集成 下面的部分。

🎯 部署选项

管理活动服务器

使用您的环境变量控制哪些MCP服务器运行 .env 文件:

# Enable/Disable individual servers (edit .env)
ENABLE_MERAKI_MCP=true       # Set to false to disable
ENABLE_NETBOX_MCP=true       # Set to false to disable
ENABLE_CATC_MCP=true         # Set to false to disable
ENABLE_IOS_XE_MCP=false      # Disabled - won't start
ENABLE_THOUSANDEYES_MCP=true
ENABLE_ISE_MCP=true
ENABLE_SPLUNK_MCP=false      # Disabled - won't start
ENABLE_PROMETHEUS_MCP=true   # netops-stack metrics
ENABLE_CLICKHOUSE_MCP=true   # netops-stack syslog
ENABLE_GITLAB_MCP=true       # CI/CD orchestration

最佳实践:

  • ENABLE_*_MCP=false 对于不使用的服务器
  • 仅配置已启用服务器的凭据
  • 使用部署配置文件(如下)启动特定组
  • 减少资源使用和攻击面

可用配置文件

配置文件描述已部署的服务器用例
all部署所有服务器所有10台服务器(8000-8009)完整的基础架构可见性
cisco以思科为重点的平台Meraki+Catalyst Center+ThousandEyes+ISE+IOS XE以思科为中心的环境
monitoring网络监控Meraki+Catalyst Center+ThousandEyes+Splunk运营团队
observabilitynetops堆栈指标/日志普罗米修斯+ClickHouse+NetBox人工智能驱动的故障排除
netops-stack完整的网络操作堆栈集成ClickHouse+GitLab+IOS-XE+NetBox+Prometheus完整的AI编排
orchestrationCI/CD自动化GitLab+NetBox+IOS XE网络自动化工作流程
security以安全为重点Catalyst Center+ISE安全运营
management传统管理Meraki+Catalyst Center网络管理
docs以文档为中心NetBox+Catalyst Center基础架构文档

部署示例

# Flexible deployment using profiles
./deploy.sh start all                        # Complete suite
./deploy.sh start cisco                      # Cisco platforms only
./deploy.sh start monitoring                 # Monitoring focus
./deploy.sh start security                   # Security focus

# Individual servers
./deploy.sh start meraki                     # Cloud management
./deploy.sh start catc                       # Enterprise management
./deploy.sh start ios-xe                     # Direct device access

# Management operations
./deploy.sh status all                       # Check status
./deploy.sh logs cisco                       # View logs
./deploy.sh stop all                         # Stop services

外部网络集成(适用于LibreChat)

要与LibreChat或外部Docker网络上的其他服务集成:

# 1. Create the external network
docker network create mcp-server

# 2. Copy and use the override configuration
cp docker-compose.override.yml.example docker-compose.override.yml

# 3. Deploy (automatically uses override file)
./deploy.sh start all

docker-compose.override.yml 配置所有MCP服务器以加入外部 mcp-server 网络,允许与LibreChat和同一网络上的其他服务进行无缝通信。

💻 用法

🤖 示例提示

以下是一个使用自然语言与MCP服务器交互的真实示例:

网络故障排除示例

用户提示:

Check why wlsn-access-1.dna.its-best.ch is unreachable from Cisco Catalyst Center.

AI助手回应: AI助手自动使用两个协同工作的MCP服务器:

  1. Catalyst Center MCP服务器 -检查设备状态和问题
  2. IOS XE MCP服务器 -直接SSH访问以验证物理层
  3. 多服务器关联 -人工智能关联数据以确定根本原因

已确定的决议:

  • ✅ 设备已启动并可运行(通过SSH验证)
  • ✅ 通过CDP确认物理连接
  • 根本原因:Catalyst Center资源清册中的IP地址不匹配
  • 🔧 解决方案:更新设备IP并重新同步

更多示例提示

场景示例提示使用的服务器
设备配置*“在A楼的所有接入交换机上配置VLAN 100”*Catalyst Center+IOS XE
性能分析*“显示过去6小时内我们主网站的网络延迟”*千只眼睛
安全合规性*“显示所有不符合要求的设备及其授权配置文件”*ISE+催化剂中心
基础设施审计*“生成NetBox和现实不匹配的设备报告”*NetBox+Catalyst Center
容量规划*“显示所有站点的带宽利用率趋势”*Meraki+催化剂中心

🌐 服务器端点

服务器端口端点用途
梅拉基8000http://localhost:8000/mcp云网络管理
NetBox8001http://localhost:8001/mcpDCIM/IPAM文件
催化剂中心8002http://localhost:8002/mcp企业管理
IOS XE8003http://localhost:8003/mcp直接设备访问
千目8004http://localhost:8004/mcp性能监控
ISE8005http://localhost:8005/mcp身份和访问控制
Splunk8006http://localhost:8006/mcp日志分析
普罗米修斯8007http://localhost:8007/mcp度量查询(网络操作堆栈)
ClickHouse8008http://localhost:8008/mcp系统日志查询(网络操作堆栈)
GitLab8009http://localhost:8009/mcpCI/CD和存储库管理

🌐 MCP客户端集成

光标IDE配置

创建或更新 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "Meraki-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8000/mcp",
      "timeout": 60000
    },
    "NetBox-MCP-Server": {
      "transport": "http", 
      "url": "http://localhost:8001/mcp",
      "timeout": 60000
    },
    "Catalyst-Center-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8002/mcp", 
      "timeout": 60000
    },
    "IOS-XE-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8003/mcp",
      "timeout": 60000
    },
    "ThousandEyes-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8004/mcp",
      "timeout": 60000
    },
    "ISE-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8005/mcp",
      "timeout": 60000
    },
    "Splunk-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8006/mcp",
      "timeout": 60000
    },
    "Prometheus-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8007/mcp",
      "timeout": 60000
    },
    "ClickHouse-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8008/mcp",
      "timeout": 60000
    },
    "GitLab-MCP-Server": {
      "transport": "http",
      "url": "http://localhost:8009/mcp",
      "timeout": 60000
    }
  }
}

LibreChat配置

添加到您的 librechat.yaml:

mcpServers:
  Meraki-MCP-Server:
    type: streamable-http
    url: http://meraki-mcp-server:8000/mcp
    timeout: 60000
  Netbox-MCP-Server:
    type: streamable-http
    url: http://netbox-mcp-server:8001/mcp
    timeout: 60000
  CatC-MCP-Server:
    type: streamable-http
    url: http://catc-mcp-server:8002/mcp
    timeout: 60000
  IOS-XE-MCP-Server:
    type: streamable-http
    url: http://ios-xe-mcp-server:8003/mcp
    timeout: 60000
  ThousandEyes-MCP-Server:
    type: streamable-http
    url: http://thousandeyes-mcp-server:8004/mcp
    timeout: 60000
  ISE-MCP-Server:
    type: streamable-http
    url: http://ise-mcp-server:8005/mcp
    timeout: 60000
  Splunk-MCP-Server:
    type: streamable-http
    url: http://splunk-mcp-server:8006/mcp
    timeout: 60000
  Prometheus-MCP-Server:
    type: streamable-http
    url: http://prometheus-mcp-server:8007/mcp
    timeout: 60000
  ClickHouse-MCP-Server:
    type: streamable-http
    url: http://clickhouse-mcp-server:8008/mcp
    timeout: 60000
  GitLab-MCP-Server:
    type: streamable-http
    url: http://gitlab-mcp-server:8009/mcp
    timeout: 60000

🔧 管理命令

基本操作

# Deploy services
./deploy.sh start all          # All servers
./deploy.sh start cisco        # Cisco platforms
./deploy.sh start monitoring   # Monitoring focused

# Check status
./deploy.sh status all         # All services
docker-compose ps              # Docker status

# View logs  
./deploy.sh logs all           # All services
./deploy.sh logs meraki        # Specific server

# Stop services
./deploy.sh stop all           # All services
docker-compose down            # Docker stop

# Update and rebuild
git pull                       # Get updates
docker-compose up -d --build   # Rebuild and restart

快速验证

# Test all servers are responding
curl http://localhost:8000/mcp    # Meraki
curl http://localhost:8001/mcp    # NetBox
curl http://localhost:8002/mcp    # Catalyst Center
curl http://localhost:8003/mcp    # IOS XE
curl http://localhost:8004/mcp    # ThousandEyes
curl http://localhost:8005/mcp    # ISE
curl http://localhost:8006/mcp    # Splunk
curl http://localhost:8007/mcp    # Prometheus
curl http://localhost:8008/mcp    # ClickHouse
curl http://localhost:8009/mcp    # GitLab

🔒 安全考虑

集装箱安全

  • ✅ 以非root用户身份运行
  • ✅ 已启用安全选项(no-new-privileges)
  • ✅ 已配置资源限制
  • ✅ 通过Docker网络实现网络隔离

生产安全

  • 🔒 仅从环境变量加载API密钥
  • 🔒 通过Docker网络实现网络隔离
  • 🔒 基于角色的访问控制(如果支持)

对于生产部署,请考虑:

  1. 秘密管理:使用Docker机密或外部机密管理器
  2. 网络安全:实施适当的防火墙规则和网络分段
  3. 监控:建立全面的日志记录和监控
  4. 更新:定期安全更新和漏洞扫描

🔧 故障排除

常见问题

服务器没有响应:

# Check if containers are running
./deploy.sh status all

# Check logs for errors
./deploy.sh logs all

# Restart problematic services
./deploy.sh restart 

MCP客户端无法连接:

# Verify endpoints are accessible
curl http://localhost:8000/mcp

# Check network connectivity
docker network ls
docker network inspect 

# Restart MCP client (Cursor, LibreChat, etc.)

配置问题:

  • 检查集中式 .env 正确凭据文件
  • 验证是否正确设置了API密钥和密码(不是示例占位符)
  • 查看各个服务器的自述文件,了解详细的故障排除
  • 验证API凭据是否具有适当的权限
  • 检查与目标系统的网络连接

📊 监控与维护

健康检查

# Check all services
./deploy.sh status all

# Monitor resource usage
docker stats

# View recent logs
./deploy.sh logs all | tail -100

更新

# Pull latest changes
git pull

# Rebuild and restart
docker-compose up -d --build

# Clean up old images
docker system prune -f

🤝 贡献

欢迎投稿!请阅读我们的 贡献指南 有关我们的行为准则和提交pull请求流程的详细信息。

开发工作流程

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 测试用 docker-compose up -d --build
  5. 提交您的更改(git commit -m 'Add some amazing feature')
  6. 推到分支(git push origin feature/amazing-feature)
  7. 打开拉取请求

📄 许可证

此项目根据思科示例代码许可证1.1版获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

特别感谢:

  • 基斯坎德 对于原件 Meraki MCP服务器 该实现启发了这个全面的多服务器套件的Meraki组件。
  • tspuhler 用于IOS XE MCP服务器实现,为Cisco IOS XE设备提供直接的基于SSH的设备管理功能。
  • Aditya Chellam基兰·卡巴达尔 为了 ThousandEyes MCP社区 服务器实现。该套件中的ThousandEyes MCP服务器基于其全面的ThousaandEyes v7 API集成。
  • 自动化网络 (约翰·卡波比安科)和 罗伯伯格曼 为了 ISE MCP服务器 实施。该套件中的ISE MCP服务器基于其全面的ISE ERS API集成,用于网络访问控制和安全操作。

⚠️ 免责声明

该项目是思科DevNet社区的一部分,并作为 示例代码 用于演示和学习目的。它不受思科系统公司的正式支持,如果没有针对您的特定环境进行适当的测试和定制,就不能用于生产用途。

目录标签

目录标签

网络管理DockerClaudeDevopsAIOpsPython本地部署自动化

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP