mcpField
M
MCP for IOT

MCP for IOT

Local
github.com/sukeeshOther8Updated 78w ago

About MCP for IOT

MCP for IOT is a Go MCP server that bridges Claude or another compatible client with Arduino hardware. It supports serial data access and control of digital pins and buzzers.

Key features

  1. 01List available serial ports
  2. 02Read Arduino serial data
  3. 03Set digital pin values
  4. 04Control buzzers with duration

Use cases

  1. 01Check which serial ports are available
  2. 02Read a line from an Arduino
  3. 03Switch an LED or relay pin
  4. 04Activate a connected buzzer

MCP support

The server exposes tools for listing serial ports, reading serial lines, writing digital outputs, and controlling buzzers to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolDescription
port_listLists all available serial ports
read_serial_lineReads a single line of data from a specified serial port
write_digitalWrites a digital value (HIGH/LOW) to a pin on a specified port
buzzer_controlControls 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.