iaqualink-mcp

iaqualink-mcp

Enables AI assistants to monitor and control Jandy iAqualink pool and spa equipment, including device status, power toggling, temperature settings, and lighting effects.

Category
Visit Server

README

iaqualink-mcp

CI License: MIT

An MCP server that exposes a Jandy iAqualink pool/spa system to Claude (or any MCP client). It wraps the iaqualink Python library.

Tools provided:

  • list_systems — all systems on the account
  • list_devices — all devices on a system
  • get_device — state of one device
  • get_system_status — system + every device's state in one call
  • turn_on / turn_off / toggle_device
  • set_temperature — thermostat set points
  • set_light_effect / set_light_rgbw / set_light_brightness — ICL/IntelliCenter lights

Set IAQUALINK_READ_ONLY=true to disable every write tool and only allow reads.

Install

From GitHub (once pushed)

uv tool install git+https://github.com/jgonzalez007/iaqualink-mcp

From a local clone (recommended for development, and avoids uvx

having to clone/build the project on every launch)

git clone https://github.com/jgonzalez007/iaqualink-mcp
cd iaqualink-mcp
uv tool install .

Either way this registers a command called iaqualink-mcp that uvx/uv tool can run directly.

Configure Claude Desktop

Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add:

{
  "mcpServers": {
    "iaqualink": {
      "command": "uvx",
      "args": ["iaqualink-mcp"],
      "env": {
        "IAQUALINK_USERNAME": "you@example.com",
        "IAQUALINK_PASSWORD": "your-iaqualink-password"
      }
    }
  }
}

Add "IAQUALINK_READ_ONLY": "true" to env if you only want Claude to read status, never control equipment.

Then fully quit Claude Desktop from the system tray (not just close the window) and relaunch it.

Development

git clone https://github.com/jgonzalez007/iaqualink-mcp
cd iaqualink-mcp
uv sync --extra dev

# Run tests
uv run pytest

# Lint
uvx ruff check .

Copy .env.example to .env and fill in your credentials for local manual testing; .env is gitignored.

Contributing

Issues and pull requests are welcome. Please run pytest and ruff check . before opening a PR.

Notes

  • This uses a reverse-engineered/unofficial API (via iaqualink-py); Jandy/ Zodiac/Fluidra don't publish an official one. Use at your own risk.
  • Credentials are read from environment variables only — nothing is written to disk by this server.
  • Your claude_desktop_config.json will contain your iAqualink password in plaintext. Don't commit that file or share it, and treat it like any other credential store on your machine.

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured