Skip to content
tinymcp

tinymcpMCP Server

Released
Apache-2.0

Summary

Golioth's experimental MCP server that lets an LLM drive real embedded devices — device RPCs become MCP tools, with schemas stored in LightDB State and calls routed through the Golioth cloud.

Features

  • Exposes device RPCs to an LLM as MCP tools
  • Tool schemas defined per device via Golioth LightDB State
  • Reaches remote and battery-powered devices through the Golioth cloud
  • Go server with Zephyr RTOS device firmware
  • Apache-2.0 licensed

Installation

Set up this MCP server in your favorite AI agent — copy a ready-made configuration below.

Any MCP-compatible agent

Most agents (Claude, Cursor, Windsurf, VS Code, and more) read a standard mcpServers configuration.

  1. Open your agent's MCP configuration file.
  2. Merge the snippet below into it, filling in the environment variables with your own values.
  3. Restart the agent — the "tinymcp" tools will be available.
{
  "mcpServers": {
    "tinymcp": {
      "command": "go",
      "args": [
        "run",
        "./server"
      ],
      "env": {
        "TINYMCP_PROJECT": "<golioth-project-id>",
        "TINYMCP_DEVICE": "<golioth-device-id>",
        "TINYMCP_API_KEY": "<golioth-api-key>"
      }
    }
  }
}

Description

tinymcp is Golioth's experimental bridge between Model Context Protocol clients and physical embedded hardware. Instead of a server that reads documentation about devices, this one actually operates them: an LLM can turn on an LED, read a sensor, or trigger a reboot on a microcontroller sitting on another continent.

How it works. The MCP server runs locally and talks to hardware through the Golioth device management cloud rather than over a direct connection, which is what makes remote and sleepy battery-powered devices reachable at all. Two Golioth services do the work:

  • Remote Procedure Calls (RPCs) — each RPC a device registers becomes an MCP tool the client can call.
  • LightDB State — holds the tool schemas that describe those RPCs, so the set of available tools is defined by the device itself rather than hardcoded in the server.

Running it. The server is written in Go (go build -o tinymcp ./server) and is configured with three environment variables: TINYMCP_PROJECT, TINYMCP_DEVICE and TINYMCP_API_KEY. Device-side firmware targets Zephyr RTOS and is fetched with west. The project is Apache-2.0 licensed.

Worth knowing. The maintainers label this experimental. Giving a language model a callable path to physical actuators deserves a scoped API key and a device you do not mind rebooting.

Related MCP Servers

MCP: ESP-IDF Tools MCP Server

by Espressif Systems

Espressif's local MCP server built into idf.py — lets an AI client set the chip target, build, flash and clean an ESP-IDF project and read back config, build status and connected serial ports.

MCP: Memfault MCP Server

by Memfault (Nordic Semiconductor)

Remote MCP server for Memfault (Nordic Semiconductor) exposing 18 read-only tools over device fleet telemetry — device vitals, timeseries, crash issues, traces, metrics and software versions.

Vapi's official MCP server for building voice agents — create assistants, place and schedule outbound phone calls, and manage phone numbers from your AI client.

Browse all MCP servers →