Connect an AI client
Let Claude Code, Codex or any MCP client work on one project, with your permission.
Two ways to connect
- On your network: the AI client on your computer talks straight to Pythilo on your iPhone or iPad over the local network. No account, no cloud service, no relay.
- Through a room: the client joins a shared room with the Pythilo MCP bridge, from anywhere.
On your network
Open Playground › Manage connection on the AI client over MCP card, or ⋯ › Share with an AI client or person › Connect an AI client in a project, and tap Connect beside the project to share. Pythilo starts a Model Context Protocol server on the device and shows the command to run on your computer, which must be on the same network:
| Client | What to do |
|---|---|
| Claude Code | Tap Copy command and run it. It looks like claude mcp add --transport http pythilo http://192.168.1.20:18765/mcp --header "Authorization: Bearer …" |
| Codex | Run the copied codex mcp add pythilo --url … --bearer-token-env-var PYTHILO_TOKEN and set PYTHILO_TOKEN to the token shown. |
| Any other MCP client | Streamable HTTP at the address shown, with the same bearer token. |
The first time, iOS asks whether Pythilo may find and connect to devices on your local network. Allow it, or the computer cannot reach the phone.
What it may do
Each permission is Allowed, Ask each time or Not allowed:
| Permission | Default |
|---|---|
| Read project files | Allowed |
| Edit files | Allowed |
| Run, test, debug | Ask each time |
| Install packages | Ask each time |
| Git commit | Ask each time |
| Git push | Not allowed |
The client sees one project only, and not its .git, .pythilo or __pycache__ folders. Every write checks that the file has not changed underneath it. Your Git tokens are never shown to it; a permitted push uses them on the device.
Requests and activity
When a permission is set to ask, a card says what the client wants to do, with Deny and Allow once. A request nobody answers is denied after two minutes. Recent lists what the client did.
Stop sharing
Stop sharing ends the connection and throws the token away; the next share makes a new one. Sharing another project, or closing Pythilo, also ends it. Keep Pythilo open while the client works: iOS pauses it in the background.
Through a room
For a client that is not on your network, share the project as a room and use Connect AI in the room. The client then needs the Pythilo MCP bridge; Connect AI on this site explains the setup. In a room, the client is a participant like any other and asks your device to run code under the room's rules.
Good to know
The local connection is plain HTTP on your network, protected by a token that changes every time you share. Use it on networks you trust, such as your home, not on public Wi-Fi.
What the AI client does with your code is up to it and its provider's terms: Pythilo sends the project to the client you connect, and nowhere else.