Shuttle — MCP для Android против TransactionTooLarge
Shuttle
MCP-сервер Android-фреймворка Shuttle: заготовки интеграции, поиск мест с угрозой TransactionTooLargeException и спецификации
- 87 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- Сервер только генерирует код и отвечает по спецификации, внешних сервисов не вызывает
- Сгенерированный Kotlin-код вставляют в проект после ручной проверки
Установка
- Работает в
Ручная установка
Открой репозиторий Shuttle в редакторе, в котором сервер подключается сам, или добавь запись из `mcp/README.md`. Для интеграции вызови `scaffold_integration`, для проверки кода вызови `detect_risk`. Правила работы бери из `get_spec`, ничего не выдумывай.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Сервер только генерирует код и отвечает по спецификации, внешних сервисов не вызывает
- Сгенерированный Kotlin-код вставляют в проект после ручной проверки
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Shuttle — Android-фреймворк, который передает крупные Serializable-объекты между компонентами приложения без падений `TransactionTooLargeException`. Объекты не уходят через Intent и Bundle, поэтому превышение лимита транзакции Binder не ломает приложение. MCP-сервер этого проекта дает агенту знания о фреймворке прямо в редакторе. Инструмент `scaffold_integration` создает готовый Kotlin-код для Hilt, Koin или ручного подключения. `detect_risk` анализирует фрагмент на Kotlin или Java и находит шаблоны, при которых крупные данные могут превысить лимит. `get_spec` возвращает спецификацию Shuttle по темам: `core`, `setup`, `transport`, `pickup`, `cleanup`, `annotations`. Сервер опубликован в реестре MCP и поставляется как образ Docker из GHCR, поэтому клонировать репозиторий не нужно. При открытии репозитория сервер подключается сам в VS Code, Cursor, Zed, Android Studio и Claude Code, а для Claude Desktop и Windsurf настройка выполняется один раз.
Для кого. Android-разработчикам на Kotlin и Java, которые передают между экранами крупные объекты и хотят встроить Shuttle с помощью агента.
Подходит, если
- В продакшене падает `TransactionTooLargeException`, и надо найти, где это грозит еще
- Требуется подключить Shuttle через Hilt или Koin по готовому шаблону
- Команда хочет одинаковых подсказок по интеграции у всех разработчиков в разных редакторах
- Агент должен ответить по спецификации фреймворка без догадок
Не подходит, если
- Проект не на Android: фреймворк и сервер рассчитаны только на платформу Android
- Приложение не передает крупные объекты между компонентами: Shuttle решает эту задачу
- Нужна помощь с другими библиотеками: сервер знает только Shuttle
Пример запроса к агенту
Сгенерируй интеграцию Shuttle с Hilt для com.example.myapp и проверь мой экран заказа на угрозу TransactionTooLargeException.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Сервер отвечает только о фреймворке Shuttle и не заменяет общий анализ проекта. Для запуска из репозитория нужна Java 21 и собранный `mcp/build/libs/shuttle-mcp.jar`, который собирается командой `./gradlew :mcp:shadowJar` и пересобирается после каждой правки исходников.
Сервер надо запускать из корня репозитория, чтобы он нашел файлы спецификаций в `openspec/specs`. Редакторы без поддержки рабочего каталога, такие как Android Studio и Claude Code CLI, требуют запуска хоста из корня. Минимальный уровень API Android у фреймворка 26.
Как отключить. Удалите запись `shuttle` из `.mcp.json` или конфигурации редактора. Автоматически подключенный сервер в проекте исчезает, если убрать файл конфигурации из репозитория.
Частые вопросы
Что делает Shuttle в Android-приложении?
Передает крупные Serializable-объекты между компонентами без превышения лимита транзакции Binder, поэтому `TransactionTooLargeException` не падает в продакшене.
Какие инструменты есть у MCP-сервера Shuttle?
Три: `scaffold_integration`, `detect_risk` и `get_spec`.
С какими редакторами сервер подключается сам?
С VS Code с Copilot, Cursor, Zed, Android Studio с JetBrains AI и Claude Code CLI при открытии репозитория. Claude Desktop и Windsurf настраиваются один раз.
Нужно ли клонировать репозиторий?
Нет. Сервер опубликован в реестре MCP и работает как образ Docker из GHCR.
Какие Kotlin и Java поддерживаются в `detect_risk`?
Инструмент разбирает фрагмент на Kotlin или Java и ищет шаблоны, при которых растет шанс превысить лимит транзакции.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер Gradle для агентов: карта проекта, запуск задач, тесты, аудит зависимостей, поиск по исходникам и Kotlin REPL
Консольный отладчик MCP-серверов от Giant Swarm: REPL для инструментов, OAuth 2.1 и режим MCP-сервера для Cursor
Плагин со скиллами для сборки MCP-серверов и MCP-приложений на TypeScript: агент создает, дорабатывает, отлаживает и проверяет их
MCP-сервер, который один раз строит граф кода проекта и отдает агенту готовые ответы вместо повторного перечитывания файлов
MCP Bridge для Cocos Creator
MCP Bridge for Cocos Creator
Плагин для Cocos Creator 2.4.x запускает локальный сервер, и агент правит сцены, префабы, ресурсы и собирает проект через MCP
Отладчик без среды разработки: агент ставит точки останова, шагает по коду и смотрит переменные в десяти языках
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Shuttle — MCP для Android против TransactionTooLarge (эта карточка) | да | не нужна | 87 | |
| kotlin-agent-skills | нет | 1 119 | общие правила Kotlin для агента без привязки к одному фреймворку | |
| Android skills | да | 10 490 | общие скиллы по Android-разработке |
Коротко о README
В README разобраны задача фреймворка, принцип работы, требования, быстрый старт и примеры передачи через Intent и Navigation Component. Отдельные разделы посвящены архитектуре, демо-приложениям и компромиссам. Раздел об ИИ описывает MCP-сервер, а отдельный файл `mcp/README.md` перечисляет редакторы и проверки.