TinyMCP

v1.0.0Developer Toolsstable

Let LLMs control embedded devices via the Model Context Protocol.

hardwaremcpmcp-servermodel-context-protocol
Share:
150
Stars
0
Downloads
0
Weekly
0/5

What is TinyMCP?

TinyMCP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to let llms control embedded devices via the model context protocol.

Let LLMs control embedded devices via the Model Context Protocol.

This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Let LLMs control embedded devices via the Model Context Prot

Use Cases

Control embedded devices and hardware through natural language commands.
Automate IoT and microcontroller tasks from Claude.
golioth

Maintainer

LicenseApache-2.0
Languagego
Versionv1.0.0
UpdatedApr 15, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx tinymcp

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use TinyMCP

TinyMCP is an MCP server built by Golioth that bridges AI language models like Claude to physical embedded devices connected through the Golioth IoT platform. It translates natural language instructions into Remote Procedure Calls (RPCs) sent to real microcontrollers, enabling you to command hardware without writing firmware-level code. By reading a device's tool schema from LightDB State, TinyMCP dynamically exposes device capabilities as MCP tools, making it possible to blink LEDs, read sensors, or trigger actuators just by chatting with Claude. This is the foundation for AI-driven IoT automation where LLMs act as high-level controllers for Zephyr RTOS and Nordic nRF hardware.

Prerequisites

  • Go 1.21+ installed (to build the server from source)
  • A Golioth account with a project and at least one registered device
  • A Golioth API key with permissions for the target project
  • An MCP client such as Claude Desktop, Claude Code, or MCP Inspector
  • An embedded device running Golioth-connected firmware (optional: Zephyr RTOS / Nordic nRF for the blinky example)
1

Clone and build the TinyMCP server

Clone the Golioth TinyMCP repository and build the server binary with the Go toolchain.

git clone https://github.com/golioth/tinymcp.git
cd tinymcp
go build -o tinymcp ./server
2

Gather your Golioth credentials

Log in to the Golioth console at console.golioth.io and note your Project ID and Device ID. Generate or copy an API key scoped to the project under Settings → API Keys.

3

Set environment variables

Export the three required variables before starting the server. Replace the placeholder values with your real Golioth project ID, device ID, and API key.

export TINYMCP_PROJECT=my-golioth-project
export TINYMCP_DEVICE=my-device-id
export TINYMCP_API_KEY=your-golioth-api-key
4

Start the TinyMCP server

Run the compiled binary. It starts an HTTP MCP endpoint on port 8080 that your MCP client can connect to.

./tinymcp
5

Register device tool schema in LightDB State

On your device firmware, write a JSON tool schema to the LightDB State path `mcp/tools/schema`. TinyMCP reads this schema at startup and exposes each entry as a callable MCP tool. This step requires Golioth-connected firmware; the blinky example in the repository provides a ready-to-flash reference.

6

Connect your MCP client

Add TinyMCP to Claude Code using the HTTP transport. Use `none` as the bearer token unless you have configured authentication.

claude mcp add --transport http tinymcp http://localhost:8080 -H 'Authorization: Bearer none'
7

Verify with MCP Inspector

Open MCP Inspector and point it at http://localhost:8080 to browse the device-derived tools and send test RPCs before involving Claude.

npx @modelcontextprotocol/inspector http://localhost:8080

TinyMCP Examples

Client configuration (Claude Desktop)

Add TinyMCP to Claude Desktop's config file using HTTP transport. The server must be running locally before Claude starts.

{
  "mcpServers": {
    "tinymcp": {
      "command": "npx",
      "args": ["-y", "tinymcp"],
      "env": {
        "TINYMCP_PROJECT": "your-golioth-project-id",
        "TINYMCP_DEVICE": "your-golioth-device-id",
        "TINYMCP_API_KEY": "your-golioth-api-key"
      }
    }
  }
}

Prompts to try

Example natural language commands you can send to Claude once TinyMCP is connected and your device schema is registered.

- "Turn on the LED on my nRF device"
- "Toggle the blue LED three times with a 500ms delay"
- "Read the current temperature from my sensor"
- "What tools does my embedded device support?"
- "Send an RPC to restart the device firmware"

Troubleshooting TinyMCP

Server starts but no tools appear in the MCP client

Ensure your device has written a valid JSON tool schema to the LightDB State path `mcp/tools/schema` and that the device is online in the Golioth console. TinyMCP reads this schema on startup, so restart the server after pushing the schema.

Authentication error when connecting to Golioth

Double-check that TINYMCP_PROJECT, TINYMCP_DEVICE, and TINYMCP_API_KEY are all exported correctly. The API key must have read/write access to the specific project. Verify by testing the Golioth REST API with the same key using curl.

Claude Desktop does not recognize the HTTP server

Claude Desktop currently favors stdio transport by default. Use Claude Code's `claude mcp add --transport http` command instead, or run the server as a separate process and ensure port 8080 is not blocked by a firewall.

Frequently Asked Questions about TinyMCP

What is TinyMCP?

TinyMCP is a Model Context Protocol (MCP) server that let llms control embedded devices via the model context protocol. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install TinyMCP?

Follow the installation instructions on the TinyMCP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with TinyMCP?

TinyMCP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is TinyMCP free to use?

Yes, TinyMCP is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "tinymcp": { "command": "npx", "args": ["-y", "tinymcp"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use TinyMCP?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides