trackmcp
Back to directory
krish2718

wifi-mcp-server

View on GitHub

MCP server demo for Wi-Fi queries on Linux distros

1 stars PythonServers & Infrastructure Updated Jun 1, 2025

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

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

bash
# 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:

bash
# Run standalone tests
python3 standalone_test.py

# Or use the Makefile
make test-standalone

2. MCP Server Testing

Test the full MCP server functionality:

bash
# 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):

bash
# 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`):

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:

bash
# 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:

bash
# 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:

bash
# In Continue.dev chat:
"Check my WiFi signal strength"

4. `list_interfaces`

List all available network interfaces

Example usage:

bash
# In Continue.dev chat:
"Show me all network interfaces"

Demo Scenarios

Basic Network Monitoring

1. Check Current Status:

code
"What's my current WiFi status?"

2. Scan for Networks:

code
"Scan and list available WiFi networks"

3. Monitor Signal Quality:

code
"How strong is my WiFi signal?"

Troubleshooting Workflow

1. Network Diagnostics:

code
"Help me diagnose my WiFi connection issues"

2. Compare Networks:

code
"Show me all available networks and their signal strengths"

3. Interface Information:

code
"List all my network interfaces and their status"

Development

Project Structure

code
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

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

bash
# Set up development environment
make dev-setup

# Install in development mode
make install

# Format code
make lint

Troubleshooting

Common Issues

1. Permission Errors:

bash
# Some WiFi operations require sudo
   sudo python3 wifi_mcp_server.py

2. Missing Dependencies:

bash
pip install mcp

3. Network Tools Not Found:

bash
# 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:

bash
# 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:

bash
export DEBUG=1
python3 wifi_mcp_server.py

Checking Integration

1. Test MCP Server Directly:

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

    3. Check Network Interface:

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

    json
    {
        "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

    json
    {
        "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

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

    bash
    # Test standalone WiFi functions (no MCP required)
    python3 standalone_test.py
    
    # Expected output: Lists interfaces, shows WiFi status, etc.

    3. Test MCP Server

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

    bash
    # 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`):

    json
    {
        "mcp": {
            "servers": {
                "wifi-mcp-server": {
                    "type": "stdio",
                    "command": "~/wifi-mcp-server/wifi_mcp_server.py",
                    "args": []
                }
            }
        }
    }

    6. Running the agent locally

    bash
    # 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:

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

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP