Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Mac app that lets AI agents drive iPhones, iOS simulators and Android: tap, type, install, logs.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 niklas-schmidt-dev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.64)于7天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AI Deprecations
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
The Mobdev app: your iPhones, iOS simulators and Android devices in one window, for you and your AI agent. Free, open source, about 2 MB, no account.
Mobdev reads the iPhone screen over the USB cable, the way QuickTime does. With Developer Mode on the iPhone and Xcode on the Mac, it builds Mobdev Runner, a small UI test, and keeps it running on the iPhone: the runner taps, swipes, types any text, presses keys and buttons and reads the UI tree, over the same cable. iPhones without Developer Mode are driven over Bluetooth instead, with the Mac posing as a keyboard and pointer; nothing is installed on them. Booted simulators and Android devices take the same tools. Agents get an MCP server and a small HTTP API. An optional relay lets agents elsewhere reach the devices.
USB cable: screen frames (like QuickTime)
┌─────────┐ ◀──────────────────────────────────────────────── ┌────────┐ │ Mac │ │ iPhone │ │ Mobdev │ ────────────────────────────────────────────────▶ │ │ │ │ Developer Mode: Mobdev Runner over the cable │ │ │ │ (XCUITest: taps, swipes, keys, text, UI tree) │ │ │ │ ────────────────────────────────────────────────▶ │ │ └─────────┘ without it: Bluetooth LE keyboard + pointer └────────┘ ▲ ▲ (AssistiveTouch turns the pointer into taps) │ └── MCP / HTTP on 127.0.0.1 │ └── optional outgoing connection to a relay (see ../relay)
cd macos
MOBDEV_VARIANT=release scripts/build-app.sh # builds build/Mobdev.app (ad hoc signature) open build/Mobdev.app # allow Camera (and Bluetooth without Developer Mode) when macOS asks
macOS treats the iPhone screen like a camera, hence the Camera prompt. To sign with a certificate, set CODESIGN_IDENTITY; UNIVERSAL=1 builds for Apple silicon and Intel. With an ad hoc signature macOS may ask for the permissions again after each rebuild.
Without MOBDEV_VARIANT=release the script builds Mobdev Dev (build/Mobdev Dev.app) for development. It is a separate app that runs next to an installed Mobdev without changing it: bundle ID dev.mobdev.mac.dev, its own settings and secrets in ~/Library/Application Support/dev.mobdev.mac.dev, port 4687, the mobdev-dev:// URL scheme (so dashboard links keep opening the installed app), the MCP name mobdev-dev, an amber icon and no automatic updates. Both apps share the Mac's Bluetooth, and each starts its own Mobdev Runner on an iPhone in Developer Mode, so quit one before testing input on an iPhone.
On first launch a setup assistant walks through these steps and checks each off as soon as the Mac detects it. It asks for camera access on the page that explains it, and for Bluetooth access only on the way without Developer Mode. Open it again with Mobdev › Set Up iPhone…. Without an iPhone, choose Simulators and Android Only on the welcome page: nothing asks for camera or Bluetooth access until you set one up.
Choose Without Developer Mode in the setup assistant. Mobdev then taps and types through Bluetooth, posing as a keyboard and pointer, and installs nothing on the iPhone. The same way serves an iPhone whose Developer Mode Control is turned off, and, when the iPhone is paired, stands in while Mobdev Runner is still starting.
status, and swipe refuses while the pointer snaps.iOS hides its on-screen keyboard while a Bluetooth keyboard is connected, with or without the cable. After five minutes without input Mobdev lets go of Bluetooth, so the iPhone shows its own keyboard again; the next tap or key from Mobdev connects again within a few seconds (MOBDEV_BLUETOOTH_REST_SECONDS changes the five minutes). For ten minutes after an iPhone or iPad is plugged in without pairing, Mobdev stays connected so that it can still pair; Show on iPhone Again connects again after that. Moving the mouse over the mirror connects right away and keeps Bluetooth awake, so the first click goes through without delay. Until the iPhone has connected all of its inputs again, Mobdev refuses input rather than send a click without the pointer move before it.
The mirror in the app is live: click to tap, drag to swipe, swipe with two fingers on the trackpad (sideways too), scroll with the wheel (a sideways wheel or Shift scrolls sideways), and type while it has focus. Over Bluetooth the pointer follows the mouse as it moves; through Mobdev Runner each tap, swipe and scroll goes out when the button or the fingers lift, and typing in short bursts. ⌘V types the Mac clipboard on the phone. The inspector on the right shows what is still missing, Activity lists every agent action, and Settings (⌘,) holds the keyboard layout and API token.
.app, .ipa or .apk on it to install; launch, stop and remove apps; follow an app's console live, open its crash reports and try deep links. It uses the same tools as agents, so it needs Developer Mode and Xcode for an iPhone, and nothing for simulators and Android.{"tap_element":{"id":"login"}}, instead of tapping the device. Simulators, Android, and iPhones with Mobdev Runner.The app shows ready-to-copy configurations with the right paths. The stdio variants need no token: Mobdev mcp reads it locally and starts the app in the background if needed. It reaches the app over a Unix socket in the app's data directory rather than the TCP port, so another user on the Mac cannot pose as the app and collect the token.
Claude Code:
claude mcp add --scope user mobdev -- /Applications/Mobdev.app/Contents/MacOS/Mobdev mcp
Codex (~/.codex/config.toml):
[mcp_servers.mobdev]
command = "/Applications/Mobdev.app/Contents/MacOS/Mobdev" args = ["mcp"]
Claude Desktop, Cursor and other clients:
{ "mcpServers": { "mobdev": { "command": "/Applications/Mobdev.app/Contents/MacOS/Mobdev", "args": ["mcp"] } } }
Clients that speak Streamable HTTP can also use http://127.0.0.1:4686/mcp with Authorization: Bearer (copy it in the app). The server supports MCP 2026-07-28 and the earlier initialize-based versions from 2024-11-05 to 2025-11-25.
Coordinates are pixels of the image screenshot returns (long edge 1280 px, origin top-left). Actions return a fresh screenshot over MCP unless screenshot is false. With more than one device, pass device (an id or name from list_devices) to pick one. Without it, Mobdev uses the only device, or the connected iPhone when simulators or Android devices run next to it.
| Tool | Arguments | |
|---|---|---|
list_devices | iPhones, booted simulators and Android devices: id, name, model, system version, ready | |
list_virtual_devices | Every iOS simulator and Android Virtual Device on the Mac, running or not (see Simulators and Android) | |
boot_device | id, window | Starts a simulator or AVD and waits until it has booted; it then appears in list_devices |
shutdown_device | id | Shuts a simulator down or quits an emulator, unless a flow, test run or crawl holds it |
create_simulator | device_type, runtime, name, boot | Makes an iOS simulator, such as "iPhone 17 Pro" on "27.0" (default the newest iOS), and boots it |
delete_simulator | id | Deletes a simulator that create_simulator made; others are refused |
status | Screen and input readiness, how input reaches an iPhone (Mobdev Runner or Bluetooth), screenshot size | |
screenshot | JPEG of the screen | |
tap | x, y, double | x and y may also be shares of the screen such as "50%", as in every tool with coordinates |
long_press | x, y, seconds | |
swipe | from_x, from_y, to_x, to_y, duration |
| pinch | scale, x, y, duration | Two fingers around a point (default the center) a
只显示了开头部分;其余内容请在仓库中阅读