Skip to main content

MCP server to detect WiFi/Ethernet/USB devices, SSH into them, deploy files, run tests, and manage services. Supports WiFi-hop for devices with no internet.

Project description

Device Scanner MCP

An MCP (Model Context Protocol) server that detects WiFi, Ethernet, and USB devices — and lets you SSH into them, deploy files, run tests, and manage services, all through Claude Code.

Works with any company/product — all config lives in .env.

Features

  • 23 tools covering scanning, SSH, SCP, deployment, testing, health checks, logs, services, and more
  • WiFi-hop: auto-switches WiFi to a device (no internet), runs commands, switches back
  • Ethernet/USB: direct SSH — no hopping needed
  • Multi-device: run commands across multiple devices in one call
  • GTest parser: structured pass/fail results from test binaries
  • Zero hardcoded secrets — everything in .env

Quick Install

For Claude Code users

claude mcp add device-scanner -- uvx device-scanner-mcp

Or with pip:

pip install device-scanner-mcp
claude mcp add device-scanner -- python -m device_scanner_mcp

Setup

  1. Create a .env file in your working directory (copy from .env.example):
COMPANY_NAME=MyCompany
OFFICE_SSIDS=Office-WiFi,Guest-WiFi
DEVICE_PREFIXES=MYDEVICE_,SENSOR_
DEVICE_MYDEVICE=192.168.4.1,192.168.5.1,,root,password
DEVICE_ALIASES=Robot:MYDEVICE
  1. Run Claude Code and start using the tools.

Tools

Scanning

Tool Description
scan_wifi List visible WiFi networks
scan_network_adapters List Ethernet/WiFi/BT adapters
scan_usb_devices List USB devices
scan_all_connections All of the above

Direct SSH/SCP (Ethernet & USB)

Tool Description
device_ssh Run commands on device
device_ssh_batch Run a script on device
device_scp_push Push file to device
device_scp_pull Pull file from device
device_ping Check device reachability
multi_device_ssh Run commands on multiple devices

WiFi Hop (auto switches WiFi back and forth)

Tool Description
wifi_hop_ssh Hop + run commands + hop back
wifi_hop_ssh_batch Hop + run script + hop back
wifi_hop_scp_push Hop + push file + hop back
wifi_hop_scp_pull Hop + pull file + hop back

Device Management

Tool Description
device_deploy Tar + push + extract in one call
device_health CPU, RAM, disk, temp, uptime
device_reboot Reboot + wait for recovery
device_run_tests Run test binaries, parse GTest results
device_logs Fetch dmesg, syslog, journal logs
device_service Start/stop/restart systemd services
device_process_list List running processes

WiFi Management

Tool Description
wifi_switch Switch between office WiFi networks
wifi_status Current WiFi connection info

.env Configuration

See .env.example for full documentation. Key settings:

# Company
COMPANY_NAME=MyCompany

# Office WiFi (with internet)
OFFICE_SSIDS=Office-5G,Guest-WiFi

# Device SSID prefixes (no internet)
DEVICE_PREFIXES=ROBOT_,SENSOR_

# Device profiles: wifi_ip,eth_ip,usb_ip,user,password
DEVICE_ROBOT=192.168.4.1,192.168.5.1,192.168.6.1,root,password

# Aliases: product_name:ssid_prefix
DEVICE_ALIASES=MainRobot:ROBOT

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

device_scanner_mcp-1.1.0.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

device_scanner_mcp-1.1.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file device_scanner_mcp-1.1.0.tar.gz.

File metadata

  • Download URL: device_scanner_mcp-1.1.0.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for device_scanner_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 660f871b320d0d92dd423409d851f504f957763efa3010c8eaa70698feb08560
MD5 bdf4134c4f631529676da028a621a415
BLAKE2b-256 fd0056aba3023772f35a478ef1c1cd3812b17eeb984298f84b638394c2834c24

See more details on using hashes here.

File details

Details for the file device_scanner_mcp-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for device_scanner_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ab00af2fde5b312417e2528cddb3ee2284affb3acdbdbeff196773cd387a800
MD5 dc828fa70566b1be2c7528b5b4546482
BLAKE2b-256 a144dde97f4a670efbd72f3f4bdbdaac03c80cec23cee8392cdca8091376bcb8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page