MCP-Edge
Integration with Arduino devices and Arduino IoT Cloud, enabling management of device properties and firmware-in-the-loop testing with Arduino, ESP32, and RP2040 boards.
Exposes Edge Impulse ML inference as MCP tools, allowing AI agents to run models on edge devices.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-Edgeread temperature from bedroom sensor"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-Edge
Extend the Model Context Protocol (MCP) to edge and IoT devices.
MCP-Edge lets cloud LLM agents discover and invoke physical hardware through the same tool interface they already use for software APIs. It provides:
a gateway that bridges cloud-native MCP transports (SSE / HTTP) to constrained device channels (UART, BLE, local Wi-Fi), presenting every downstream device as a standard MCP tool provider;
MCP-Lite, a lightweight MCP server for devices with as little as ~512 KB of RAM;
a four-tier device taxonomy (constrained MCUs, smart IoT nodes, BLE-only wearables, Linux-class edge computers) that maps an MCP strategy to each tier;
protocol adaptations for constrained links: CBOR encoding, schema caching, connection pooling, and offline request buffering.
Status: alpha, under active development. The public API is unstable and will change. This is the reference implementation of the MCP-Edge framework (IEEE Cloud Summit 2026): the gateway, MCP-Lite server, four-tier device taxonomy, and serial/UART, BLE, and Wi-Fi (TCP) transports, all covered by a hermetic test suite, with ESP32 MicroPython example firmware and a Wokwi boot test in CI, and the gateway install + boot verified on aarch64 Linux and Raspberry Pi OS (QEMU) in CI — see platform support.
Installation
Requires Python 3.10+.
pip install mcp-edgeFor development, install from source:
git clone https://github.com/jemsbhai/mcp-edge
cd mcp-edge
pip install -e ".[dev]"Related MCP server: MQTT MCP Server
Quickstart
Run a demo gateway — an MCP server exposing two simulated devices over stdio:
mcp-edge run --demoThis serves a simulated sensor (read_temp, read_humidity) and a simulated ring
(heart_rate), each tool namespaced by device (sensor-01/read_temp, ...). To drive it
from an MCP client such as the MCP Inspector or Claude Desktop, configure a stdio server
with command mcp-edge and arguments ["run", "--demo"]. The process logs to stderr and
waits for a client on stdin.
Use the gateway as a library:
import asyncio
from mcp_edge.client import MCPLiteClient
from mcp_edge.devices import SimulatedDevice
from mcp_edge.gateway import Gateway
from mcp_edge.registry import DeviceRegistry
from mcp_edge.tiers import Tier
from mcp_edge.transports import LoopbackTransport
async def main() -> None:
device = SimulatedDevice("sensor-01")
device.add_tool("read_temp", lambda args: {"celsius": 21.5})
transport = LoopbackTransport(device.handle)
await transport.open()
registry = DeviceRegistry()
registry.register("sensor-01", MCPLiteClient(transport), Tier.SMART_NODE)
gateway = Gateway(registry)
print([tool["name"] for tool in await gateway.list_tools()]) # ['sensor-01/read_temp']
print(await gateway.call_tool("sensor-01/read_temp", {})) # {'celsius': 21.5}
asyncio.run(main())Connect your own device over serial (experimental) — install the serial extra
(pip install "mcp-edge[serial]") and point SerialTransport at the port your device is
on. It exposes the same Transport interface, so it drops into the example above in place
of LoopbackTransport:
from mcp_edge.transports import SerialTransport
# "COM3" on Windows, "/dev/ttyUSB0" on Linux/macOS
transport = SerialTransport("COM3", baudrate=115200)Frames use a length-prefixed wire format — a 2-byte big-endian length followed by the CBOR
payload — documented in transports/serial.py. Device firmware must frame its replies the
same way; the exported encode_frame / decode_frame helpers make that straightforward.
This path is not yet validated on physical hardware. Worked ESP32 MicroPython firmware
for the serial, BLE, and Wi-Fi transports lives in
examples/firmware/esp32_micropython/.
Roadmap
v0.1 — gateway core, in-process (loopback) transport, protocol adaptations (CBOR, schema caching, connection pooling, offline buffering), device simulator, health monitor, CLI, hermetic CI
v0.2 — real transports and Wokwi firmware-in-the-loop tests (Arduino / ESP32 / RP2040). The serial/UART (
pyserial), BLE (bleak), and Wi-Fi (TCP, with mDNS discovery viazeroconf) transports have landed (software-tested), each with ESP32 MicroPython example firmwarev0.2+ — Edge Impulse (inference as an MCP tool) and Arduino IoT Cloud (properties as MCP) integration examples; Renode / QEMU backends
Development
pip install -e ".[dev]"
pytest -q
ruff check .License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceLinks IoT devices to AI large models using the MCP and MQTT protocols, enabling natural language control, real-time AI responses, and complex instruction execution for interconnected IoT devices.Last updated3371MIT
- Alicense-qualityCmaintenanceEnables LLM agents to securely monitor and control MQTT devices for building automation, industrial control, and smart home systems through a standardized MCP interface.Last updated19MIT
- Alicense-qualityDmaintenanceConnects AI assistants to physical devices via MCP, enabling LLMs to reason about sensor data, perform cross-device correlation, and interpret anomalies.Last updated4Apache 2.0
- Alicense-qualityBmaintenanceEnables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.Last updatedMIT
Related MCP Connectors
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jemsbhai/mcp-edge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server