wifi-mcp-server

krish2718/wifi-mcp-server

3.2

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.

Tools
  1. scan_wifi

    Scan for available WiFi networks

  2. get_wifi_status

    Get current WiFi connection status

  3. get_signal_strength

    Get detailed signal strength and quality metrics

  4. 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

  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 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

  1. Permission Errors:

    # Some WiFi operations require sudo
    sudo python3 wifi_mcp_server.py
    
  2. Missing Dependencies:

    pip install mcp
    
  3. 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
    
  4. 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

  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.py
    
  2. Verify Continue.dev Integration:

    • Check Continue.dev logs: ~/.continue/logs/continue.log
    • Look for MCP server loading messages
    • Test with simple WiFi queries
  3. 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"