Shuttle — MCP-сервер для Claude Code: Android без падений
MCP-сервер, который даёт агенту доступ к документации и рецептам Android-фреймворка Shuttle — чтобы код не падал с TransactionTooLargeException.
claude mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0Что делает 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 есть отдельный раздел про компромиссы, так что перед внедрением стоит прочитать его внимательно.
Какие задачи решает
- разобраться, почему приложение падает с
TransactionTooLargeExceptionв проде - передавать крупные
Serializableмежду экранами без риска обрыва транзакции - найти примеры использования
@ShuttleCargoи состояний груза - подключить хранилище объектов без ручного создания таблиц БД
- вычистить остатки груза из хранилища после доставки
Примеры запросов агенту
- Покажи, как передать большой объект через
Intentс помощью Shuttle - Как забрать груз на экране назначения и почистить хранилище?
- Объясни паттерн LCE для состояний груза в Shuttle
Как установить Shuttle
Командой платформы
claude mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0Командой платформы
codex mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0Файл настроек
{
"mcpServers": {
"shuttle": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/grarcht/shuttle-mcp:4.0.0"
]
}
}
}Файл настроек
{
"servers": {
"shuttle": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/grarcht/shuttle-mcp:4.0.0"
]
}
}
}Командой платформы
gemini mcp add shuttle docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Shuttle
Как установить Shuttle MCP-сервер в Claude Code?
Выполните claude mcp add shuttle -- docker run -i --rm ghcr.io/grarcht/shuttle-mcp:4.0.0. Docker должен быть запущен.
Что делает Shuttle?
Это Android-фреймворк, который хранит крупные Serializable в отдельном хранилище и передаёт между компонентами только идентификатор. Так binder-транзакция не превышает лимит и приложение не падает.
Какие требования у Shuttle?
Min SDK 26 и Kotlin 2.2.10. Для MCP-сервера нужен Docker.