aranet4-mcp-server

aranet4-mcp-server

3.3

If you are the rightful owner of aranet4-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP server to manage your Aranet4 CO2 sensor, built upon Aranet4-Python.

The Aranet4-MCP-Server is a Model Context Protocol (MCP) server designed to manage the Aranet4 CO2 sensor. It leverages the Aranet4-Python library to facilitate communication and data management for the sensor. The server allows users to scan for nearby devices, fetch new data from the sensor's memory, and store it in a local SQLite database for tracking and analysis. Users can query recent measurements or data from specific past dates, and for MCP clients that support images, data can be plotted for visualization. The server also offers an assisted configuration feature, simplifying the setup process for users. The server can be installed using a recommended method with 'uv' or an alternative method using 'pip'. Configuration is straightforward, with options for AI-assisted or manual setup. Additionally, a Dockerfile is available for containerized deployment, and users can set up automatic data fetching using cron jobs or launch agents.

Features

  • Scan for nearby devices.
  • Fetch new data from embedded device memory and save to a local SQLite database.
  • Ask questions about recent measurements or specific past dates.
  • Plot data for visualization in MCP clients that support images.
  • Assisted configuration for easy setup.

Tools

  1. init_aranet4_config

    Assisted configuration of device.

  2. scan_devices

    Scan nearby Bluetooth Aranet4 devices.

  3. get_configuration_and_db_stats

    Get current config.yaml and general stats from the local SQLite3 database.

  4. set_configuration

    Set values in config.yaml.

  5. fetch_new_data

    Fetch new data from configured nearby Aranet4 device and save to local database.

  6. get_recent_data

    Get recent data from local database. Can specify how many measurements.

  7. get_data_by_timerange

    Get data in specific time range from local database. Can specify how many measurements.