Parallax

CLI

The command of @parallax-rn/mcp - run the server, check your setup, register it with Claude Code or Codex.

@parallax-rn/mcp is the MCP server your agent starts. Run its commands through npx, without installing anything first. They run in any folder, except doctor, which looks for your app in the current folder (use the app's project root):

npx -y @parallax-rn/mcp@0.1.0-beta.2 doctor

When it runs as the MCP server on stdio, what it prints for you goes to stderr. doctor, setup, hook, --version and --help print to stdout; a usage error goes to stderr.

Commands

[--metro-url <url>]

With no command, runs the MCP server on stdio. You do not run this yourself; your agent starts it. --metro-url is Metro's address. The default is http://localhost:8081, or the PARALLAX_METRO_URL environment variable when it is set.

doctor [--metro-url <url>]

Prints the checklist (simulator tools, Metro, the app, the SDK, the build plugin, versions, and whether the agent hooks are set up) with a fix for each problem, then exits. The exit code is 1 when a check fails, otherwise 0.

security [--project <dir>] [--release-bundle <file>] [--app <built .app>] [--device <udid|serial> --app-id <bundle id|package>] [--json]

Security hints from the project's files and, with --release-bundle, a release bundle. With --app, also the entitlements of a built iOS app (codesign). With --device and --app-id, the app's stored data on a simulator or emulator. Read only. See Security hints.

setup <claude|codex> [options]

Registers the server with an agent and installs the Parallax skill. It shows a diff of every change and asks before it applies anything. --yes skips the question, never the diff.

OptionWhat it does
--scope <user|project>Claude Code only. Where to register the server. user is the default. project registers in <project>/.mcp.json and installs the skill there. Codex registers globally only, so --scope project is refused for Codex.
--project <dir>The React Native project. Default: the current directory.
--updateChange an existing Parallax registration or skill to this version.
--hookAlso add the agent hooks: a nudge when you sent the agent something from the Parallax app, and observe-only session events for the app's session list. Asked separately; only their own entries are touched.
--answer-approvalsThe agent's own permission prompts are also shown in the Parallax app and answered there. The agent's prompt stays when the app is closed or does not answer. Asked separately.
--strict-approvalsTools that act are approved in the Parallax app. It fails closed without the app. Parallax's own agent prompts are switched off. Asked separately.
--allow-read-only-toolsClaude Code: also add the read-only tools to permissions.allow. Tools that act are never added. Asked separately.
--real-configAllow a run without a terminal to use the real agent configuration. Scripts and tests must point HOME somewhere else instead.
--undoRemove what setup added. It shows exactly what first.
--yesDo not ask. The diff is still printed.
--dry-runPrint the diff and change nothing.
--localRegister node <this cli.js> instead of npx.
--package <spec>What npx runs. Default: @parallax-rn/mcp@<this version>. May be a path to a tarball.

Setup without an agent name, or with an agent other than claude or codex, exits with code 2.

hook <claude|codex>

The agent's hook command. It tells the app which agent session is running and nudges the agent when you sent it something from the app. It reads the hook JSON on stdin and prints nothing when nothing waits. setup --hook writes this entry for you.

--version

Prints the version.

Unknown commands

Any other command prints the help and exits with code 2.

Full help text

This is the output of --help, generated from the built server:

parallax-mcp 0.1.0-beta.2

Usage:
  parallax-mcp [--metro-url <url>]            run the MCP server on stdio
  parallax-mcp doctor [--metro-url <url>]     print the checklist and exit (exit code 1 when a check fails)
  parallax-mcp hook <claude|codex>            the agent's hook: tells the app which session is running and nudges for "send to agent" (reads the hook JSON on stdin; prints nothing when nothing waits)
  parallax-mcp security [--project <dir>] [--release-bundle <file>] [--app <built .app>] [--device <udid|emulator-N> --app-id <bundle id|package>] [--json]  security hints from the project's files (a release bundle, the app's stored files on a simulator or emulator); read only
  parallax-mcp setup <claude|codex> [options]  register the server with an agent, install the skill (shows a diff, asks first)
  parallax-mcp --version

setup options:
  --scope <user|project>       Claude Code only: where to register (default user; project registers in <project>/.mcp.json and installs the skill there)
  --project <dir>              the React Native project (default: the current directory)
  --update                     change an existing Parallax registration or skill to this version
  --hook                       also add the hooks: the nudge when the user sent the agent something from the app, and observe-only session events for the app's session list (asked separately; their own entries only)
  --answer-approvals           the agent's own permission prompts are also shown in the Parallax app and answered there (asked separately; the agent's prompt stays when the app is closed or does not answer)
  --strict-approvals           acting tools are approved in the Parallax app (asked separately; fails closed without it); Parallax's own agent prompts are switched off
  --allow-read-only-tools      Claude Code: also add the read-only tools to permissions.allow (asked separately; tools that act are never added)
  --real-config                allow a run without a terminal to use the real agent configuration (scripts and tests must isolate HOME instead)
  --undo                       remove what setup added (shows exactly what first)
  --yes                        do not ask (the diff is always printed); --dry-run: print the diff and change nothing
  --local                      register 'node <this cli.js>' instead of npx
  --package <spec>             what npx runs (default @parallax-rn/mcp@0.1.0-beta.2; a path to a tarball before the package is published)

Options:
  --metro-url <url>   Metro's address (default http://localhost:8081, or the PARALLAX_METRO_URL environment variable)

On this page