Get the FREE Ultimate OpenClaw Setup Guide →

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.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. Clone the repository: git clone https://github.com/akustikrausch/gonzales.git cd gonzales

  2. Install Python dependencies (backend): python -m pip install --upgrade pip python -m pip install -e .

  3. (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

  4. Run the MCP server via Python module (example): python -m gonzales

  5. 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

Sponsor this space

Reach thousands of developers