gonzales
Open-source internet speed monitor and bandwidth checker. Automated 24/7 speed tests with Ookla Speedtest CLI, real-time analytics dashboard, Home Assistant add-on, ISP performance grading, outage detection, and network diagnostics. Self-hosted, private, Raspberry Pi ready.
claude mcp add --transport stdio akustikrausch-gonzales python -m gonzales \ --env GONZALES_HOST="Bind address (default 127.0.0.1)" \ --env GONZALES_PORT="Server port (default 8470)" \ --env GONZALES_DB_PATH="SQLite database file path" \ --env GONZALES_CORS_ORIGINS="Comma-separated CORS origins" \ --env GONZALES_SPEEDTEST_BINARY="Path to speedtest CLI binary (e.g., speedtest)" \ --env GONZALES_TOLERANCE_PERCENT="Acceptable deviation percentage" \ --env GONZALES_TEST_INTERVAL_MINUTES="Minutes between tests (default 60)" \ --env GONZALES_UPLOAD_THRESHOLD_MBPS="Expected upload speed in Mbps" \ --env GONZALES_DOWNLOAD_THRESHOLD_MBPS="Expected download speed in Mbps" \ --env GONZALES_MANUAL_TRIGGER_COOLDOWN_SECONDS="Cooldown between manual tests"
How to use
Gonzales is a comprehensive Internet speed monitoring backend that runs tests continuously to build a local performance database. It exposes a REST API, SSE streaming for real-time updates, and a command-line interface for scripting and automation. When deployed as an MCP server, you can query performance metrics, historical trends, and SLA compliance data locally without relying on external services. Use the built-in features to inspect per-server performance, schedule tests, view dashboards, and integrate with Home Assistant via the included add-ons and integrations. The server is designed to work offline on your hardware, ensuring all data remains under your control.
How to install
Prerequisites:
- Python 3.10+ installed on the host
- Access to the Gonzales repository (clone or download the package)
- Optional: Node.js for frontend components if you plan to run the dashboard locally
Installation steps:
-
Clone the repository: git clone https://github.com/akustikrausch/gonzales.git cd gonzales
-
Install Python dependencies (backend): python -m pip install --upgrade pip python -m pip install -e .
-
(Optional) Build frontend assets if you intend to run the web dashboard locally: cd frontend npm install npm run build
Copy built frontend into backend static path if required by your setup
-
Run the MCP server via Python module (example): python -m gonzales
-
Access the API/dashboard as documented in the project (default host/port can be configured via environment variables).
Notes:
- The project also provides Makefile targets for common tasks (install, build, run) if you follow the repository's recommended workflow.
- If you prefer Docker, you can containerize the application using the standard Python runtime image and expose port 8470 by default.
Additional notes
Tips and common issues:
- Environment variables control server behavior (host, port, test intervals, thresholds). See GONZALES_* variables in the documentation.
- Ensure the Speedtest CLI is installed and available in PATH if you rely on external speed tests.
- If running behind a reverse proxy, configure CORS and proxy headers accordingly (GONZALES_CORS_ORIGINS).
- For Home Assistant integrations, follow the Gonzales ecosystem docs to enable add-ons and sensors.
- If you encounter database errors, verify the GONZALES_DB_PATH points to a writable location and that SQLite is accessible.
Related MCP Servers
fastapi_mcp
Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!
CoexistAI
CoexistAI is a modular, developer-friendly research assistant framework . It enables you to build, search, summarize, and automate research workflows using LLMs, web search, Reddit, YouTube, and mapping tools—all with simple MCP tool calls or API calls or Python functions.
supermcp
🚀 SuperMCP - Create multiple isolated MCP servers using a single connector. Build powerful Model Context Protocol integrations for databases (PostgreSQL, MSSQL) with FastAPI backend, React dashboard, and token-based auth. Perfect for multi-tenant apps and AI assistants.
advanced-homeassistant
An advanced MCP server for Home Assistant. 🔋 Batteries included.
mcp-yfinance
Real-time stock API with Python, MCP server example, yfinance stock analysis dashboard
skylight
MCP server for Skylight family calendar - enables AI assistants to manage calendars, chores, lists, meals, and rewards