# Shuttle

MCP-сервер, который даёт агенту доступ к документации и рецептам Android-фреймворка Shuttle — чтобы код не падал с TransactionTooLargeException.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 87
- Автор: grarcht
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/grarcht/Shuttle
- Обновлён: 2026-08-02
- HTML: https://affpapa.org/nevibecode/mcp/shuttle

## Что делает

Shuttle — это Android-фреймворк, который убирает падения `TransactionTooLargeException` на уровне архитектуры. Вместо того чтобы передавать большой `Serializable` прямо в `Intent` или `Bundle`, объект кладут в хранилище, а по компонентам едет только его идентификатор. Binder-транзакция остаётся маленькой, и класс ошибки становится структурно невозможным, а не «не рекомендованным» в код-ревью.

Этот MCP-сервер подключает к агенту справочник по фреймворку: как устроены модули, как передавать груз через `Intent` и Navigation Component, как забирать его на месте назначения, что такое состояния груза в паттерне LCE и как работает аннотация `@ShuttleCargo`. Плюс подскажет, как чистить хранилище.

Сервер запускается в Docker-контейнере `ghcr.io/grarcht/shuttle-mcp:4.0.0`, поэтому Docker должен быть установлен и запущен — без него команда не сработает. Сам фреймворк требует Min SDK 26 и Kotlin 2.2.10. В README есть отдельный раздел про компромиссы, так что перед внедрением стоит прочитать его внимательно.

## Требования
- Нужно: Docker

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0
```

### Codex

**Командой платформы**
```bash
codex mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "shuttle": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/grarcht/shuttle-mcp:4.0.0"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "shuttle": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/grarcht/shuttle-mcp:4.0.0"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add shuttle docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0
```

## Когда брать
- разобраться, почему приложение падает с `TransactionTooLargeException` в проде
- передавать крупные `Serializable` между экранами без риска обрыва транзакции
- найти примеры использования `@ShuttleCargo` и состояний груза
- подключить хранилище объектов без ручного создания таблиц БД
- вычистить остатки груза из хранилища после доставки

## Примеры запросов агенту
- Покажи, как передать большой объект через `Intent` с помощью Shuttle
- Как забрать груз на экране назначения и почистить хранилище?
- Объясни паттерн LCE для состояний груза в Shuttle

## Похожие
- [mobile-mcp](https://affpapa.org/nevibecode/mcp/mobile-mcp.md) — MCP-сервер · ★ 9946
- [mobilerun](https://affpapa.org/nevibecode/mcp/mobilerun.md) — MCP-сервер · ★ 9751
- [e2e](https://affpapa.org/nevibecode/mcp/e2e.md) — MCP-сервер · ★ 11912
- [XcodeBuildMCP](https://affpapa.org/nevibecode/mcp/xcodebuildmcp.md) — MCP-сервер · ★ 6505
- [ShipSwift](https://affpapa.org/nevibecode/mcp/shipswift.md) — MCP-сервер · ★ 3244
- [agent-device](https://affpapa.org/nevibecode/mcp/agent-device.md) — MCP-сервер · ★ 5149

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
