<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lmeng </title>
    <description>The latest articles on DEV Community by Lmeng  (@lmeng486).</description>
    <link>https://dev.to/lmeng486</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4197780%2Fd8dd3b65-420f-4a50-9b7f-11031dbe45bf.png</url>
      <title>DEV Community: Lmeng </title>
      <link>https://dev.to/lmeng486</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lmeng486"/>
    <language>en</language>
    <item>
      <title>Showdev: A zero-dependency MCP server that runs on Android Termux</title>
      <dc:creator>Lmeng </dc:creator>
      <pubDate>Wed, 21 Oct 2026 09:46:31 +0000</pubDate>
      <link>https://dev.to/lmeng486/showdev-a-zero-dependency-mcp-server-that-runs-on-android-termux-28fe</link>
      <guid>https://dev.to/lmeng486/showdev-a-zero-dependency-mcp-server-that-runs-on-android-termux-28fe</guid>
      <description>&lt;p&gt;Here's the English version with the AI disclosure updated as requested:&lt;/p&gt;




&lt;p&gt;Last week I tried to run an MCP (Model Context Protocol) server on my phone — a Xiaomi 23013RK75C (Android 15, aarch64, 6 GB RAM) — and hit a wall: every existing server either required Docker (no systemd on Termux), pulled in heavy dependencies, or crashed on ARM64 due to syscall emulation issues.&lt;/p&gt;

&lt;p&gt;So I wrote a single-file MCP server with zero external dependencies. The same codebase runs on Termux, PRoot, Raspberry Pi, and desktop Linux:&lt;/p&gt;

&lt;p&gt;· One Python file (~300 lines), stdlib only&lt;br&gt;
· Implements the full MCP protocol (initialize, tools/list, tools/call, etc.)&lt;br&gt;
· Starts in under 1 second, stays under 2 MB installed&lt;br&gt;
· Ships with 13 tools covering filesystem, shell, network, and device sensors&lt;/p&gt;

&lt;p&gt;These cover the operations I actually use on a phone. Here's how to get it running in about 3 minutes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg &lt;span class="nb"&gt;install &lt;/span&gt;python git
pip &lt;span class="nb"&gt;install &lt;/span&gt;git+https://github.com/Lmeng486/nano-mcp-termux.git
python &lt;span class="nt"&gt;-m&lt;/span&gt; nano_mcp_termux &lt;span class="nt"&gt;--transport&lt;/span&gt; stdio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Point any MCP-compatible client (Claude Desktop, Cursor, Cline, Operit) at it as a stdio transport. All 13 tools appear immediately.&lt;/p&gt;

&lt;p&gt;What makes it different:&lt;/p&gt;

&lt;p&gt;Standard servers nano-mcp-termux&lt;br&gt;
Runtime CPython ≥3.10 + pip deps CPython 3.12.3, stdlib only&lt;br&gt;
Size 50-200 MB &amp;lt; 2 MB&lt;br&gt;
Boot time 2-5 seconds &amp;lt; 1 second&lt;br&gt;
Android Broken Verified on Android 15 / Termux&lt;br&gt;
Protocol tests Pass Pass&lt;/p&gt;

&lt;p&gt;I also maintain a companion repository — awesome-termux-mcp — a curated directory of every MCP server I could get working under Termux, plus two real-world reports: one measuring context usage when the LLM is 15 MB away instead of 15 ms, and one on how MCPs actually break at the edge (spoiler: it's almost never the protocol).&lt;/p&gt;

&lt;p&gt;Known issues: file watching uses polling because Termux doesn't ship inotify-dfs compatible kernel headers — it works, but isn't push-based. SQLite-backed sessions aren't in yet; persistence is via flat JSON files for now. No Windows support planned (focus is Linux + Android).&lt;/p&gt;

&lt;p&gt;Developers who hack on mobile or embedded Linux: what breaks in your environment? I want this to be a useful baseline, not just a toy. Open to PRs and battle-tested patches.&lt;/p&gt;

&lt;p&gt;GitHub: github.com/Lmeng486/nano-mcp-termux&lt;br&gt;
Package: pip install nano-mcp-termux or run the file directly.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>android</category>
      <category>python</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
