# Подключите приложение в браузере или на телефоне (/ru/docs/memo/remote)

Подключите удалённое ИИ-приложение к Memo, если оно не может запустить программу на вашем компьютере. Приложение обращается к Memo через ваш HTTPS-туннель, входит по коду из терминала и использует те же команды поиска, чтения и записи, что и локальный MCP-клиент. Компьютер с Memo должен оставаться включённым.

HTTPS-туннель передаёт запросы с публичного адреса на порт вашего компьютера. Вход по коду использует OAuth: после вашего разрешения приложение получает токен входа. Разрешения команд по-прежнему определяют, что ему доступно. Текст из Memo может попасть в приложение и к его провайдеру ИИ; выбирайте источники с учётом этого ([безопасность](/llms.mdx/docs/ru/memo/security/content.md)).

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

Сначала [установите Memo](/llms.mdx/docs/ru/memo/installation/content.md) и импортируйте нужные заметки или почту. Сообщения и встречи должны быть уже сохранены другими инструментами WireCat. Запускайте импорт и сервер от одного пользователя операционной системы и с одними настройками Memo. У Memo нет имени профиля перед командой.

Настройте HTTPS-туннель с поддержкой потоковых ответов. Например, установите [Tailscale](https://tailscale.com/download), войдите, включите [Funnel](https://tailscale.com/docs/features/tailscale-funnel) и направьте его на локальный порт 8767. В [справочнике Funnel](https://tailscale.com/docs/reference/tailscale-cli/funnel) описаны нужные разрешения и команда для вашей системы. Именованный Cloudflare Tunnel тоже подходит; временные [Quick Tunnels](https://developers.cloudflare.com/tunnel/get-started/quick-tunnels/) не поддерживают потоковые ответы этого сервера.

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

```sh
memo mcp --http --public-url https://device.example
```

Memo слушает только `127.0.0.1:8767` и печатает одноразовый код входа и адрес подключения. Направьте туннель на `http://127.0.0.1:8767`. В публичном адресе не должно быть логина, пароля, пути, запроса или фрагмента; Memo добавляет `/mcp` для подключения. Удалённый публичный адрес должен использовать HTTPS.

Для другого локального порта передайте `--port` и поменяйте цель туннеля:

```sh
memo mcp --http --port 8768 --public-url https://device.example:8443
```

Каждому серверу WireCat нужны свой локальный порт и публичный адрес. Порт Memo по умолчанию, 8767, оставляет обычные порты tg и MAX свободными. Выбирайте публичный порт по правилам провайдера туннеля.

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

В настройках удалённого MCP приложения добавьте адрес, который напечатал Memo, с `/mcp` на конце. Выберите вход через OAuth; приложение должно поддерживать динамическую регистрацию клиентов. На странице входа введите текущий код из терминала. После успешного входа приложение получает токен, а Memo печатает новый код для следующего подключения. Не помещайте коды в сообщения и публичные журналы.

Попросите приложение найти команды Memo и поискать известную тестовую или несекретную заметку. Должны появиться `memo_tools_search`, `memo_read` и `memo_write`. Откройте найденный источник перед тем, как ссылаться на него. Если приложение не может прочитать результат, оно должно сообщить об этом ограничении.

Туннель и приложение устанавливаются отдельно. Здесь описан проверенный протокол сервера; это не подтверждение работы каждой комбинации приложения, подписки и операционной системы.

## Ограничьте действия приложения [#ограничьте-действия-приложения]

HTTP использует те же [сохранённые разрешения](/llms.mdx/docs/ru/memo/configuration/content.md#permissions), что и stdio. Заблокированные команды остаются в каталоге с причиной отказа; каждый вызов проверяет текущие разрешения. `ask` не показывает вопрос в терминале Memo: запрос согласия зависит от клиентского приложения.

Переопределение для сервера может только ужесточить сохранённые разрешения:

```sh
memo mcp --http --public-url https://device.example --permission notes.add=deny
```

Повторите `--permission` для других ключей. `MEMO_READ_ONLY=1` запрещает запись. Решения по выводам встреч, восстановление записей проекта, изменение папок-источников и почтовых правил по-прежнему требуют явных разрешений. Memo не отправляет сообщения или почту. Границы описаны в [руководстве MCP](/llms.mdx/docs/ru/memo/mcp/content.md).

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

Нажмите Ctrl-C, чтобы остановить Memo, и отдельно остановите маршрут этого туннеля. Обычный перезапуск сохраняет входы приложений. Для фонового туннеля используйте команду остановки конкретного маршрута; не сбрасывайте маршруты других серверов.

Чтобы завершить вход всех браузерных приложений в эту установку Memo:

```sh
memo mcp --revoke --json
```

Отзыв действует и на работающий сервер: прежние токены перестают работать, приложениям нужен новый вход. Он не отключает мессенджер и не удаляет заметки или почту. Хеши токенов и регистрации клиентов находятся в папке состояния Memo, в `mcp-http/memo.json`; исходные токены там не сохраняются. Отзыв использует эту папку состояния, поэтому запускайте его с тем же окружением, что и сервер.

## Если подключиться не удалось [#если-подключиться-не-удалось]

* Если подключение не достигает Memo, проверьте, что компьютер, сервер и туннель работают, а туннель направлен на выбранный локальный порт. Публичный адрес с `/.well-known/oauth-protected-resource/mcp` на конце должен возвращать метаданные JSON.
* Если локальный порт занят, выберите другой `--port` и измените цель туннеля.
* Если вход не проходит, возьмите последний код из терминала. Общий механизм входа ограничивает повторные попытки с неверным кодом.
* Если чтение работает, а запись нет, проверьте сохранённые разрешения, переопределения сервера и блокировку записи.
* Команда `memo agents list agent:memo-mcp` показывает выполнение команд без содержимого аргументов.

Дальше: [проверьте, что сохранило приложение](/llms.mdx/docs/ru/memo/memories/content.md).
