MCP Hub
Back to servers

MCPForLedAPI

An MCP server that provides a structured intent-based interface to control an Arduino-based LED system via a RESTful API.

Tools
6
Updated
Jan 11, 2026

MCP LEDAPI Intent Controller

This project implements a Model Context Protocol (MCP)-style server using FastAPI to control an Arduino-based LED system via a RESTful interface. For best results, use this together with the MCPForLedAPI project. It interprets high-level intents like TurnOnLed, SetMood, or GetStatus, and translates them into commands for the Arduino LED API.


Features

  • Supports contextual LED control via structured intents
  • Communicates with an Arduino LED controller API (/setLedStatus, /status)
  • Automatically exposes Swagger UI for testing
  • Extensible architecture for adding new devices or control logic

Intents Supported

IntentDescriptionParameters
TurnOnLedTurns on a specific LED{ "color": "red" }
TurnOffLedTurns off all LEDsnone
SetPatternSets specific LED pattern{ "pattern": "1100" }
SetMoodUses predefined mood pattern{ "mood": "calm" }
PowerDownAlias for turning everything offnone
GetStatusQueries the current LED statenone

Example Requests

POST /intent
{
  "intent": "TurnOnLed",
  "parameters": {
    "color": "green"
  }
}
POST /intent
{
  "intent": "SetMood",
  "parameters": {
    "mood": "calm"
  }
}

Requirements

  • Python 3.8+
  • FastAPI
  • Uvicorn
  • Requests

Install via:

pip install fastapi uvicorn requests

Running the Server

uvicorn mcp_server:app --reload

Then open your browser at:


Architecture Overview

[ User or System ]
        ↓
  MCP Intent Server (FastAPI)
        ↓
Arduino LED API (Flask)
        ↓
      Arduino Nano (via USB)

File Overview

  • MCPForLedAPI.py: Main FastAPI server with intent handling logic
  • requirements.txt: Python dependencies
  • README.md: Project overview and usage

License

MIT License

Reviews

No reviews yet

Sign in to write a review