原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Podium MCP

作者:hoainho版本 0.4.0i★ –i在你的电脑上运行
注册名称io.github.hoainho/podium-mcp

安装

概览

作者提供的说明(英文原文)

Mobile E2E MCP (51 tools): iOS + Android, native UI + canvas/WebGL, no-vision, RN debug

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 开发者工具

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

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

在终端中运行这条命令

claude mcp add podium -- npx -y podium-mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

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

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "podium": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "podium-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 hoainho 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 5550 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 5550 个服务器的 19% 更新
  • 基础检查结果等于或优于此分类中其他 5550 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Podium MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.4.0)于5个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github广泛使用★ 3.4万5天前更新

电脑或云端

Desktop Commander

MCP server for terminal commands, file operations, and process management

作者:wonderwhy-er广泛使用↓ 71万/周★ 1万17天前更新

在你的电脑上运行

Cloudflare MCP

Cloudflare MCP servers

作者:cloudflare广泛使用★ 444614个月前更新

在云端运行✓ mcp.cloudflare.com

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

podium-mcp

One baton. Every instrument.

A single MCP stdio endpoint with 51 tools for iOS (simulator + real) and Android device control, native UI automation, end-to-end flows, trustworthy assertions, React Native debugging, WebView DOM + network inspection, and a no-vision canvas/WebGL brain for Pixi/Konva/Fabric/Phaser/Three/Babylon (validated live in WebKit) — plus an experimental engine bridge for instrumented Unity/GL builds (AltTester) — one connection instead of half a dozen servers.

-2ea44f.svg)

One prompt → podium drives Safari live → types the URL → explores the profile → opens a repo. Footage captured on a live iPhone 16 Pro simulator.


A podium is where a maestro stands — one place to conduct the whole orchestra. This MCP server unifies eight capability sets behind a single stdio endpoint:

  • Device & app management — iOS simulators (simctl), real iPhones (devicectl), and Android (adb) behind one platform-tagged device model.
  • Native UI inspection & gestures — route through idb/mobilecli with a Maestro fallback (no per-gesture JVM spin-up).
  • End-to-end flows & batch automation — declarative Maestro flows, ordered action batches, and an engineer→QA flow exporter.
  • Trustworthy assertions — an *oracle ladder* (WebView-DOM › native a11y › Maestro) that returns falsifiable, evidenced verdicts and fails closed.
  • WebView DOM + network — resolve WKWebView DOM to tap coordinates, evaluate JS, drive navigation, and capture in-page HTTP traffic as JSON/HAR.
  • React Native debugging — Metro console logs, network requests, and in-app state over CDP, plus host/simulator crash reports.
  • Real devices — Android emulator/device via adb (gestures + uiautomator hierarchy); real iOS via devicectl lifecycle + an opt-in WebDriverAgent backend.
  • Canvas & game-engine automation, no vision — a *canvas/WebGL brain* drives Pixi/Konva/Fabric/Phaser/Three/Babylon UIs as addressable objects (validated live in WebKit). An experimental engine bridge drives Unity/GL via an AltTester-instrumented build (or a window.__podiumEngine WebGL bridge) — code-complete + mock-tested, not yet run against a live Unity build.

Rather than wiring several MCP servers into every client config, podium-mcp exposes everything behind one connection, with a shared execFile layer (no shell), consistent structured errors, automatic retry around Maestro's iOS-driver flakiness, and a single health-check tool to confirm what's available on the host.

Table of contents

  • Why
  • Benchmarks
  • Requirements
  • Install
  • Usage
  • Quick start
  • The 51 tools
  • The oracle ladder — trustworthy assertions
  • Native-first gesture backend
  • WebView & RN network introspection
  • Documented limits
  • Architecture
  • Development & testing
  • Roadmap & contributing
  • Releasing
  • Prompt playbook & references
  • Design ideas
  • Contributing · Security · License

Why

Driving a React Native app end-to-end usually means juggling several MCP servers — one for device/app control, one for UI flows, one for Metro/debugger logs, another for WebView inspection — each with its own config entry, quirks, and failure modes. podium-mcp collapses that into one server with:

  • a single execFile-based command runner (no shell — arguments are passed verbatim),
  • consistent structured errors (a tool never crashes the server),
  • automatic retry around Maestro's known iOS-driver flakiness,
  • graceful degradation when a toolchain (e.g. adb) is absent,
  • evidenced verdicts so an agent knows when a flow *actually* worked.

Benchmarks

Podium is built on two choices that make it fast and cheap: it drives UIs as *structured data* — never screenshots — and routes gestures through a *native backend* with no per-action JVM spin-up.

Token economics — no-vision is ~5× cheaper

A screenshot-driven agent sends an image to a vision model on every step. Podium returns a compact structured element list instead. On an equivalent 8-step mobile flow (1179×2556 screenshots vs ~20-element lists):

ApproachPer step8-step flow
Screenshot / vision loop~2,070 tokens16,557 tokens
Podium — no-vision, structured~390 tokens3,117 tokens
Savings5.3×−13,440 tokens (−81%)
vision loop  ████████████████████████████████  16,557 tokens

Podium ██████ 3,117 tokens (5.3× cheaper, −81%)

The gap compounds with every step — a 30-step session runs roughly 62k vs 12k input tokens. On top of per-step cost, the full 51-tool schema travels with every request (~3,612 tokens, ~71/tool); Podium keeps tool descriptions lean so the tool block never dominates the context window.

For canvas / WebGL UIs the advantage is structural, not just cheaper: the Canvas Brain addresses objects by name and text, where a screenshot-only agent must re-analyze pixels on every frame.

Speed — native-first gesture backend

Gestures route through idb / mobilecli instead of spinning up Maestro's JVM per action (measured on a live iPhone 16 Pro simulator):

OperationMaestro (per-call JVM)Podium nativeSpeedup
tap_on~14.7 s~0.6 s~24×
inspect_screen~8.9 s~0.9 s~10×
One connection, not six

All 51 tools — device & app control, UI automation, declarative Maestro flows, evidenced assertions, WebView DOM + network capture, React Native / Metro debugging, and no-vision canvas/WebGL automation (plus an experimental engine bridge for instrumented Unity/GL) — sit behind a single stdio endpoint, replacing the usual stack of half a dozen separate MCP servers.

Token figures are heuristic estimates (~4 chars/token; Anthropic's ~750 px/token

image formula) — reproduce with npm run token-bench, or swap in the Anthropic

count_tokens API for exact counts. Speed figures were measured on a live

iPhone 16 Pro simulator (npm run benchmark).

Requirements

  • macOS with Xcode command-line tools (xcrun, simctl)
  • Node.js ≥ 22 (uses native fetch and WebSocket; .npmrc sets engine-strict=true)
  • `mobilecli` — bundled automatically as an npm dependency; the default native gesture + WebView backend (no separate install)
  • *(optional)* [`idb`](https://fbidb.io) (idb + idb_companion) — preferred native gesture backend when both are present; auto-detected
  • *(optional)* [Maestro](https://maestro.mobile.dev) on PATH (or at ~/.maestro/bin) — the run_flow engine and the gesture fallback path
  • *(optional)* a running Metro bundler for the metro_* debugging tools
  • *(optional)* Android SDK + adb — adb paths are detection-only and degrade gracefully when absent

Platform scope (v0.3.0): podium automates iOS simulators, real iPhones (devicectl lifecycle + opt-in WebDriverAgent), and Android emulators/devices (adb gestures + uiautomator hierarchy). device_list tags each target with its platform and the backend is selected per target. When a toolchain (e.g. adb) is absent, those paths degrade to an informative result instead of failing.

Install

Claude Code plugin (recommended)

No manual config — one-time marketplace setup, then install:

/plugin marketplace add github:hoainho/podium-mcp

/plugin install podium-mcp@podium

The plugin auto-starts the MCP server (all 51 tools) and ships five skills:

SkillInvokeWhat it does
Device info/podium-mcp:device-info [ ]Health check, screen size, orientation, app list
E2E flow/podium-mcp:e2e [path or description]Run or author a Maestro flow
Bug repro/podium-mcp:bug-repro Video + logs + crash evidence capture
RN debug`/podium-mcp:rn-debug [UDID] [logs\apps\crash\all]`Metro logs, connected apps, crash reports
Canvas brain/podium-mcp:canvas Inspect / resolve / tap canvas-WebGL UIs, no vision
npx (zero install)
{

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

Manual (from source)
git clone git@github.com:hoainho/podium-mcp.git

cd podium-mcp npm install npm run build

Usage

Register the built server with any MCP client. Claude Code (.mcp.json):

{

"mcpServers": { "podium": { "type": "stdio", "command": "node", "args": ["/absolute/path/to/podium-mcp/dist/index.js"] } } }

Quick manual smoke test over raw stdio (lists the 51 registered tools):

printf '%s\n' \

'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}' \ '{"jsonrpc":"2.0","method":"notifications/initialized"}' \ '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | node dist/index.js

Always call `podium_health` first to confirm which toolchain is available on the host.

Quick start (order of use)

  1. `podium_health` — confirm xcrun / maestro / native backend availability.
  2. `device_list` — pick a booted simulator udid.
  3. Read state — app_list, app_state, screen_size, orientation_get.
  4. Drive the device — app_launch, then tap_on / input_text / swipe / press_key, plus set_location and orientation_set. Batch several with run_steps.
  5. Author & verify — inspect_screen to discover elements, run_flow for declarative checks, then assert_visible / validate_flow for an evidenced verdict.
  6. Inspect WebViews — webview_inspect → tap coordinates, webview_eval, webview_navigate, webview_network.
  7. Capture & debug — screenshot / record_start→record_stop; `metro_lo

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx