mcp it操作
MCP服务器,向Claude公开家庭实验室和IT操作工具。设计用于逐个工具地扩展,从Linux家庭实验室上实际可测试的内容开始,并在公司测试环境可用时扩展到AD/NIntune/M365。
状态:v0.0.5(2026-04-19) --8个工作工具,37个pytest测试,Python 3.10/3.11/3.12上的CI绿色。工具分为以下类别模块 tools/。在niborserver上进行了本地测试。尚未在PyPI上;从源代码安装。它今天做什么
一旦安装并连接到Claude(桌面或代码),Claude可以调用:
| 工具 | 它做什么 |
|---|---|
get_system_health | 本地主机的主机名、正常运行时间、1分钟负载、内存%、根磁盘%和正在运行的容器计数。读取 /proc +贝壳出来 df 和 docker ps. |
get_grafana_alert_state | 查询Grafana Prometheus-style规则API,并返回按状态(激发/挂起/不活动/no_data/error)分组的警报,其中包含名称、文件夹、运行状况、上次评估和注释。 |
get_freqtrade_bot_status(bot) | 利润,获胜率,开放贸易计数,平衡从一个频率贸易REST API。通过配置解析机器人名称。 |
get_container_status | 满 docker ps 解析为结构化的每个容器记录(名称、图像、状态、运行状况、正常运行时间、端口)。 |
query_loki_logs(query, since, limit) | 洛基LogQL query_range 反对 localhost:3100.返回结构化流+行,限制为1000。 |
get_smartd_health(device='/dev/nvme0n1') | NVMe/SATA智能运行状况 sudo smartctl -a --整体健康状况、严重警告、温度、可用备件、使用百分比、通电时间、不安全停机、介质错误。 |
get_backup_status | 阅读 /var/log/niborserver-backup.log 并报告last_run_started/complete/duration/size/successful。关闭“观察观察者”循环。 |
query_influxdb_flux(flux, bucket) | 对本地InfluxDB v2执行Flux查询,并返回解析的CSV记录(最多500行)。通过验证 INFLUXDB_TOKEN + INFLUXDB_ORG env变量。 |
路线图
get_uptime_kuma_status-通过正常运行时间Kuma API获取监视器状态- HTTP传输,以便openclaw/其他尾网对等体可以查询niborserver驻留工具(目前仅限stdio)
- _最终_:
get_ad_user,get_intune_compliance,get_m365_service_health--当公司测试环境可用时
快速入门
在MCP服务器将运行的主机上
git clone https://github.com/bastiaan365/mcp-it-ops.git
cd mcp-it-ops
python3 -m venv .venv
.venv/bin/pip install -e .配置
复制示例并自定义:
cp config/settings.example.yaml config/settings.yaml
# Edit config/settings.yaml — point at your Grafana, freqtrade bots, etc.秘密来自环境变量,而不是YAML。默认环境变量名称:
| Env var | 什么 |
|---|---|
GRAFANA_PASSWORD | Grafana管理员密码(引用自 grafana.password_env) |
FT_STEADY_USER / FT_STEADY_PASS | frektrade bot1 API基本授权 |
FT_FUN_USER / FT_FUN_PASS | frektrade bot2 API基本授权 |
连接到克劳德桌面
添加 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上,或 %APPDATA%/Claude/claude_desktop_config.json 在Windows上:
{
"mcpServers": {
"it-ops": {
"command": "/path/to/mcp-it-ops/.venv/bin/mcp-it-ops",
"env": {
"GRAFANA_PASSWORD": "your-grafana-password",
"MCP_IT_OPS_CONFIG": "/path/to/mcp-it-ops/config/settings.yaml"
}
}
}
}重新启动克劳德桌面。这些工具出现在“it ops”下。
无克劳德烟雾测试
GRAFANA_PASSWORD=... .venv/bin/python -c "
from mcp_it_ops.server import get_system_health, get_grafana_alert_state
import json
print(json.dumps(get_system_health(), indent=2))
print(json.dumps(get_grafana_alert_state().get('summary'), indent=2))
"或使用官方MCP检查员:
.venv/bin/python -m mcp dev src/mcp_it_ops/server.py需求
- Python 3.10+
mcp>=1.27.0,httpx>=0.27,pyyaml>=6.0(自动安装)- 读取访问权限
/proc,df,docker ps为了get_system_health - 网络覆盖+您所需工具的服务凭据
发展如何运作
src/mcp_it_ops/server.py--所有工具定义tests/--pytest试验;每个工具一个文件(TODO:回填)config/settings.example.yaml--提交模板;config/settings.yaml被忽视了
添加工具时:请参见 CLAUDE.md 对于工作流+设计惯例。
许可证
麻省理工学院
