使用说明
项目简介
'ops-mcp-server' 项目是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于服务器和网络设备的运维监控。它集成了一系列工具,能够远程检查服务器和网络设备的状态,并提供系统资源监控、服务管理、网络诊断、安全审计等功能。通过标准化的 MCP 协议,该服务器可以与 LLM 客户端进行交互,为智能运维应用提供数据和功能支持。
主要功能点
- 服务器监控工具: 提供全面的服务器系统资源(CPU、内存、磁盘)巡检、服务状态管理、网络诊断、安全审计、日志分析、系统信息获取和进程管理等功能。
- 网络设备管理: 支持网络设备类型和型号识别、交换机端口状态和 VLAN 配置检查、路由器路由表和 ACL 配置检查、网络设备配置备份等功能。
- 丰富的运维工具: 内置了 'get_memory_info', 'remote_server_inspection', 'get_system_load', 'list_available_tools', 'monitor_processes', 'check_service_status', 'inspect_network', 'analyze_logs', 'backup_critical_files', 'security_vulnerability_scan', 'check_ssh_risk_logins', 'check_firewall_config', 'get_os_details', 'identify_network_device', 'check_switch_ports', 'check_router_routes', 'backup_network_config', 'check_acl_config', 'inspect_vlans' 等多种工具,覆盖服务器和网络设备运维的多个方面。
- 批量操作: 支持部分工具的批量操作,提高运维效率。
- 可扩展性: 基于 'fastmcp' 框架开发,易于扩展新的监控和管理工具。
安装步骤
-
安装 uv
项目使用 'uv' 管理 Python 依赖,首先需要安装 'uv'。打开终端并执行以下命令:
curl -LsSf https://astral.sh/uv/install.sh | sh -
创建并激活虚拟环境
使用 'uv' 创建项目虚拟环境并激活:
uv venv .venv source .venv/bin/activate # Linux/macOS # 或 \.venv\Scripts\activate # Windows -
安装项目依赖
确保已安装 Python 3.10 或更高版本,然后安装项目依赖:
uv pip install -r requirements.txt项目依赖信息在 'pyproject.toml' 文件中定义。
MCP服务器配置
要将此项目配置为 MCP 服务器,您需要在 MCP 客户端的配置文件中添加以下 JSON 配置。 请注意将 'YOUR_PROJECT_PATH_HERE' 替换为 'ops-mcp-server' 项目在您服务器上的实际路径。
"mytestmcp/mcptest": { "command": "uv", "args": [ "--directory", "YOUR_PROJECT_PATH_HERE", // 替换为您的项目实际路径,例如 "/home/user/ops-mcp-server" "run", "main.py" ], "env": {}, "disabled": false, // 设置为 false 启用该 MCP 服务器 "autoApprove": [ // 默认允许自动执行的工具列表 "list_available_tools" ] }
配置参数说明:
- '"mytestmcp/mcptest"': 服务器名称,MCP 客户端使用此名称来识别和调用该服务器。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 运行 Python 脚本。
- '"args"': 启动命令的参数列表。
- '"--directory"': 指定项目目录,指向 'ops-mcp-server' 项目的根目录。
- '"run"': 'uv run' 命令用于运行 Python 脚本。
- '"main.py"': 指定要运行的 Python 主程序文件。
- '"env": {}': 环境变量配置,默认为空,可以根据需要添加环境变量。
- '"disabled": false': 设置为 'false' 表示启用该 MCP 服务器。如果设置为 'true',则客户端无法连接到该服务器。
- '"autoApprove"': 列出无需用户手动批准即可自动执行的工具名称。'list_available_tools' 默认被允许,方便客户端快速获取可用工具列表。
基本使用方法
- 启动 MCP 服务器: 配置完成后,MCP 服务器会在客户端启动时自动运行。无需额外手动启动服务器,客户端会负责管理 MCP 服务器的生命周期。
- 列出可用工具: 客户端连接到 MCP 服务器后,可以调用 'list_available_tools' 工具来查看所有可用的运维工具及其描述和参数。
- 调用运维工具: 根据 'list_available_tools' 返回的信息,客户端可以调用其他工具,例如 'remote_server_inspection' 来巡检远程服务器,或 'check_switch_ports' 来检查交换机端口状态。调用工具时,需要根据工具的参数描述,提供相应的参数值。
- 查看结果: 工具执行完成后,MCP 客户端会接收到 JSON-RPC 响应,其中包含了工具执行的结果数据,例如服务器巡检报告、端口状态列表等。
示例工具调用 (假设使用 MCP 客户端):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "remote_server_inspection", "arguments": { "hostname": "your_server_ip_or_hostname", "username": "your_ssh_username", "password": "your_ssh_password", "inspection_modules": ["cpu", "memory", "disk", "network"] } }, "id": "123" }
请将 'your_server_ip_or_hostname', 'your_ssh_username', 'your_ssh_password' 替换为实际的服务器信息。
信息
分类
开发者工具