diff --git a/plugin/.mcp.json b/plugin/.mcp.json index 9aa431b..29571ab 100644 --- a/plugin/.mcp.json +++ b/plugin/.mcp.json @@ -6,7 +6,7 @@ }, "mobile-mcp": { "command": "npx", - "args": ["-y", "@mobilenext/mobile-mcp@latest"] + "args": ["-y", "@mobilenext/mobile-mcp@0.0.54"] } } } diff --git a/plugin/README.md b/plugin/README.md index e44aa1b..9d1e9e8 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -33,7 +33,7 @@ plugin/ - **Bundled MCP servers** (`/mcp` to check): the generator server (`nativeapptemplate-agent`, wired as `npx -y -p nativeapptemplate-agent@latest nativeapptemplate-agent-mcp`) and - `mobile-mcp` (`@mobilenext/mobile-mcp`) for device automation. + `mobile-mcp` (`@mobilenext/mobile-mcp@0.0.54`) for device automation. Two non-obvious bits in that generator command: the MCP entry point is a **bin** of the `nativeapptemplate-agent` package, not its own package, so `-p` is @@ -42,6 +42,12 @@ plugin/ own repo (cwd shadowing) and fails with `command not found`. `@latest` forces registry resolution regardless of cwd. + `mobile-mcp` is **pinned to 0.0.54** on purpose: 0.0.55+ closes the stdio + connection on startup (`Connection closed` ~6s in), so `@latest` fails. This + matches the agent's own pin in `src/mobile.ts`. If you have a global `mobile-mcp` + config on `@latest`, it'll show ✘ failed in `/mcp` — this bundled, pinned one is + the working copy (different command, so it won't dedup against your global). + ## Requirements - Node.js 22+ and an `ANTHROPIC_API_KEY` with access to `claude-opus-4-7`.