# MCP-сервер

> Подключите Claude, ChatGPT, Codex, Cursor, VS Code и другие клиенты к Skynet.

MCP-сервер Skynet позволяет ИИ-агенту работать со Skynet от вашего имени. Claude, ChatGPT, Codex, Cursor и другие MCP-клиенты могут проверять настройки запуска, начинать запуски, следить за ними и останавливать их. Вы один раз подтверждаете подключение в браузере. Агент задаёт лимит расходов для каждого запуска.

## URL сервера

Все клиенты используют один и тот же URL:

```text
https://mcp.skynetml.com/mcp
```

Сервер использует Streamable HTTP. Вход выполняется через OAuth 2.1. Вам не нужно копировать в клиент токен или API-ключ.

## Подключение клиента

Выберите свой клиент. Выполните его шаги, затем перейдите к разделу [Подтверждение подключения](#подтверждение-подключения).

```skynet-mcp-clients

```

## Подтверждение подключения

Когда агент впервые обращается к Skynet, в браузере открывается страница Skynet.

1. Войдите в Skynet, если вы ещё не вошли.
2. Прочитайте страницу. На ней указаны имя агента, сайт, на который он вернётся, и ваш аккаунт.
3. Прочитайте, что сможет делать агент:
   - Видеть ваши запуски оптимизации и их результаты.
   - Начинать и останавливать запуски оптимизации с оплатой из вашего баланса.
4. Нажмите **Allow**, чтобы подключить агента. Нажмите **Deny**, чтобы отказаться.

После нажатия **Allow** браузер возвращается к агенту. Теперь агент может вызывать инструменты, перечисленные ниже.

> [!NOTE]
> Агент задаёт лимит расходов для каждого запуска. Он не может пополнять баланс.

## Инструменты

| Инструмент  | Что делает                                                                                        | Доступ  |
| ----------- | ------------------------------------------------------------------------------------------------- | ------- |
| `check_run` | Проверяет настройки запуска, не выполняя его и не списывая средства. Предлагает лимит расходов.   | Чтение  |
| `start_run` | Начинает запуск с лимитом расходов.                                                               | Запись  |
| `get_run`   | Возвращает статус, расходы и, когда запуск завершён, результат.                                   | Чтение  |
| `list_runs` | Возвращает список ваших запусков, сначала новые. Может фильтровать по статусу.                    | Чтение  |
| `stop_run`  | Останавливает запуск. Повторный вызов возвращает ошибку о том, что запуск уже завершён.           | Запись  |

Доступ на чтение использует область `runs:read`. Доступ на запись использует область `runs:write`.

Ни один инструмент не пополняет баланс, не меняет его и не меняет настройки оплаты.

## Как агент выполняет оптимизацию

1. Агент вызывает `check_run` с настройками запуска. Skynet выполняет статические проверки и возвращает:
   - Результат каждой проверки.
   - Минимальный лимит расходов, с которым можно начать запуск.
   - Рекомендуемый лимит расходов. Он не меньше $5.00.
   - Модели, для которых цена неизвестна.
   - Сумму, которую вы можете потратить сейчас.
2. Агент вызывает `start_run` с лимитом расходов (`max_cost_cents`, от 1 до 1 000 000 центов США). Он также может передать `idempotency_key`, чтобы повторная попытка не начала второй запуск.
3. Если проверка настроек ещё идёт, `start_run` возвращает `in_progress` и `retry_after_seconds`. По истечении этого времени агент снова вызывает `start_run` с теми же входными данными.
4. Агент вызывает `get_run`, пока запуск не завершится. Окончательные статусы: `success`, `failed`, `cancelled` и `stopped`.

> [!TIP]
> Укажите агенту лимит расходов прямо в промпте, например: «Оптимизируй этот промпт. Потрать не больше $10». Агент использует этот лимит в `start_run`.

Запуск останавливается, когда достигает своего лимита расходов. Как Skynet списывает средства за запуск, описано в разделе [Бюджеты и оплата](/docs/ru/concepts/billing).

## Безопасность

- Каждый клиент получает собственное разрешение. Клиент никогда не видит ваш пароль.
- Вход использует PKCE (S256). Клиент регистрируется через динамическую регистрацию клиента или через документ метаданных идентификатора клиента.
- Токены доступа истекают через 1 час. Клиент обновляет их с помощью токена обновления.
- Токен обновления истекает через 30 дней без использования. Разрешение действует не больше 90 дней. После этого подключение нужно подтвердить снова.
- Каждый токен обновления работает только один раз. Если кто-то повторно использует старый токен обновления, Skynet отзывает разрешение.
- Агент может видеть и менять только ваши собственные запуски.

Как Skynet защищает ваш аккаунт и данные, описано в разделе [Безопасность](/docs/ru/security).

## Отключение

Чтобы отключить агента, удалите сервер Skynet из клиента. Большинство клиентов после этого отзывают свои токены. Если клиент их не отзывает, его токен обновления истечёт через 30 дней без использования.

## Устранение неполадок

| Проблема                                        | Что делать                                                                    |
| ----------------------------------------------- | ----------------------------------------------------------------------------- |
| Подключение сразу завершается ошибкой           | Проверьте URL сервера. Он должен быть точно `https://mcp.skynetml.com/mcp`.   |
| «This agent can't connect»                      | Начните подключение заново из клиента.                                        |
| «Too many attempts»                             | Подождите несколько минут и попробуйте снова.                                 |
| Клиент не открывает браузер                     | Обновите клиент. Он должен поддерживать удалённые MCP-серверы с OAuth.        |
| `start_run` завершается ошибкой баланса         | Пополните баланс в Skynet или начните запуск с меньшим лимитом расходов.      |
| Инструменты перестают работать через несколько недель | Срок действия разрешения истёк. Удалите сервер и подключитесь заново.   |

Для прямого доступа по HTTP без агента прочитайте раздел [API](/docs/ru/api).

---

Source: https://staging.skynetml.com/docs/ru/mcp
