# Integrations

Every way an AI app, a test tool or your own program reaches the devices on your Silan station, with the status of each way.

Silan is a device station for AI agents. Three kinds of things connect to it. An AI app you already use connects with one click from the Silan app. Your own agent or test tool speaks MCP, REST or WebDriver to the engine on this Mac. And you, or a script, drive devices from the command line. Every way goes through the same engine and the same safety rules: the agent asks before it pays, sends, posts or deletes, Stop Everything is Control Option Command Period, and passwords stay in the Vault, where no agent sees them.

<figure class="shot"><img src="/media/connections.webp" alt="The Connections page: connect an AI app in three steps, or open For developers for keys and addresses." width="1440" height="900" loading="lazy" /><figcaption>The Connections page: connect an AI app in three steps, or open For developers for keys and addresses.</figcaption></figure>

## What connects today

| Integration | Status | What you get |
|---|---|---|
| [Claude Code](/integrations/claude-code/) | Supported | One-click Connect or the Silan plugin, 16 or 27 tools, a first Allow question |
| [Codex](/integrations/codex/) | Supported | One-click Connect into `~/.codex/config.toml` |
| [Cursor](/integrations/cursor/) | Supported | One-click Connect into `~/.cursor/mcp.json` |
| [OpenCode](/integrations/opencode/) | Supported | One-click Connect into `~/.config/opencode/opencode.json` |
| [Claude desktop app](/integrations/claude-desktop/) | In testing | A Connect row and an MCP bundle, not yet proven |
| [Any MCP client](/integrations/any-mcp-client/) | Supported | The setup text to paste, or the HTTP `/mcp` listener with a key |
| [REST API](/integrations/rest/) | Supported | 64 operations at `http://127.0.0.1:47800/v1` with Bearer keys |
| [WebDriver endpoint](/integrations/webdriver/) | Supported | An Appium-style endpoint at `/wd/hub`, not a full Appium server |
| [Command line](/integrations/cli/) | Supported | The `silan` command inside the app |
| [Python library](/integrations/python/) | Coming soon | In the repository, not published |
| [Build your own agent loop](/integrations/build-your-own-agent-loop/) | Supported | Three small phone agents on your own model |

The status words mean this. **Supported**: the code is in the current release and a Silan worker or the owner proved it, on a real device, a simulator, an emulator, or on a Mac with no phone where the integration itself needs none. **In testing**: the code is in the release, but nobody has proved it on a real device yet. **Coming soon**: planned, not in the release.

One proof is still owed across every AI app on this list: a connected app acting on a real phone from start to end. Each Connect proof so far ran with no phone attached, and the phone proofs ran with Silan's own tools over MCP and REST. The pages say so where it matters.

## Which page to read

- You use Claude Code, Codex, Cursor or OpenCode: open its page. Connect takes one click, then a restart of the app.
- You use another AI app that speaks MCP: [Any MCP client](/integrations/any-mcp-client/).
- You write your own agent: [Any MCP client](/integrations/any-mcp-client/) for MCP, [REST API](/integrations/rest/) for plain HTTP, and [Build your own agent loop](/integrations/build-your-own-agent-loop/) for a complete example on your own model.
- You run app tests: [REST API](/integrations/rest/) or the [WebDriver endpoint](/integrations/webdriver/), with the `testing` tool set on MCP.
- You want a quick look from Terminal: [Command line](/integrations/cli/).

## What every integration shares

- The engine listens on this Mac only, at `127.0.0.1` and `::1`. Nothing is open to the network.
- An app you connect from the Silan app needs no key. Silan names it from the code signature of the program that started `silan mcp` and asks you once: **Allow**, **Allow this time** or **Don't allow**.
- Your own programs use a key that starts with `silan_sk_`. You make it on the **Connections** page, under **For developers**, and see it once.
- A risky step waits for your yes in Silan. REST answers `202`, MCP answers `APPROVAL_REQUIRED`, WebDriver answers `500`. After your yes, the same call works.
- Every device call can carry a lease, so two agents never drive the same device at once.

The tool list, the loop an agent runs and the skills are on [Use Silan from your agent](/agents/). The generated references are [MCP tools](/reference/mcp/), [REST API](/reference/rest/) and [Command line](/reference/cli/).