tinymcp

by goliothVerified

Let LLMs control embedded devices via the Model Context Protocol.

152
Stars
5
Forks
Go
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/golioth/tinymcp

Getting Started

Guides for using skills like tinymcp.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

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.

Frequently Asked Questions

What is tinymcp?

tinymcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by golioth. Let LLMs control embedded devices via the Model Context Protocol. It has 152 GitHub stars.

Is tinymcp safe to use?

Yes. tinymcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install tinymcp?

Clone the repository with "git clone https://github.com/golioth/tinymcp" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is tinymcp written in?

tinymcp is primarily written in Go. It is open-source under golioth on GitHub, so you can review or fork the full source.

Are there alternatives to tinymcp?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh tinymcp against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP Servers
View details

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP Servers
View details

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP Servers
View details

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP Servers
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details