NetGuardian
Acts as the MCP server target for Alexa+, letting it answer plain-English questions about the home network using live diagnostics, and optionally uses Amazon AWS Bedrock (with an EC2-hosted endpoint) as an upgrade path for LLM reasoning about network issues.
Uses a local Ollama LLM as the default, free reasoning provider, turning raw network diagnostics (ping, bandwidth, devices, interface counters) into a plain-English diagnosis with a recommended next step.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NetGuardianis my wifi struggling?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NetGuardian
A self-hosted MCP server that lets Alexa+ answer plain-English questions about your home network — "is my wifi struggling?", "what's using all my bandwidth?", "is anything on my network acting weird?" — using live network/OS diagnostics and an AWS Bedrock reasoning layer.
Built for the Amazon Developer Hackathon — Alexa+ track, stacked with the AWS Builder and Open Source mini challenges.
Why this exists
Most people can't self-diagnose home network problems — they just know "the wifi is bad" and have no path from that feeling to an actual fix. NetGuardian gives Alexa+ real diagnostic data (ping latency, bandwidth per interface, connected devices, interface error counters) and lets an LLM turn that into one clear, spoken sentence with an actual next step.
Related MCP server: connectivity-diagnostics
Architecture
Alexa+ --(MCP, Streamable HTTP, spec 2025-11-25)--> NetGuardian server
|
network_tools.py (psutil, ping, ARP)
|
reasoning.py
1. Local Ollama LLM (default, free, no AWS)
2. AWS Bedrock (optional upgrade path)
3. Rule-based fallback (always available)Transport: MCP Streamable HTTP per spec
2025-11-25— single/mcpendpoint, session tracked viaMcp-Session-Idheader.Diagnostics:
network_tools.py— gateway/internet ping, per-interface bandwidth sampling, ARP-table device listing, interface error/drop counters.Reasoning:
reasoning.pytries a local Ollama LLM first (free, offline, no AWS account needed), then an optional AWS Bedrock call if credentials are configured (bedrock_client.py), then a deterministic rule-based summary as a last resort. The tool response always reports which tier answered viareasoning_source, so it's clear during a demo — or to anyone reading the code — exactly what produced the diagnosis.
Why Ollama is the default, not Bedrock
This project runs entirely free with zero AWS spend: install Ollama, pull a small
model, and NetGuardian gets real LLM reasoning with no AWS account or payment method
involved. Bedrock (bedrock_client.py) is left in as a documented, working upgrade
path — set AWS credentials and it activates automatically — but it is intentionally
not required to run or demo NetGuardian.
Running with Ollama (recommended, free)
# Install Ollama: https://ollama.com/download
ollama pull llama3.2
ollama serve # usually starts automatically after installNetGuardian will detect it automatically at http://localhost:11434 (override with
the OLLAMA_HOST / OLLAMA_MODEL env vars).
Tools exposed
Tool | Purpose |
| Gateway/internet reachability + live bandwidth per interface |
| Devices visible in the local ARP/neighbor table |
| Per-interface up/down state, link speed, error/drop counters |
| The main conversational tool — gathers diagnostics, asks Bedrock, returns a plain-English answer |
| Restarts a whitelisted service ( |
Setup
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # fill in AWS credentials for the Bedrock layerRun locally
python server.pyThe server binds to 0.0.0.0:8811 by default (override with NETGUARDIAN_HOST
/ NETGUARDIAN_PORT) and serves the MCP endpoint at /mcp.
Test it directly:
curl -i -X POST http://127.0.0.1:8811/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}'Grab the Mcp-Session-Id header from the response and pass it as
Mcp-Session-Id on subsequent tools/list / tools/call requests.
Deploying for the demo (AWS EC2) — optional
This step is only needed if you want a publicly reachable endpoint for live Alexa+ integration testing, or if you choose to enable the Bedrock upgrade path. NetGuardian runs and demos fine locally with Ollama alone.
Launch a small EC2 instance (free-tier eligible, e.g.
t3.micro, Amazon Linux or Ubuntu).Attach an IAM role with
bedrock:InvokeModelpermission — don't hardcode AWS keys on the instance if you can avoid it.Open the security group to allow inbound traffic on your chosen port from wherever you'll demo from.
Clone this repo,
pip install -r requirements.txt, and runpython server.py.Point your Alexa+ Agent Skill / MCP client config at
http://<ec2-public-ip>:8811/mcp.
This is also the AWS Builder mini-challenge integration: EC2 hosts the server, Bedrock powers the reasoning tool — both load-bearing, not decorative.
Safety notes
restart_network_serviceonly accepts a small whitelist of services and defaults to a dry run. It will not touch anything outside that whitelist.The Bedrock call has an explicit fallback path so a missing/expired AWS credential degrades the diagnosis quality — it does not crash the tool.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Gives AI agents a public IPv6 identity, hostname, port forwarding, web fetch, team mesh. Free tier.
Set up and run an in-product AI assistant from your AI client: create and tune assistants, connect knowledge sources, host an MCP server on an existing API, and read usage. Every tool is annotated read-only or destructive, so writes ask before they act.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides network operations tools such as ping, traceroute, DNS queries, and nmap scans via MCP, enabling network diagnostics and monitoring through natural language.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform real network diagnostics on the local machine, including ping, traceroute, DNS lookups, TLS checks, and more.MIT
- FlicenseNot gradedqualityDmaintenanceAggregates network operations tools such as retrieving local network configurations and scanning ports, enabling IT professionals to perform these tasks via natural language.-
- AlicenseNot gradedqualityAmaintenanceProvides AI assistants with local Wi-Fi diagnostics including connection history analysis, live signal sampling, and connectivity diagnosis. It returns findings and verdicts rather than raw data, and runs on Windows, Linux, and macOS without sending data off the machine.231 npm1MIT