SSH MCP Server

SSH MCP Server

site icon
2025.03.13 0
Python网络设备管理网络监控配置验证报告生成其它
SSH MCP Server 是一个集中式的网络设备管理系统,通过SSH API执行网络交换机命令,提供网络监控、配置验证和报告生成等高级功能。
View on GitHub

Overview

基本能力

产品定位

SSH MCP Server 是一个集中式的网络设备管理系统,主要用于网络设备的监控、配置管理和报告生成。

核心功能

  1. 设备管理
  2. 网络设备清单管理,包括位置、角色、型号和操作系统版本等元数据。
  3. 设备分组功能,可按功能、位置或自定义属性分组。
  4. 设备状态跟踪和可用性监控。

  5. 命令执行

  6. 通过SSH API在设备上执行show命令。
  7. 支持周期性命令执行以进行监控。
  8. 支持在多台设备上并发执行命令。
  9. 支持命令模板和变量替换。

  10. 数据处理

  11. 将命令输出解析为结构化数据。
  12. 在数据库中存储历史命令输出。
  13. 支持跨设备或跨时间的输出比较。
  14. 检测设备配置和状态的变化。

  15. 报告生成

  16. 生成设备清单、命令输出和配置变更等报告。
  17. 支持自定义报告模板,输出格式包括HTML、JSON和CSV。
  18. 支持定时报告生成和分发。

适用场景

  • 企业网络设备的集中管理和监控。
  • 网络配置的自动化验证和变更管理。
  • 网络性能和历史数据的报告生成。

使用教程

使用依赖

  1. Python 3.8+:确保系统已安装Python 3.8或更高版本。
  2. PostgreSQL 12+:用于数据库存储。
  3. Redis:用于任务队列。
  4. SSH API Service:用于与设备通信。

安装教程

  1. 克隆仓库:
git clone https://github.com/your-org/ssh-mcp-server.git
cd ssh-mcp-server
  1. 创建虚拟环境并安装依赖:
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
  1. 设置环境变量:
cp .env.example .env
# 编辑.env文件配置相关设置
  1. 设置数据库:
createdb mcp_server
alembic upgrade head
  1. 启动服务:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

调试方式

  1. 运行测试:
pytest
  1. 创建新的数据库迁移:
alembic revision --autogenerate -m "Description of changes"
alembic upgrade head
  1. 访问API文档:
  2. Swagger UI: http://localhost:8000/api/v1/docs
  3. ReDoc: http://localhost:8000/api/v1/redoc

许可证

该项目遵循 MIT 开源许可条款。