Skip to content

anotb/phone-use

v0.1.0MIT

Operate an authorized Android phone through its connected MCP companion.

Phone Use operating skill

The Phone Use plugin gives ChatGPT instructions for using an authorized Android MCP companion. It works with the model already available in ChatGPT. The Android app provides the controls, and the gateway handles pairing and routing.

The root plugin.json is the portable manifest. .codex-plugin/plugin.json retains the Codex compatibility format. Both identify phone-use and contain no apps or MCP connection binding. The repository folder is named plugin for source organization. No marketplace is installed and nothing is submitted to a public plugin directory by these files.

In my tests, ChatGPT Work on the same phone used the controller, and the connection survived an APK update. The operator still maintained the phone's tunnel route. Automatic routing, voice and broader device support are areas to build on. See gateway and plugin architecture.

Local checks

Requires Node.js 24. No dependency installation, account or network access is needed:

node --test tests/bind-connection.test.mjs

Optional connection binding

For an independently configured ChatGPT MCP connection, follow connection notes. A custom MCP connection can be used without this skill package. If associating a packaged skill with that connection is useful, run the following on a private development copy, using the technical ID supplied by your own ChatGPT connection:

node scripts/bind-connection.mjs plugin_asdk_app_YOUR_REGISTERED_ID

The helper creates .app.json and updates both manifests locally. It preserves an existing different binding by rejecting the change. Register and connect the endpoint through ChatGPT separately. Keep generated account-specific bindings and bound manifests out of commits.

The phone runtime uses the model already available in ChatGPT. Node.js is only an authoring/test dependency. Host capability and account availability still determine whether the tools can run.

Attribution

The controller is Android Remote Control MCP, by Daniele Albano and contributors. This package contains original operating instructions and binding helpers, licensed under MIT. It does not relicense the controller or its dependencies. See THIRD_PARTY_NOTICES.md.