# ChatGPT, Codex или Claude в браузере (/ru/docs/drive/remote)

Подключите приложение ИИ в браузере или на телефоне — например ChatGPT, Codex web или Claude — к своим документам Google Drive. Такое приложение не может запустить `drive` на вашем компьютере: ему нужен интернет-адрес. По этому руководству вы подключите приложение через отдельный HTTPS-адрес, ограничите его правами профиля и узнаете, как остановить подключение или отозвать доступ.

Термины в этом руководстве:

* **MCP** (Model Context Protocol) — стандарт, по которому приложение ИИ вызывает внешние инструменты. `drive personal mcp` запускает MCP-сервер `drive`; для приложений на своём компьютере см. [локальный MCP-клиент](/llms.mdx/docs/ru/drive/recipes/content.md#use-a-local-mcp-client).
* **Удалённое подключение** означает, что приложение обращается со своих серверов через интернет к указанному вами адресу. Для этого `drive personal mcp --http` предоставляет те же инструменты по HTTP на `127.0.0.1`.
* **HTTPS-туннель** — программа, которая даёт порту вашего компьютера публичный HTTPS-адрес. Здесь используется [Tailscale Funnel](https://tailscale.com/docs/features/tailscale-funnel); подойдёт и Cloudflare Tunnel. Для Funnel не нужно покупать домен.
* **Публичный URL** — этот адрес, например `https://laptop.tail1234.ts.net`. Вы передаёте его `drive` через `--public-url`, а приложению — с `/mcp` в конце.
* **Код доступа** — одноразовый код, который `drive` выводит в терминале. Страница входа приложения запрашивает этот код, поэтому подключить приложение может только человек, который видит терминал.

```text
ChatGPT / Claude ──internet──▶ Tailscale Funnel ──▶ drive personal mcp --http (login) ──▶ Google Drive
```

Если Tailscale уже настроен, используйте существующее подключение: второй туннель не нужен. Локальное подключение через стандартные потоки ввода и вывода продолжает работать.

## Перед началом [#перед-началом]

* **Вошедшее приложение получает доступ к вашим документам.** Для входа нужен код из терминала. Не публикуйте через туннель `drive personal mcp` без `--http`: в этом режиме нет страницы входа.
* **Права профиля определяют, что приложение может менять.** `deny` и `readonly` блокируют запись; `ask` и `allow` пропускают запрошенную запись через MCP без формы подтверждения на сервере. Подтверждение в самом приложении зависит от его настроек. Вход Google и права на файлы проверяются отдельно: для записи также нужно повторно подключиться с `--grant write` ([сценарии](/llms.mdx/docs/ru/drive/recipes/content.md), [настройки](/llms.mdx/docs/ru/drive/configuration/content.md), [безопасность](/llms.mdx/docs/ru/drive/security/content.md)).
* **Компьютер с `drive` должен оставаться включённым.** Для работы с телефона можно запустить сервер на постоянно включённом компьютере и подключить свой аккаунт Google там.
* **Проверьте, разрешены ли в приложении или рабочем пространстве пользовательские подключения MCP.** Доступность и ограничения администратора зависят от приложения. Следуйте актуальному [руководству OpenAI](https://developers.openai.com/api/docs/guides/custom-mcp-server) или [руководству Claude](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

Не все шаги настройки проверены на каждой операционной системе. Если шаг не работает, [создайте задачу](https://github.com/WireCatLabs/drive-cli/issues).

## Запустите туннель и сервер [#запустите-туннель-и-сервер]

Сначала установите `drive` и подключите аккаунт Google ([установка](/llms.mdx/docs/ru/drive/installation/content.md)). Настраивайте и запускайте MCP-сервер под одним пользователем операционной системы и с одним профилем.

Установите [Tailscale](https://tailscale.com/download), войдите и включите [Funnel](https://tailscale.com/docs/features/tailscale-funnel): в вашей сети Tailscale должны быть разрешены MagicDNS, HTTPS-сертификаты и Funnel. Первая команда Funnel может вывести ссылку для подтверждения.

Оставьте открытыми два окна терминала. В первом запустите туннель. Скопируйте выданный HTTPS-адрес во второе окно. Нужен адрес без `/mcp` и любого другого пути; явно указанный публичный порт, например `:8443`, сохраните.

Сервер слушает `127.0.0.1:8765` (порт меняется через `--port`) и выводит одноразовый код доступа. Права администратора ему не нужны; они могут понадобиться только туннелю.

В Linux, первое окно:

```sh
sudo tailscale funnel 8765
```

В macOS, если `tailscale` нет в PATH ([руководство Tailscale CLI](https://tailscale.com/docs/reference/tailscale-cli?tab=macos)):

```sh
TAILSCALE_BE_CLI=1 /Applications/Tailscale.app/Contents/MacOS/Tailscale funnel 8765
```

В Windows, в PowerShell от имени администратора:

```powershell
& "$env:ProgramFiles\Tailscale\tailscale.exe" funnel 8765
```

Второе окно запустите от обычного пользователя, без `sudo` (в Windows используйте `drive.cmd`):

```sh
drive personal mcp --http --port 8765 --public-url https://<device>.<network>.ts.net
```

Чтобы запустить `drive` рядом с `tg` или `max`, задайте каждому серверу отдельные локальный и публичный HTTPS-порты. Например, второй Funnel с `--https=8443 8766` и `drive personal mcp --http --port 8766 --public-url https://<device>.<network>.ts.net:8443`. Funnel поддерживает публичные порты `443`, `8443` и `10000` ([справочник Funnel](https://tailscale.com/docs/reference/tailscale-cli/funnel)).

### Вариант: Cloudflare Tunnel [#вариант-cloudflare-tunnel]

[Именованный туннель Cloudflare](https://developers.cloudflare.com/tunnel/get-started/) с публичным именем вроде `mcp.example.com` и локальным сервисом `http://127.0.0.1:8765` работает так же:

```sh
drive personal mcp --http --port 8765 --public-url https://mcp.example.com
```

Временный Quick Tunnel (`cloudflared tunnel --url …`) не подходит: [Quick Tunnels не поддерживают SSE](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/), через которые HTTP MCP-сервер передаёт поток ответов.

## Подключите приложение [#подключите-приложение]

Адрес для приложения — адрес туннеля с `/mcp` в конце, например `https://<device>.<network>.ts.net/mcp`. Добавьте его как удалённый MCP-коннектор:

* **ChatGPT или Codex web:** откройте **Plugins**, выберите **+ Add custom MCP server** и создайте плагин с адресом `/mcp` и OAuth по [руководству OpenAI](https://developers.openai.com/api/docs/guides/custom-mcp-server). Выберите динамическую регистрацию клиента (DCR), если она предлагается, затем установите плагин для использования в разговоре.
* **Claude:** добавьте пользовательский коннектор с этим адресом по [руководству Claude](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

Приложение откроет страницу входа `drive`. Проверьте, куда вернётся результат входа: там должно быть нужное приложение, например `chatgpt.com` или `claude.ai`. Затем введите код доступа из терминала. Код действует десять минут; после каждого входа появляется новый. Пять неверных кодов блокируют страницу входа до перезапуска сервера. Приложение сохраняет вход, пока использует подключение хотя бы раз в 30 дней.

Сервер предоставляет те же три инструмента, что и локальный режим: `drive_tools_search`, `drive_read` и `drive_write`. Текст документов — данные, а не инструкции.

## Права для этого процесса сервера [#права-для-этого-процесса-сервера]

Сервер не видит, запросило ли приложение ваше подтверждение перед вызовом. Повторяйте `--permission key=level`, чтобы ужесточить права только для этого процесса, например `--permission files=readonly` или `--permission sheets=deny`. Переопределение может только сужать права: значение, которое ослабило бы ограничение профиля, отклоняется. Чтобы разрешить больше, измените права профиля ([настройки](/llms.mdx/docs/ru/drive/configuration/content.md)). `--read-only` запрещает любые изменения на время этого запуска.

## Остановите сервер или отзовите доступ [#остановите-сервер-или-отзовите-доступ]

Нажмите Ctrl-C в обоих окнах, чтобы остановить сервер и туннель. Вход приложений сохраняется после перезапуска.

Если Funnel был запущен с `--bg`, Ctrl-C не остановит фоновый маршрут. Проверьте `tailscale funnel status` и выключите только его порт, например `tailscale funnel --https=443 off`.

Чтобы завершить вход всех приложений для профиля:

```sh
drive personal mcp --revoke --json
```

Приложениям понадобится снова войти с новым кодом. Это не завершает вход `drive` в Google.

## Если не работает [#если-не-работает]

* **Приложение не подключается:** откройте в браузере `https://<device>.<network>.ts.net/.well-known/oauth-protected-resource/mcp`. Должен появиться небольшой JSON. Если его нет, Funnel не работает, не разрешён в вашей сети Tailscale или направлен на другой порт.
* **Страница входа сообщает "Too many wrong codes":** перезапустите `drive personal mcp --http`. Если коды вводили не вы, кто-то нашёл ваш адрес: рассмотрите смену имени устройства в Tailscale.
* **"port 8765 is in use":** порт занят другим сервером; задайте другой через `--port` и направьте туннель на него.
* **Чтение работает, запись — нет:** проверьте права профиля, переопределения `--permission` и разрешение Google на запись. `deny` и `readonly` блокируют запись независимо от подтверждения приложения.
