实验室测试MCP服务器
   
MCP服务器向AI助手展示远程嵌入式硬件测试功能。
版本: 0.4.1
任务
使工程师能够轻松访问远程嵌入式硬件开发。
该项目旨在使远程硬件测试和开发尽可能无缝。远程工作的工程师应该能够:
- 发现并连接 轻松使用实验室设备
- 设置安全访问 (SSH密钥,无密码sudo),摩擦最小
- 运行命令和测试 在无需复杂设置的远程板上
- 构建和部署 远程设备的应用程序
- 安全清理 完成时
MCP服务器提供智能工具,指导工程师完成最佳实践,建议下一步行动,并自动处理常见工作流程。当问题出现时,这些工具会提供可操作的建议和明确的下一步行动。
关键设计原则:
- 易用性:工具应该直观,需要最少的配置
- 有用的指导:错误消息包括建议和后续步骤
- 最佳实践:工具引导用户实现安全、可维护的工作流程
- 远程优先:针对通过VPN远程工作的工程师进行了优化
⚠️ 阿尔法质量警告:此程序包当前位于 阿尔法 发展状况。它是 未准备好用于专业或生产用途.API可能会更改,功能可能不完整,并且可能存在错误。使用风险自负。看 发布.md 了解更多详情。
安装
要求:
- Python 3.10+ (MCP SDK需要Python 3.10+)
- WireGuard工具 (有关VPN功能)-请参阅 VPN设置指南
- fioctl命令行界面工具 (可选,了解Foundries VPN功能)-请参阅 Foundries VPN设置
来自PyPI(推荐)
# Install from PyPI
python3.10 -m pip install ai-lab-testing
# Or with development dependencies
python3.10 -m pip install "ai-lab-testing[dev]"来源
# Clone the repository
git clone https://github.com/DynamicDevices/ai-lab-testing.git
cd ai-lab-testing
# Install in development mode
python3.10 -m pip install -e ".[dev]"
# Verify installation
python3.10 lab_testing/test_server.py配置
MCP服务器配置
添加到光标MCP配置(~/.cursor/mcp.json):
{
"mcpServers": {
"ai-lab-testing": {
"command": "python3.10",
"args": ["/path/to/ai-lab-testing/lab_testing/server.py"],
"env": {
"LAB_TESTING_ROOT": "/path/to/ai-lab-testing",
"VPN_CONFIG_PATH": "/path/to/wg0.conf"
}
}
}
}重要提示: 使用 python3.10 (或 python3.11+)因为MCP SDK需要Python 3.10+。
目标网络配置
配置实验室测试操作的目标网络:
选项1:环境变量 (in ~/.cursor/mcp.json):
{
"mcpServers": {
"ai-lab-testing": {
"command": "python3.10",
"args": ["/path/to/ai-lab-testing/lab_testing/server.py"],
"env": {
"LAB_TESTING_ROOT": "/path/to/ai-lab-testing",
"TARGET_NETWORK": "192.168.2.0/24"
}
}
}
}选项2:配置文件 (in lab_devices.json):
{
"lab_infrastructure": {
"network_access": {
"target_network": "192.168.2.0/24",
"lab_networks": ["192.168.2.0/24"]
}
}
}默认: 192.168.2.0/24 如果未配置。
工具超时
一些工具,如 create_network_map 全网络扫描可能需要30秒以上。如果工具调用超时:
- 使用
quick_mode: true跳过网络扫描(在5秒内完成) - 网络扫描已优化,具有更快的超时和更高的并行性
VPN设置
服务器自动检测WireGuard VPN配置。如果你没有:
- 看 docs/VPN_SETUP.md 安装指南
- 使用MCP工具:
vpn_setup_instructions,create_vpn_config_template
看 docs/SETUP.md 了解详细的设置说明或 mcp.json.example 对于模板。
建筑
graph TB
subgraph "AI Assistant"
AI[Claude/Cursor]
end
subgraph "MCP Server"
MCP[server.py]
TOOLS[Tools]
RES[Resources]
end
subgraph "Lab Framework"
CFG[Config]
DEV[Device Manager]
VPN[VPN Manager]
PWR[Power Monitor]
end
subgraph "Hardware"
BOARD[iMX Boards]
DMM[DMM]
TASMOTA[Tasmota]
end
AI -->|MCP| MCP
MCP --> TOOLS
TOOLS --> DEV
TOOLS --> VPN
TOOLS --> PWR
DEV --> BOARD
PWR --> DMM数据流:AI→ MCP服务器→ 工具→ 实验室框架→ 硬件
工具
- 设备:
list_devices(带过滤、排序、限制、汇总统计数据、电源状态)-使用电源开关列显示设备清单:Tasmota设备显示自己的电源状态(🟢 ON/🔴 OFF),其他设备显示哪个电源开关控制它们。支持按类型、状态、SSH状态、电源状态和搜索进行过滤。支持按IP、friendly_name、status或last_seen排序。支持限制结果。使用force_refresh绕过缓存。test_device,ssh_to_device,verify_device_identity,verify_device_by_ip,update_device_ip,update_device_friendly_name - 虚拟专用网络:
vpn_status,connect_vpn,disconnect_vpn - 力量:
start_power_monitoring(DMM或Tasmota),get_power_logs,analyze_power_logs,monitor_low_power,compare_power_profiles-通过DMM(SCPI)或Tasmota能量监测进行功率监测 - 塔莫塔:
tasmota_control,list_tasmota_devices,power_cycle_device-通过Tasmota开关关闭设备电源。Tasmota设备显示电源状态(🟢 ON/🔴 电源开关列中的OFF)和设备列表类型列中的功耗(瓦特) - 测试设备:
list_test_equipment,query_test_equipment-通过SCPI协议自动检测和查询测试设备(DMM、示波器) - OTA/集装箱:
check_ota_status,trigger_ota_update,list_containers,deploy_container,get_system_status,get_firmware_version,get_foundries_registration_status,get_secure_boot_status,get_device_identity - 进程管理:
kill_stale_processes-杀死可能会干扰的重复进程 - 远程访问:
create_ssh_tunnel,list_ssh_tunnels,close_ssh_tunnel,access_serial_port,list_serial_devices-SSH隧道和串行端口访问 - 更改跟踪:
get_change_history,revert_changes-跟踪和还原安全/调试更改 - 批处理/回归:
batch_operation,regression_test,get_device_groups - 网络映射:
create_network_map-网络可视化地图,包括设备类型、正常运行时间、友好名称、电源开关 - 设备验证:
verify_device_identity,verify_device_by_ip,update_device_ip-在DHCP环境中验证设备身份。设备列表显示SSH状态、上次看到的时间戳和电源开关信息(Tasmota设备显示自己的状态,其他设备显示控制开关) - 帮助:
help-获取使用文档和示例
资源
device://inventory-设备清单network://status-网络/VPN状态config://lab_devices-原始配置help://usage-帮助文档和使用示例health://status-服务器运行状况、指标和SSH池状态
发展
# Use Python 3.10+ for development
python3.10 -m pip install -e ".[dev]"
pre-commit install
black . && ruff check . --fix添加工具:在中创建函数 lab_testing/tools/,注册 lab_testing/server/tool_definitions.py 和 lab_testing/server/tool_handlers.py.
版本控制:语义版本控制(主、次、补丁)。更新 version.py,请参阅 更改日志.md.
文档
许可证
GPL-3.0或更高版本-版权所有(C)2025 Dynamic Devices Ltd
看 许可证 获取完整的许可证文本。
维护者
亚历克斯·J·列侬
