Home network health checks — run by you or your AI
Project description
netglance
Home network health checks — run by you or your AI.
A Python toolkit for network discovery, monitoring, and security checks. Use it three ways:
- CLI — 30+ commands for scanning, diagnostics, and monitoring straight from your terminal
- Library — import
netglancemodules into your own Python scripts and automations - AI agent — runs as an MCP server so Claude, Copilot, Cursor, or any MCP-compatible assistant can diagnose your network for you
Covers device discovery (ARP/mDNS), connectivity (ping, speed, jitter, bufferbloat, traceroute), security (DNS leaks, ARP spoofing, TLS, rogue DHCP, firewall), WiFi analysis, port scanning, IoT fingerprinting, and continuous monitoring with alerts.
Install
# with uv (recommended)
uv tool install netglance
# or with pip
pip install netglance
Quick start
# Find devices on your network
sudo netglance discover
# Run a full health check
netglance report
# Check DNS for leaks
netglance dns
# Measure speed
netglance speed
Development
git clone https://github.com/timainge/netglance.git
cd netglance
uv pip install -e ".[dev]"
uv run pytest
# Docs site (local preview)
uv run --group docs mkdocs serve
AI Agent Mode (MCP)
netglance works as an MCP server — any AI assistant can run network diagnostics on your behalf. Ask Claude "what's on my network?" and it calls the right tools, interprets the results, and explains what to do.
# Start the MCP server
netglance mcp serve
# Or via the dedicated entry point
netglance-mcp
Claude Desktop (macOS)
File: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"netglance": {
"command": "uvx",
"args": ["netglance-mcp"]
}
}
}
Claude Code
claude mcp add netglance -- uvx netglance-mcp
Cursor
File: ~/.cursor/mcp.json
{
"mcpServers": {
"netglance": {
"command": "uvx",
"args": ["netglance-mcp"]
}
}
}
VS Code (Copilot)
File: .vscode/mcp.json
{
"servers": {
"netglance": {
"type": "stdio",
"command": "uvx",
"args": ["netglance-mcp"]
}
}
}
Windsurf
File: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"netglance": {
"command": "uvx",
"args": ["netglance-mcp"]
}
}
}
JetBrains
Settings → Tools → AI Assistant → MCP → Add stdio server:
- Command:
uvx - Arguments:
netglance-mcp
The MCP server exposes network diagnostic tools including device discovery, connectivity checks, DNS health, port scanning, WiFi analysis, speed tests, and more. See netglance mcp tools for the full list.
Some tools (ARP scanning, packet capture) require elevated privileges. Run with sudo if needed.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netglance-0.2.2.tar.gz.
File metadata
- Download URL: netglance-0.2.2.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f771c0f9ffcd1cdb83831acdf9074646a8f3a6652cab4ba8dca51e2b7c8cd45a
|
|
| MD5 |
06a526d722b28a043553610240a8c12a
|
|
| BLAKE2b-256 |
0b23ebe42e7b786b83e1962925666bbb247a25385f70824c94bd7e98fd32e529
|
Provenance
The following attestation bundles were made for netglance-0.2.2.tar.gz:
Publisher:
publish.yml on timainge/netglance
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netglance-0.2.2.tar.gz -
Subject digest:
f771c0f9ffcd1cdb83831acdf9074646a8f3a6652cab4ba8dca51e2b7c8cd45a - Sigstore transparency entry: 1015907529
- Sigstore integration time:
-
Permalink:
timainge/netglance@4d287fdbebb70560d395db6fa53b6a559f24e5bb -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/timainge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4d287fdbebb70560d395db6fa53b6a559f24e5bb -
Trigger Event:
push
-
Statement type:
File details
Details for the file netglance-0.2.2-py3-none-any.whl.
File metadata
- Download URL: netglance-0.2.2-py3-none-any.whl
- Upload date:
- Size: 179.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e83d40248aebe9cff35320159839ac6bcd164f4697893c6edea0462bf4c292c9
|
|
| MD5 |
01523f7915172a42b541227bf8affca1
|
|
| BLAKE2b-256 |
a3e556ff1b89ec204e8cdd2deead8bdde4e24175c667a7dc1c02b35375115a9e
|
Provenance
The following attestation bundles were made for netglance-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on timainge/netglance
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netglance-0.2.2-py3-none-any.whl -
Subject digest:
e83d40248aebe9cff35320159839ac6bcd164f4697893c6edea0462bf4c292c9 - Sigstore transparency entry: 1015907547
- Sigstore integration time:
-
Permalink:
timainge/netglance@4d287fdbebb70560d395db6fa53b6a559f24e5bb -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/timainge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4d287fdbebb70560d395db6fa53b6a559f24e5bb -
Trigger Event:
push
-
Statement type: