# Adafruit IO MCP MCP

> Adafruit IO connects your AI client directly to live IoT data streams. Use this MCP to manage all your sensor readings, feeds, groups, and dashboards from a single conversation. Need to check if a temperature reading is spiking? Want to list all available sensors in a group? This tool gives your agent the ability to read specific data points, list entire feed structures, or even view active alert triggers—all without writing boilerplate API code.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** iot, data-feeds, hardware-monitoring, sensor-data, dashboarding

## Description

Your AI client handles the complexity of real-world sensor networks. Instead of having to write multiple functions just to check what’s going on with a group of devices, this MCP lets your agent interact with the entire data model via natural language. You can ask it to list all available feeds and then drill down to retrieve specific measurements from any of those sources. It's how you monitor everything—from basic temperature readings to complex dashboard status updates—all through one connection. When paired with Vinkius, your agent gets immediate access to this connectivity, making managing diverse hardware data much simpler than juggling multiple SDK calls or logging into a separate portal. You manage the entire lifecycle of your IoT data: grouping, viewing dashboards, getting raw sensor metrics, and even checking which triggers are set up for alerts.

## Tools

### get_dashboard
Retrieves the full details for a single, specified dashboard view.

### get_data
Pulls one specific data point reading from an active sensor feed.

### get_feed
Retrieves all metadata for a defined data feed, including its purpose and structure.

### get_group
Gets the specific contents and members of a named group in your system.

### get_trigger
Checks the parameters and rules for one particular alert trigger.

### list_dashboards
Generates a list of every dashboard you have created in Adafruit IO.

### list_data
Fetches a list of all available metrics for a defined data feed.

### list_feeds
Lists every single data feed that is currently active in your account.

### list_groups
Returns an exhaustive list of all organizational groups you've set up for your sensors.

### list_triggers
Provides a comprehensive list of every alert or trigger rule configured in the system.

## Prompt Examples

**Prompt:** 
```
List all my IoT feeds.
```

**Response:** 
```
I retrieved your feeds. Here are the active ones: 'temperature', 'humidity'.
```

**Prompt:** 
```
Get data from the temperature feed.
```

**Response:** 
```
Here are your recent data points, including '22.5' and '23.1'.
```

**Prompt:** 
```
Send a value of 75 to the 'humidity' feed.
```

**Response:** 
```
Successfully created a new data point with value 75 in the 'humidity' feed.
```

## Capabilities

### Read Sensor Data Points
Retrieve specific measurements or historical readings from any active data feed.

### Manage Data Streams (Feeds)
List all available sensor feeds and get details about a single, defined data stream.

### Organize Data Groups
View groupings of sensors or feeds and retrieve specific group information.

### Monitor Dashboards
List all available dashboards and pull up the details for a single dashboard view.

### Handle Alerts and Triggers
View existing alert triggers or list out every active trigger rule defined in your system.

## Use Cases

### Checking a facility's full status before maintenance.
A facilities manager asks their agent: 'What’s the operational status of all HVAC units?' The agent responds by calling `list_groups` to find the HVAC group, then using `get_dashboard` and `get_data` on that specific group's dashboard feed to report back current temperature readings and system flags.

### Validating a new sensor deployment.
An embedded developer needs to confirm if the new moisture sensor is reporting correctly. The agent first uses `list_feeds` to find the 'moisture' feed, then calls `list_data` on that feed to see what metrics are available before using `get_data` to pull a real-time reading.

### Auditing alert rules after a system change.
The operations team wants to know if any critical alerts were left behind. They prompt the agent to run `list_triggers`, and then, for each potential rule found, they use `get_trigger` to verify the exact threshold value.

### Creating a report on all available sensor types.
The architect asks: 'What sensors are we tracking?' The agent calls `list_groups` first to narrow down the area, and then uses `get_group` repeatedly until it has gathered sufficient metadata from every group.

## Benefits

- Stop writing boilerplate API calls. Your agent can list all feeds using `list_feeds` and then immediately get the details for any single feed with `get_feed`, all in one prompt.
- Define and check alert rules easily. Instead of navigating multiple menus, you can use `list_triggers` to see every active alert, or use `get_trigger` to verify a specific threshold's settings.
- Get granular status updates instantly. Need the current reading? Use `get_data`. If you need to check all potential metrics for that sensor first, run `list_data` before asking for the point value.
- See your whole picture at once. You can get a full overview by calling `list_dashboards`, allowing your agent to pull up status from multiple sources simultaneously.
- Organize your chaos with confidence. Use `list_groups` and `get_group` to structure related sensors, letting your AI client know exactly where to look for data.

## How It Works

The bottom line is you get immediate access to every element of your IoT setup—feeds, groups, dashboards, and triggers—without writing any underlying hardware connection code.

1. You connect your Adafruit IO account using your AIO Key to Vinkius. Your AI client handles the secure authentication.
2. Your agent sends a request (e.g., 'Show me all feeds for weather data'). The MCP maps that request to the appropriate internal tool calls.
3. The system executes the necessary API calls and returns structured, plain-language data back to your AI client.

## Frequently Asked Questions

**How do I list all my IoT sensor feeds using list_feeds?**
Just ask your agent to run `list_feeds`. It will return a comprehensive list of every data stream you have active in Adafruit IO, letting you know what sensors are connected.

**Can I check an alert threshold using get_trigger?**
Yes. To view the exact parameters and rules for any single alert, use `get_trigger`. This lets your agent pull up specific details about how thresholds were set.

**What is the difference between list_data and get_data?**
Use `list_data` when you need to know *what* metrics a feed supports. Use `get_data` when you want the actual, current value of one specific metric.

**How do I find out what groups are available? (Using list_groups)**
Simply request that your agent runs `list_groups`. It will return a complete inventory of all organizational groupings you've set up for your hardware data.

**Before running any tool like `get_data`, what credentials does the Adafruit IO MCP require?**
You must provide your AIO Key during setup. This key authenticates your agent's connection to your specific IoT account, ensuring that every action you take is scoped only to data belonging to you.

**I need to see all available dashboards; how do I use `list_dashboards`?**
`list_dashboards` returns a comprehensive list of every dashboard tied to your account. This output gives you the precise names or IDs needed for subsequent calls, such as when you want to call `get_dashboard`.

**If I run `get_dashboard` with an ID that doesn't exist, what should my agent expect?**
The MCP will return a standard API error code and message. Your client needs to check for these specific failure codes before attempting to process the dashboard data.

**How do I use `list_triggers` to see all active automation rules?**
`list_triggers` pulls a complete inventory of every defined trigger rule. From this list, you can identify the specific ID needed for the `get_trigger` tool to confirm its current status or settings.

**Where do I find my AIO Key?**
Your AIO Key can be found by clicking the golden 'AIO Key' button on any page in Adafruit IO.

**What access does this MCP need?**
It requires your Username and AIO Key to access your feeds and dashboards.

**How do I send data to a feed?**
You can use the agent to create a new data point in a specific feed using the feed key.