使用说明
Arris SB8200 MCP
通过模型上下文协议(MCP)监控Arris SB8200电缆调制解调器的状态和事件日志。
特性
- 两个MCP工具:
get_modem_status:Arris SB8200的启动程序、信道统计(下游/上游)、系统时间get_modem_event_log:带有时间戳和优先级的事件历史记录
- ISO 8601时间戳:所有时间均为标准时间
YYYY-MM-DDTHH:MM:SSLLM消费格式 - 类型化数据:正确键入为int/float的数值(不是字符串)
- 模块化设计:HTTP获取、解析和MCP工具的干净分离
- 慢速调制解调器支持:具有重试逻辑的60秒默认超时
需求
- Python 3.10+ (使用match语句和现代类型提示)
- 看
requirements.txt用于包依赖关系
安装
- 设置虚拟环境并安装依赖项:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
- 验证设置:
python check_setup.py
- 配置Claude桌面:
./setup_mcp.sh
- 重新启动克劳德桌面
手动配置(如果安装脚本不起作用):
- 复制
claude_desktop_config.example.json到您的Claude Desktop配置目录 - 在macOS上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在Windows上:
%APPDATA%\Claude\claude_desktop_config.json - 更新Python venv和安装目录的路径
MCP使用
在Claude Desktop中配置后,您可以询问:
状态查询:
- “检查我的电缆调制解调器状态”
- “我的下游信道的信噪比是多少?”
- “显示我的上游功率水平”
- “我的调制解调器上有任何未纠正的错误吗?”
事件日志查询:
- “显示最近的调制解调器事件”
- “我的调制解调器今天记录了哪些错误?”
- “检查我的电缆调制解调器事件历史记录”
输出格式
状态工具(get_modem_status)
{
"system_time": "2026-01-24T14:22:31",
"downstream_count": 33,
"downstream_channels": [
{
"channel": 4,
"status": "Locked",
"modulation": "QAM256",
"frequency_mhz": 447.0,
"power_dbmv": 0.7,
"snr_db": 41.5,
"corrected": 0,
"uncorrected": 0
}
],
"upstream_count": 4,
"upstream_channels": [
{
"channel": 1,
"channel_id": 1,
"status": "Locked",
"type": "SC-QAM",
"frequency_mhz": 16.4,
"width_mhz": 6.4,
"power_dbmv": 44.0
}
],
"startup_procedure": [
{"procedure": "Acquire Downstream Channel", "status": "543000000 Hz", "comment": "Locked"}
]
}
事件日志工具(get_modem_event_log)
{
"events": [
{
"timestamp": "2026-01-18T22:06:08",
"priority": "Notice",
"priority_level": 6,
"description": "CM-STATUS message sent..."
}
],
"event_count": 29
}
建筑
该项目采用模块化设计 src/cm/:
- src/cm/common.py:带重试逻辑的HTTP获取、文本解析、验证器
- src/cm/status_parser.py:解析启动程序、下游/上游通道、系统时间
- src/cm/event_log_parser.py:使用ISO 8601时间戳转换解析事件日志
- src/cm/mcp_server.py:MCP服务器公开了两个工具
故障排除
验证设置:
python check_setup.py
测试MCP工具:
python test_mcp.py
手动运行服务器:
# From source
python -m cm.mcp_server
# Or after install (console script)
sb8200-status
然后通过stdin发送JSON-RPC命令:
{"jsonrpc":"2.0","method":"tools/list","id":1}
检查调制解调器连接:
curl -I http://192.168.100.1/cmconnectionstatus.html