tutu-compass
🧭 Компас — переговорный тревел-агент для путешествий по России
Агент, которому семья из Екатеринбурга пишет одной фразой:
«Хотим к морю, 45 000 на троих, с ребёнком, без долгих пересадок»
— а он сам находит противоречие между бюджетом и пересадками, показывает развилку прямо на таймлайне, спрашивает чем пожертвовать, помнит ответы и держит наготове план Б на каждое хрупкое звено маршрута.
Проект для ИИ-хакатона Туту MCP, 18–21 августа 2026. Работает поверх Tutu MCP (самолёты, поезда, электрички, автобусы, отели).

|
|
|
|
Слева направо: стартовая карта-исследование (клики по городам не тратят токены — только Tutu MCP); плашка города с рейсами и ±день; переключение на план Б после сбоя; MCP-виджет (SEP-1865).
Чем это отличается от «ещё одного поиска билетов»
Обычный поиск | Компас |
Форма с десятью полями | Одна фраза на естественном языке |
«Ничего не найдено» | «Уложиться в бюджет и в пересадку < 1 ч одновременно нельзя — чем пожертвуем?» |
Лучший вариант по формуле | Развилка с честным trade-off и памятью о вашем выборе |
Билеты кончились — начинайте сначала | План Б просчитан заранее, переключение мгновенное |
Быстрый старт
git clone https://github.com/svyatrunov/tutu-compass.git && cd tutu-compassnpm installcp deploy/.env.example apps/server/.envЗаполните OPENROUTER_API_KEY в apps/server/.env и запустите:
npm run devФронт — http://localhost:5173, API — http://localhost:8787 (Vite проксирует /api).
Демо без интернета и без ключей — на записанных фикстурах:
DEMO_MODE=replay npm run devПрод целиком в докере:
cd deploy && cp .env.example .env && docker compose up -d --buildКомпас как MCP-сервер
Тот же агент доступен как MCP-тул plan_trip — один вызов вместо ручной оркестрации
16 сырых тулов Туту. Endpoint: http://localhost:8787/mcp после npm run dev
(Streamable HTTP; на своём сервере — https://<домен>/mcp). Быстро посмотреть виджет
без MCP-хоста: http://localhost:8787/api/dev/widget-preview. В хостах
с поддержкой MCP Apps (Claude, Claude Desktop, VS Code Copilot, Goose) результат
рендерится интерактивным таймлайном прямо в чате (SEP-1865); остальные MCP-клиенты
получают текст + структурированный JSON. Память диалога — через sessionId
в аргументах тула. Веб-версия — основной канал и от MCP-канала не зависит:
оба живут в одном процессе поверх одного ядра agent/*.
Проверка канала: npm run smoke:mcpapp против запущенного сервера.
Полезные команды
Команда | Что делает |
| Снимает фактическую спецификацию тулов Туту → |
| Записывает ответы MCP в |
| Unit-тесты конфликтов и плана Б + contract-тесты схем MCP |
| E2E-прогон демо-сценария против поднятого сервера |
| ESLint / TypeScript strict |
Документация
Документ | Зачем |
Начните отсюда. Самодостаточная справка для оценки: флоу, стек, бенчмарки, самооценка по трекам хакатона | |
Карта системы: 16 тулов Туту → наши модули → каналы + быстрые ответы на вопросы жюри | |
Рабочий план до code freeze, ранжирован по «баллам за час» | |
12 структурированных предложений к спецификации Tutu MCP — с воспроизводимыми находками | |
Схема, цикл агента, детекция конфликтов | |
Честный список: что реально из MCP, что имитация | |
Фактическая (не заявленная) спецификация Tutu MCP | |
Стратегия моделей и журнал находок бенчмарка | |
Тезисы и тайминг питча |
Где смотреть код по критериям хакатона
Критерий | Где смотреть |
Глубина функционала |
|
Инновационность |
|
UX/UI |
|
Стабильность |
|
Архитектура | |
Честность |
|
Качество кода |
|
Правила репозитория
Секреты только через env.
.envв.gitignore,.env.example— в репозитории.LLM никогда не генерирует данные маршрута: цены, рейсы и ссылки приходят только из MCP, модель лишь выбирает среди них по
id. Это защита от галлюцинаций поверх реальных данных.
Лицензия
MIT — см. LICENSE.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/svyatrunov/tutu-compass'
If you have feedback or need assistance with the MCP directory API, please join our Discord server



