Network Scanner

Provides network discovery, port/service scanning, cluster monitoring, and alerting for infrastructure mapping.
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "marc-shade-network-scanner-mcp": {
      "command": "${AGENTIC_SYSTEM_PATH:-/opt/agentic}/.venv/bin/python",
      "args": [
        "-m",
        "network_scanner_mcp.server"
      ],
      "env": {
        "LOG_LEVEL": "INFO",
        "TTS_VOICE": "en-IE-EmilyNeural",
        "LOG_TO_FILE": "false",
        "MAX_ALERT_HISTORY": "1000",
        "NETWORK_INTERFACE": "eth0",
        "CLUSTER_NODES_JSON": "{\"192.0.2.146\": {\"name\": \"orchestrator\"}}",
        "AGENTIC_SYSTEM_PATH": "/opt/agentic",
        "DEFAULT_SCAN_SUBNET": "192.168.1.0/24",
        "ALERT_ON_NEW_DEVICES": "true",
        "VOICE_ALERTS_ENABLED": "true",
        "SCAN_INTERVAL_SECONDS": "300",
        "NETWORK_SCANNER_DATA_DIR": "/opt/agentic/databases/network-scanner",
        "NODE_CHAT_ALERTS_ENABLED": "true",
        "ALERT_ON_CLUSTER_NODE_DOWN": "true"
      }
    }
  }
}

You use the Network Scanner MCP to map your network, discover devices, scan ports and services, and monitor cluster health. It provides automated discovery, real-time alerts, and integration with other MCP servers to keep your network infrastructure visible and healthy.

How to use

You use an MCP client to run the Network Scanner MCP as part of your Agentic System. Start the server, configure your environment, and then invoke the available tools to perform device discovery, port scanning, and cluster monitoring. Typical workflows include discovering devices on a subnet, identifying unknown devices, scanning common ports to detect services, and checking the health of cluster nodes. Alerts can be enabled to notify you about new devices or cluster node status changes, and results are stored for historical analysis.

How to install

Prerequisites: Python 3.10+, a Python virtual environment, and appropriate system permissions for ARP scanning.

cd ${AGENTIC_SYSTEM_PATH:-/opt/agentic}/mcp-servers/network-scanner-mcp
source ${AGENTIC_SYSTEM_PATH:-/opt/agentic}/.venv/bin/activate

# Install the package
pip install -e .

# For development (includes tests)
pip install -e ".[dev]"

# Install system dependencies (Fedora)
sudo dnf install arp-scan

# For voice alerts (optional)
pip install edge-tts
sudo dnf install mpv

Configuration

The Network Scanner MCP uses a dedicated MCP server configuration and a set of environment variables to control data paths, interfaces, scan behavior, and cluster integration.

# MCP Server Configuration
# Add to ~/.claude.json
{
  "mcpServers": {
    "network-scanner": {
      "command": "${AGENTIC_SYSTEM_PATH:-/opt/agentic}/.venv/bin/python",
      "args": ["-m", "network_scanner_mcp.server"],
      "cwd": "${AGENTIC_SYSTEM_PATH:-/opt/agentic}/mcp-servers/network-scanner-mcp/src"
    }
  }
}

Environment variables

Configure runtime behavior with the following environment variables.

# Global scanner
NETWORK_SCANNER_DATA_DIR="${AGENTIC_SYSTEM_PATH:-/opt/agentic/databases/network-scanner}"
NETWORK_INTERFACE="Auto-detected"
DEFAULT_SCAN_SUBNET="Auto-detected"
LOG_LEVEL="INFO"
LOG_TO_FILE="false"
CLUSTER_NODES_JSON=None

# Alert daemon
SCAN_INTERVAL_SECONDS="300"
VOICE_ALERTS_ENABLED="true"
NODE_CHAT_ALERTS_ENABLED="true"
ALERT_ON_NEW_DEVICES="true"
ALERT_ON_CLUSTER_NODE_DOWN="true"
TTS_VOICE="en-IE-EmilyNeural"
MAX_ALERT_HISTORY="1000"

Cluster nodes configuration

Define the cluster nodes that participate in the monitoring and alerting workflow by creating cluster_nodes.json in the data directory.

{
  "192.0.2.146": {
    "name": "orchestrator",
    "role": "orchestrator",
    "type": "cluster_node"
  },
  "192.0.2.196": {
    "name": "builder",
    "role": "builder",
    "type": "cluster_node"
  },
  "192.0.2.233": {
    "name": "researcher",
    "role": "researcher",
    "type": "cluster_node"
  }
}

Alert daemon and system service

Run the alert daemon to enable continuous monitoring and voice/cluster alerts.

# Run directly
python -m network_scanner_mcp.alert_daemon

# Or use the installed script
network-scanner-daemon

Data storage

All data is stored in the configured data directory, including device history, known devices, cluster nodes, and alerts.

Available tools

scan_network

ARP scan for all devices on a subnet to build a device list.

detect_new_devices

Identify devices that have appeared since the last scan.

get_unknown_devices

Return devices that are not yet recognized as known.

get_device_info

Fetch detailed information about a device by IP or MAC.

get_device_history

Retrieve historical data for a device.

mark_device_known

Mark a device as trusted or known with a label and type.

remove_device_known

Remove a device from the known list.

get_network_topology

Return a full network topology with categorized groups.

scan_device_ports

Scan ports on a specific device with optional port filters.

discover_services

Perform a quick scan to identify services on devices.

get_cluster_nodes

Check status of configured cluster nodes.

check_cluster_health

Ping cluster nodes and report latency-based health.

ping_device

Ping a device to test reachability.

resolve_device_hostname

Resolve a device's hostname via DNS.

get_scanner_status

Return current status and configuration of the scanner.

export_for_security_scan

Export IPs for security-scanner-mcp.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational