1. Conduid
  2. AI
  3. Tinymcp
MCP server · AI

Tinymcp

Let LLMs control embedded devices via the Model Context Protocol.

Unclaimed Apache-2.0 last commit a year ago ai
78Good

Scored 7 days ago · breakdown

About Tinymcp

Tinymcp is an MCP server published by golioth in the AI category: let LLMs control embedded devices via the Model Context Protocol.

The repository has 157 stars and 7 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/golioth/tinymcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Tinymcp

Powered by Claude · Grounded in docs

I know everything about Tinymcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 16 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

tinymcp

Let LLMs control embedded devices via the Model Context Protocol.

[!WARNING] tinymcp is an experimental project. Expect frequent breaking changes. Extreme caution should be taken when delegating physical capabilities to AI systems.

Background

The tinymcp project includes an MCP server, which is executed locally, but communicates with remote devices via the Golioth management API. It uses two existing device services on the Golioth platform, LightDB State and Remote Procedure Calls (RPCs), to expose device functionality via MCP.

RPCs can be exposed as tools by including a schema in on the mcp/tools/schema path in LightDB State. Because LightDB State can be updated by devices or users, RPCs on existing devices can be exposed without needing to modify the device firmware.

Setup

To use tinymcp, you need to connect a device to the Golioth platform, then run the tinymcp server on your local machine.

Firmware

While existing devices can be used without changing the firmware, if you don't already have a device on Golioth, the blinky example provides a simple demonstration of how to expose LED control to an LLM via tinymcp. It uses Zephyr RTOS, which requires setting up dependencies before building. After doing so, you can initialize your workspace with one of the following commands.

west init -l .

Or, to use the downstream Nordic nRF Connect SDK.

west init -l . --mf west-ncs.yml

With your workspace initialized, use west update to fetch necessary modules and libraries.

west update --narrow -o=--depth=1

You are now ready to build the firmware and flash your device. See the blinky documentation for more information.

Server

In order to run the tinymcp MCP server locally, the following environment variables need to be supplied.

TINYMCP_PROJECT=<your-golioth-project-id>
TINYMCP_DEVICE=<your-golioth-device-id>
TINYMCP_API_KEY=<api-key-for-your-golioth-project>

The server can be built into an executable using go build -o tinymcp ./server or run directly with go run ./server.

If you don't already have a device on Golioth, the blinky example demonstrates how to expose LED control to an LLM via tinymcp. See the documentation to build and flash on your device, then expose the registered RPCs in your MCP schema.

There are many MCP client implementations, most of which should be compatible with tinymcp. Setup for a few popular options are listed below.

MCP Inspector

MCP Inspector is a visual testing tool for MCP servers. It allows you to interact with MCP methods directly, rather than going through an LLM. This can be useful when troubleshooting why an LLM may be failing to interact with your device.

The documentation provides information on how to quickly start the inspector. Once it is running, you can point it to your local tinymcp MCP server by entering http://localhost:8080 as the address and clicking Connect. You should be presented with an option to List Tools, which should result in all of the RPCs in your schema being exposed.

Claude Code

Claude Code is an agentic coding tool that you interact with in the terminal.

With the tinymcp MCP server running locally, it can be added to Claude Code with a single command.

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

[!NOTE] The Authorization header is supplied in this case to indicate to Claude Code that it should not attempt to authenticate via the OAuth flow.

Gemini CLI

The Gemini CLI is an open-source AI agent that allows you to access Gemini from the terminal.

The .gemini/settings.json file in this repository will automatically configure the CLI to connect to a locally running tinymcp MCP server if the CLI is started in this repository.

README fetched from the repository 16 hours ago. The original is authoritative.

Questions

About Tinymcp

How do I install Tinymcp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Tinymcp safe to use with an AI agent?

Its trust score is 78 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Tinymcp still maintained?

The last commit was a year ago and 3 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.