krish2718/wifi-mcp-server
If you are the rightful owner of wifi-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The WiFi MCP Server is a Model Context Protocol server designed for monitoring and managing WiFi networks, providing real-time access to WiFi information for AI assistants.
scan_wifi
Scan for available WiFi networks
get_wifi_status
Get current WiFi connection status
get_signal_strength
Get detailed signal strength and quality metrics
list_interfaces
List all available network interfaces
WiFi MCP Server
A Model Context Protocol (MCP) server that provides WiFi network monitoring and management tools. This server can be integrated with Continue.dev, Claude Desktop, or any MCP-compatible client to give AI assistants real-time access to WiFi information.
Features
- š” WiFi Network Scanning: Discover available wireless networks
- š Connection Status: Get current WiFi connection details
- š¶ Signal Strength: Monitor signal quality and strength metrics
- š Interface Management: List and manage network interfaces
- š Real-time Updates: Live monitoring of network conditions
Prerequisites
- Python 3.8 or higher
- Linux system with WiFi capabilities
- Network management tools:
iw
,iwconfig
,ip
(usually pre-installed) - Root/sudo access for some network operations
Installation
Quick Setup
# Clone or navigate to the project directory
cd ~/wifi-mcp-server
# Install dependencies
pip install -r requirements.txt
# Optional: Install in development mode
pip install -e .
Alternative Setup with Virtual Environment
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
Running the Demo
1. Standalone Testing
Test the WiFi tools without MCP integration:
# Run standalone tests
python3 standalone_test.py
# Or use the Makefile
make test-standalone
2. MCP Server Testing
Test the full MCP server functionality:
# Test all MCP tools
python3 test_wifi_server.py ./wifi_mcp_server.py
# Or use the Makefile
make test-mcp
3. Running the MCP Server
Start the server in stdio mode (for integration with MCP clients):
# Run the server directly
python3 wifi_mcp_server.py
# Or using the provided script
./run_server.sh
Integration Examples
VS Code MCP Integration
To integrate the WiFi MCP Server with Visual Studio Code, add the following to your VS Code settings (~/.config/Code/User/settings.json
):
{
"mcp": {
"servers": {
"wifi-mcp-server": {
"type": "stdio",
"command": "~/wifi-mcp-server/wifi_mcp_server.py",
"args": []
}
}
}
}
This enables MCP-based WiFi tools directly within VS Code.
Available Tools
1. scan_wifi
Scan for available WiFi networks
Parameters:
interface
(optional): WiFi interface name (e.g., "wlan0")
Example usage:
# In Continue.dev chat:
"Scan for available WiFi networks"
2. get_wifi_status
Get current WiFi connection status
Parameters:
interface
(optional): WiFi interface name
Example usage:
# In Continue.dev chat:
"What's my current WiFi status?"
3. get_signal_strength
Get detailed signal strength and quality metrics
Parameters:
interface
(optional): WiFi interface name
Example usage:
# In Continue.dev chat:
"Check my WiFi signal strength"
4. list_interfaces
List all available network interfaces
Example usage:
# In Continue.dev chat:
"Show me all network interfaces"
Demo Scenarios
Basic Network Monitoring
-
Check Current Status:
"What's my current WiFi status?"
-
Scan for Networks:
"Scan and list available WiFi networks"
-
Monitor Signal Quality:
"How strong is my WiFi signal?"
Troubleshooting Workflow
-
Network Diagnostics:
"Help me diagnose my WiFi connection issues"
-
Compare Networks:
"Show me all available networks and their signal strengths"
-
Interface Information:
"List all my network interfaces and their status"
Development
Project Structure
wifi-mcp-server/
āāā wifi_mcp_server.py # Main MCP server implementation
āāā test_wifi_server.py # MCP server test suite
āāā standalone_test.py # Standalone functionality tests
āāā requirements.txt # Python dependencies
āāā setup.py # Package setup configuration
āāā Makefile # Build and test commands
āāā README.md # This file
Running Tests
# Run all tests
make test
# Run specific test suites
make test-standalone # Test WiFi functions directly
make test-mcp # Test MCP server functionality
# Run with verbose output
python3 test_wifi_server.py ./wifi_mcp_server.py
Development Setup
# Set up development environment
make dev-setup
# Install in development mode
make install
# Format code
make lint
Troubleshooting
Common Issues
-
Permission Errors:
# Some WiFi operations require sudo sudo python3 wifi_mcp_server.py
-
Missing Dependencies:
pip install mcp
-
Network Tools Not Found:
# Install wireless tools (Ubuntu/Debian) sudo apt install wireless-tools iw net-tools # Install wireless tools (CentOS/RHEL) sudo yum install wireless-tools iw net-tools
-
MCP Server Not Starting:
# Check if MCP library is installed python3 -c "import mcp; print('MCP installed successfully')" # Run server with debug output python3 wifi_mcp_server.py 2>&1 | tee debug.log
Debug Mode
Enable debug logging by setting environment variable:
export DEBUG=1
python3 wifi_mcp_server.py
Checking Integration
-
Test MCP Server Directly:
echo '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | python3 wifi_mcp_server.py
-
Verify Continue.dev Integration:
- Check Continue.dev logs:
~/.continue/logs/continue.log
- Look for MCP server loading messages
- Test with simple WiFi queries
- Check Continue.dev logs:
-
Check Network Interface:
# List wireless interfaces iw dev # Check interface status ip link show
License
This project is licensed under the terms specified in the LICENSE file.
Examples Output
WiFi Status Example
{
"interface": "wlan0",
"connected_ssid": "ExampleSSID",
"access_point": "00:11:22:33:44:55",
"bit_rate": 300.0,
"link_quality": {
"current": 40,
"max": 70
},
"signal_level": -60
}
Network Scan Example
{
"interface": "wlan0",
"networks": [
{
"bssid": "00:11:22:33:44:55",
"frequency": 5180.0,
"signal": -60,
"ssid": "ExampleSSID"
},
{
"bssid": "66:77:88:99:AA:BB",
"frequency": 2412.0,
"signal": -50,
"ssid": "GuestNetwork"
}
],
"scan_time": 1234567.890123
}
Quick Start Demo
1. Setup and Installation
# Clone or navigate to the project directory
cd ~/wifi-mcp-server
# Option A: Quick setup (system Python)
pip install -r requirements.txt
# Option B: Development setup with virtual environment
make dev-setup
source venv/bin/activate # Activate the virtual environment
2. Test WiFi Functions
# Test standalone WiFi functions (no MCP required)
python3 standalone_test.py
# Expected output: Lists interfaces, shows WiFi status, etc.
3. Test MCP Server
# Test the full MCP server with all tools
python3 test_wifi_server.py ./wifi_mcp_server.py
# Expected output: JSON responses for scan, status, signal strength
4. Run the MCP Server
# Start the server in stdio mode
python3 wifi_mcp_server.py
# The server will wait for JSON-RPC commands via stdin
# Press Ctrl+C to stop
5. Integration with VS Code
Add the following to your VS Code settings (~/.config/Code/User/settings.json
):
{
"mcp": {
"servers": {
"wifi-mcp-server": {
"type": "stdio",
"command": "~/wifi-mcp-server/wifi_mcp_server.py",
"args": []
}
}
}
}
6. Running the agent locally
# Start the MCP server in HTTP mode
nohup python3 wifi_mcp_server.py --mode http &
python3 ./wifi_agent.py --llm-url http://localhost:8000 -model llama3.1:8b --wifi-server-url http://localhost:8080
Note: For running Ollama with Intel GPU acceleration, I used the mattcurf/ollama-intel-gpu Docker service. This enables efficient LLM inference on Intel hardware.
6. Demo Commands
Once integrated, try these commands in the VS Code chat:
"What's my current WiFi status?"
"Scan for available WiFi networks"
"Check my WiFi signal strength"
"List all network interfaces"