tutu-compass
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tutu-compassPlan a trip: sea, 45k for 3, with child, no long transfers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧭 Компас — a negotiation travel agent for trips across Russia
An agent that a family from Yekaterinburg writes to in a single phrase:
"We want to go to the sea, 45,000 for three, with a child, without long connections."
— and it itself finds the contradiction between budget and connections, shows the fork right on the timeline, asks what to sacrifice, remembers the answers, and keeps Plan B ready for every fragile leg of the route.
Project for the Tutu MCP AI hackathon, August 18–21, 2026. Works on top of Tutu MCP (planes, trains, commuter trains, buses, hotels).

|
|
|
|
From left to right: the start exploration map (clicks on cities don't spend tokens — only Tutu MCP); the city card with flights and ±day; switching to Plan B after a failure; MCP widget (SEP-1865).
How this differs from "yet another ticket search"
Regular search | Компас |
A form with ten fields | One phrase in natural language |
"Nothing found" | "It's impossible to fit the budget and a connection < 1 h at the same time — what will we sacrifice?" |
Best option by formula | Fork with an honest trade-off and memory of your choice |
Tickets ran out — start over | Plan B is precomputed, switching is instant |
Quick Start
git clone https://github.com/svyatrunov/tutu-compass.git && cd tutu-compassnpm installcp deploy/.env.example apps/server/.envFill in OPENROUTER_API_KEY in apps/server/.env and run:
npm run devFrontend — http://localhost:5173, API — http://localhost:8787 (Vite proxies /api).
Demo without internet and without keys — on recorded fixtures:
DEMO_MODE=replay npm run devProduction entirely in Docker:
cd deploy && cp .env.example .env && docker compose up -d --buildКомпас as an MCP server
The same agent is available as the MCP tool plan_trip — one call instead of manual orchestration
of the 16 raw Tutu tools. Endpoint: http://localhost:8787/mcp after npm run dev
(Streamable HTTP; on your own server — https://<домен>/mcp). To quickly view the widget
without an MCP host: http://localhost:8787/api/dev/widget-preview. In hosts
with MCP Apps support (Claude, Claude Desktop, VS Code Copilot, Goose), the result
is rendered as an interactive timeline right in the chat (SEP-1865); other MCP clients
receive text + structured JSON. Dialog memory — via sessionId
in the tool arguments. The web version is the primary channel and does not depend on the MCP channel:
both live in one process on top of the same agent/* core.
Channel check: npm run smoke:mcpapp against a running server.
Useful Commands
Command | What it does |
| Captures the actual specification of the Tutu tools → |
| Records MCP responses into |
| Unit tests for conflicts and Plan B + contract tests for MCP schemas |
| E2E run of the demo scenario against a running server |
| ESLint / TypeScript strict |
Documentation
Document | Purpose |
Start here. Self-contained reference for evaluation: flow, stack, benchmarks, self-assessment by hackathon tracks | |
System map: 16 Tutu tools → our modules → channels + quick answers to jury questions | |
Working plan up to code freeze, ranked by "points per hour" | |
12 structured suggestions for the Tutu MCP specification — with reproducible findings | |
Diagram, agent loop, conflict detection | |
An honest list: what is actually from MCP and what is imitation | |
Actual (not declared) Tutu MCP specification | |
Model strategy and benchmark findings log | |
Pitch points and timing |
Where to look at the code by hackathon criteria
Criterion | Where to look |
Functional depth |
|
Innovation |
|
UX/UI |
|
Stability |
|
Architecture | |
Honesty |
|
Code quality |
|
Repository Rules
Secrets only via env.
.envis in.gitignore,.env.example— in the repository.The LLM never generates route data: prices, flights, and links come only from MCP, the model only selects among them by
id. This is protection against hallucinations on top of real data.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
TravelMind: 8 MCP tools for travel (12306 trains, flights, hotels, geocode, planning, policy).
whentofly: flexible-date economy/business flight search + price-level context for AI agents
AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.
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



