MCP ExplorerExplorer

Mcp Iot Go

@sukeeshon 10 months ago
5 MIT
FreeCommunity
AI Systems
MCP Server for IOT Devices

Overview

What is Mcp Iot Go

mcp-iot-go is an MCP Server designed specifically for Internet of Things (IoT) devices, facilitating communication and data management between various IoT components.

Use cases

Use cases for mcp-iot-go include monitoring environmental conditions in smart cities, managing energy consumption in smart homes, and tracking health metrics in wearable devices.

How to use

To use mcp-iot-go, set up the server environment, configure the necessary settings for your IoT devices, and connect them to the server to enable data exchange and management.

Key features

Key features of mcp-iot-go include real-time data processing, support for multiple IoT protocols, easy scalability, and robust security measures to protect data integrity.

Where to use

mcp-iot-go can be used in various fields such as smart homes, industrial automation, healthcare monitoring, and environmental sensing.

Content

MCP for IOT

Model Context Protocol (MCP) Server for IoT Devices (Arduino)

IOT MCP Logo

Go

Overview

MCP for IOT is a Go implementation of the Model Context Protocol (MCP) server that allows AI models like Claude to directly interact with IoT devices, specifically Arduino boards. This server acts as a bridge between Claude and your Arduino hardware, enabling AI-controlled hardware automation.

Features

  • 🔌 List available serial ports
  • 📡 Read data from Arduino’s serial port
  • 🚦 Control digital pins (LEDs, relays, etc.)
  • 🔊 Control buzzers with on/off and duration settings
  • 🤖 Seamless integration with Claude AI

Usage

https://github.com/user-attachments/assets/46d7d731-f5d0-4acd-b53e-c00be8b83215

Prerequisites

  • Go (version 1.24 or later)
  • Arduino hardware with USB connection
  • Claude Desktop App or compatible MCP client

Installation

Build from Source

git clone https://github.com/sukeesh/mcp-iot-go.git
cd mcp-iot-go
go install

The binary will be installed to your GOBIN directory, which should be in your PATH.

Arduino Setup

  1. Connect your Arduino to your computer
  2. Upload the provided Arduino firmware:
    arduino/firmware.ino
    

This firmware accepts commands via serial communication:

  • M,pin,mode - Sets pin mode (e.g., M,6,OUTPUT)
  • D,pin,value - Controls digital pins (e.g., D,6,HIGH or D,6,LOW)
  • BZ,pin,state - Controls buzzers (e.g., BZ,8,ON or BZ,8,OFF)

Configuration with MCP Client

Configure Claude Desktop:

  1. Open Claude Desktop → Settings → Developer → Edit Config
  2. Add the following to your claude_desktop_config.json:
{
  "mcpServers": {
    "iot": {
      "command": "<path-to-mcp-iot-go-binary>",
      "env": {}
    }
  }
}
  1. Restart Claude Desktop

Available Tools

Tool Description
port_list Lists all available serial ports
read_serial_line Reads a single line of data from a specified serial port
write_digital Writes a digital value (HIGH/LOW) to a pin on a specified port
buzzer_control Controls a buzzer connected to an Arduino pin with optional duration

Usage Examples

After setup, you can interact with your Arduino hardware directly through Claude:

  • “List all available serial ports”
  • “Read data from the Arduino on port /dev/cu.usbmodem12401”
  • “Turn on the red LED on pin 6”
  • “Activate the buzzer on pin 8 for 2 seconds”

Development

Project Structure

  • main.go - MCP server setup and tool definitions
  • internal/tools.go - Tool implementation for Arduino communication
  • arduino/firmware.ino - Arduino firmware for processing commands

Dependencies

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers