关于 SSH MCP Server
SSH MCP Server 是通过 SSH API 集中管理网络设备的系统,面向网络团队提供设备清单、命令执行、监控、配置检查和报告功能。
主要功能
- 01管理并分组网络设备清单
- 02运行和定期执行 SSH 命令
- 03并发执行多设备命令
- 04解析并比较命令输出
- 05检测配置和状态变化
- 06生成定期报告
适用场景
- 01监控设备可用性和状态
- 02比较不同时间的设备输出
- 03通过报告检查配置变更
MCP 相关
README 将其描述为网络管理服务,但未说明面向 MCP 客户端的工具、资源或其他 MCP 功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SSH MCP 服务
SSH MCP(管理控制平面)服务是一个用于网络设备的集中式管理系统。它利用 SSH API 在网络交换机上执行命令,并提供网络监控、配置验证和报告等高级功能。
功能
设备管理
- 网络设备清单及其元数据(位置、角色、型号、OS 版本)
- 按功能、位置或自定义属性对设备分组
- 设备状态跟踪和可用性监控
命令执行
- 通过 SSH API 在设备上执行 show 命令
- 定期安排命令执行,以进行监控
- 在多台设备上并发执行命令
- 支持变量替换的命令模板
数据处理
- 将命令输出解析为结构化数据
- 在数据库中存储历史命令输出
- 比较不同设备或不同时段的输出
- 检测设备配置和状态的变化
报告
- 生成有关设备清单、命令输出和配置变更的报告
- 支持不同输出格式(HTML、JSON、CSV)的自定义报告模板
- 定时生成和分发报告
要求
- Python 3.8+
- PostgreSQL 12+
- Redis(用于任务队列)
- SSH API 服务(用于设备通信)
安装
- 克隆仓库:
git clone https://github.com/your-org/ssh-mcp-server.git
cd ssh-mcp-server
- 创建虚拟环境并安装依赖项:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- 设置环境变量:
cp .env.example .env
# Edit .env with your configuration settings
- 设置数据库:
# Create PostgreSQL database
createdb mcp_server
# Run Alembic migrations
alembic upgrade head
- 启动服务:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
配置
可以通过环境变量或 .env 文件配置应用:
DATABASE_URL:PostgreSQL 连接字符串REDIS_HOST和REDIS_PORT:Redis 连接详情SSH_API_URL:SSH API 服务的 URLSECRET_KEY:用于 JWT 身份验证的密钥- 所有可用配置选项请参阅
.env.example
API 文档
服务运行时,可通过以下地址查看 API 文档:
- Swagger UI:http://localhost:8000/api/v1/docs
- ReDoc:http://localhost:8000/api/v1/redoc
开发
运行测试
pytest
创建新迁移
修改模型后:
alembic revision --autogenerate -m "Description of changes"
alembic upgrade head
架构
应用采用模块化架构,包含以下组件:
- API 层:用于 HTTP 端点的 FastAPI 路由
- 服务层:业务逻辑和操作
- 数据模型:使用 SQLAlchemy 的数据库模型
- 架构模式:用于请求/响应验证的 Pydantic 模型
- 后台任务:用于异步处理的 Celery 工作进程
安全
- 基于 JWT 令牌的身份验证
- 基于角色的访问控制
- 加密存储设备凭据
- 所有通信均使用 HTTPS
许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。