Tado MCP Server
An MCP (Model Context Protocol) server that lets AI assistants control your Tado smart heating system.
Getting Started
1. Authenticate
Visit tado.mcp-api.dev to link your Tado account. The page will give you a ready-to-use config snippet.
2. Add to Claude Desktop
Open your claude_desktop_config.json and paste the config from step 1:
{
"mcpServers": {
"tado": {
"command": "npx",
"args": [
"mcp-remote",
"https://tado.mcp-api.dev/mcp",
"--header",
"X-Tado-Token:${TADO_TOKEN}"
],
"env": {
"TADO_TOKEN": "your-api-key"
}
}
}
}
That's it — Claude can now control your heating.
Available Tools
Reading State
| Tool | Description |
|---|---|
get_me |
Get authenticated user info and home IDs |
get_home |
Get home details (address, timezone, temperature unit) |
get_zones |
List all zones/rooms |
get_zone_state |
Current state of a zone (temperature, humidity, heating power) |
get_all_zone_states |
All zone states in one API call (rate-limit friendly) |
get_weather |
Outside temperature, solar intensity, weather condition |
get_devices |
All devices with connection state and battery info |
get_air_comfort |
Temperature and humidity comfort indicators |
get_day_report |
Historical heating report for a zone on a given date |
get_home_state |
Home presence state (HOME/AWAY) |
Controlling Heating
| Tool | Description |
|---|---|
set_temperature |
Set manual temperature for a zone (5-25°C) with termination type |
turn_off_heating |
Turn off heating for a zone |
resume_schedule |
Remove manual override, return to schedule |
set_home_presence |
Set home/away presence (overrides geo-fencing) |
Termination Types
When setting temperature or turning off heating, you can specify how the override ends:
- MANUAL — Override stays until you cancel it
- TADO_MODE — Tado decides when to end the override
- NEXT_TIME_BLOCK — Override ends at the next scheduled change
- TIMER — Override ends after a specified duration (set
duration_minutes)
License
All rights reserved. This software is proprietary and may not be copied, modified, or distributed without explicit permission.