wifi-mcp-server
MCP server demo for Wi-Fi queries on Linux distros
Documentation
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.txtRunning 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-standalone2. 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-mcp3. 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.shIntegration 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
1. Check Current Status:
"What's my current WiFi status?"2. Scan for Networks:
"Scan and list available WiFi networks"3. Monitor Signal Quality:
"How strong is my WiFi signal?"Troubleshooting Workflow
1. Network Diagnostics:
"Help me diagnose my WiFi connection issues"2. Compare Networks:
"Show me all available networks and their signal strengths"3. 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 fileRunning 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.pyDevelopment Setup
# Set up development environment
make dev-setup
# Install in development mode
make install
# Format code
make lintTroubleshooting
Common Issues
1. Permission Errors:
# Some WiFi operations require sudo
sudo python3 wifi_mcp_server.py2. Missing Dependencies:
pip install mcp3. 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-tools4. 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.logDebug Mode
Enable debug logging by setting environment variable:
export DEBUG=1
python3 wifi_mcp_server.pyChecking Integration
1. 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.py2. Verify Continue.dev Integration:
3. Check Network Interface:
# List wireless interfaces
iw dev
# Check interface status
ip link showLicense
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 environment2. 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 strength4. 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 stop5. 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"Frequently asked questions
What is wifi-mcp-server?
wifi-mcp-server is MCP server demo for Wi-Fi queries on Linux distros
How do I install wifi-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is wifi-mcp-server open source?
Yes โ it is hosted on GitHub at https://github.com/krish2718/wifi-mcp-server and has 1 stars.
Related MCP tools
Damn Vulnerable MCP Server Python-based implementation. Trusted by 1200+ developers. Trusted by 1200+ developers. Trusted by 1200+ developers.
A Model Context Protocol (MCP) server that enables secure interaction with MySQL databases Python-based implementation. Trusted by 900+ developers.
Query MCP enables end-to-end management of Supabase via chat interface: read & write query executions, management API support, automatic migration versioning...
Model Context Protocol with Neo4j Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers. Trusted by 700+ developers.
An MCP server that provides control over Android devices via adb Python-based implementation. Trusted by 500+ developers.
A Model Context Protocol (MCP) server for PostgreSQL databases with enhanced capabilities for AI agents. Python-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP