The brief
We are building one MCP endpoint that gives any AI agent our travel desks as tools: group airfare, last-minute deals, disruption help, golf, business class, esports trips. Everything searches and quotes. Nothing books. Every quote carries a reference that comes back with the booking, so we can finally see which agents bring us business instead of guessing.
The gateway, the developer portal, the deploy setup and two products already exist and pass 152 tests. The hackathon adds the next ten products and puts the whole thing on its real domain.
Teams of one or two claim a product from the board and finish it: tools on the gateway, a page on the portal, a row on the status page, one live call from Claude Code in the demo. Most of what we sell has no price until a person has looked at it, so most products are a desk: a tool that turns a conversation into a complete enquiry for that person. A generator turns a short spec into a working desk, so a desk is a config file and an afternoon, not a project. Two products call real APIs and are the meatier claims. Less glamorous, the desks. Also where the money is. I build the platform pieces before the day, so every team starts on something that runs.
Claiming. Reply in the announcement thread with the row number and your names. The organiser keeps the board current. Unclaimed rows are assigned at kick-off.
Try it now. The dev deployment is live. No key needed:
claude mcp add --transport http travel https://mcp.travel-gateway.codeblocks.sk/mcp
Then ask it for a group quote for twenty-two people from Bratislava to Paris. You should get a WhatsApp handoff with a reference in the message. Portal, tool reference and keys: travel-gateway.codeblocks.sk · quickstart · tools · status · get a key · receipts
Staviame jeden MCP endpoint, cez ktorý AI agent dostane naše cestovné „desky“ ako nástroje: skupinové letenky, last minute ponuky, pomoc pri zrušených letoch, golf, business class, esports zájazdy. Všetko hľadá a ponúka. Nič nerezervuje. Každá ponuka nesie referenciu, ktorá sa vráti spolu s rezerváciou, takže konečne vidíme, ktorí agenti nám prinášajú obchod, namiesto toho, aby sme hádali.
Gateway, vývojársky portál, nasadenie a dva produkty už existujú a prechádzajú 152 testami. Hackathon pridá ďalších desať produktov a celé to dostane na skutočnú doménu.
Tímy po jednom–dvoch si z tabule zoberú produkt a dotiahnu ho: nástroje na gateway, stránka na portáli, riadok na stavovej stránke, jeden živý dopyt z Claude Code na deme. Väčšina toho, čo predávame, nemá cenu, kým sa na to nepozrie človek, takže väčšina produktov je desk: nástroj, ktorý z rozhovoru poskladá kompletný dopyt pre toho človeka. Generátor spraví z krátkej špecifikácie fungujúci desk, takže desk je konfiguračný súbor a jedno popoludnie, nie projekt. Dva produkty volajú skutočné API a sú tučnejšie sústo. Desky sú menej efektné. Aj tak sú tam peniaze. Platformu dokončím pred hackathonom, takže každý tím začína na niečom, čo beží.
Vyskúšajte si to hneď. Vývojové nasadenie beží. Kľúč netreba:
claude mcp add --transport http travel https://mcp.travel-gateway.codeblocks.sk/mcp
Potom si vypýtajte skupinovú ponuku pre dvadsaťdva ľudí z Bratislavy do Paríža. Mali by ste dostať WhatsApp odovzdanie s referenciou v správe. Portál, prehľad nástrojov a kľúče: travel-gateway.codeblocks.sk · quickstart · nástroje · stav · kľúč · receipts
Zaberanie produktov. Odpovedzte vo vlákne oznamu číslom riadku a menami. Organizátor udržiava tabuľu aktuálnu. Čo nikto nezoberie, rozdelíme na úvod.
Slovenský text je návrh na kontrolu; anglická verzia je zdroj.
Product board
Twelve first-batch products. Live calls a real backend. Desk prepares a complete enquiry with a reference and hands it to a person, which is how that product sells today and probably for a while yet. Anything without an API is a desk, and every desk also gets an info tool that says what it does and when not to send someone there. The last column is what a team needs in hand before it can start. Start without it and the first half-day goes on chasing.
| # | Product | Mode | Backend | Handoff | Size | Needs before start |
|---|---|---|---|---|---|---|
| 01 | EasyGroupFlights | done | mcp.easygroupflights.com, proxied: two read-only tools + composer | WhatsApp desk | S | polish only |
| 02 | Lastminute | live | Deal Breaker /api/v1/offers, /offers/{id}, /external/deals · public mock for dev | web deep link per departure | M | Deal Breaker read-only token |
| 03 | SmartBus offer tool | live | ponuky.pelikan.sk/api · login → GET offer, projects, lookups · write routes withheld · internal scope | none (info) | M | SmartBus login · which projects |
| 04 | Flight compensation | live | EC261 pre-check already in gateway · APRA claim form apra.sk/formular/ (script-rendered) | web, ref in URL · phone / email fallback | S/M | form stores ?ref · APRA fee wording |
| 05 | SOS Flights | desk | advice tool exists · sosflights.help 24/7 desk | WhatsApp / phone | S | hotline number, hours |
| 06 | Group hotels | desk | none yet · HotelHops price-checker later | WhatsApp / email | S | desk contact · fields |
| 07 | Golf | desk | Gabriel TOUR desk | WhatsApp / email | S | contact · consent to list |
| 08 | Lounges | desk | Pelikán Premium desk · Pelikán Lounge store | WhatsApp / email | S | desk contact · is Premium the product |
| 09 | eSIM | desk | no provider API today | WhatsApp / email | S | desk contact · standalone product coming? |
| 10 | Travel watchdog | desk | none yet · HotelHops ingest later | WhatsApp / email | S | what it watches · desk contact |
| 11 | Turnago | desk | esports travel desk · partner tool is login-only | WhatsApp / email | S | desk contact · confirm "toll" = tool |
| 12 | Farenox | desk | business-class desk, UK | email / phone | S | desk email · hours |
Twelve rows of S and M, one or two people each, is a comfortable two workdays. It is a tight single day if we cut the board to the two live products plus four desks, and I would rather cut than rush. Each product ends with one of three verdicts: ships to the domain, stays on staging for another week, or folds back into the backlog. The four criteria below decide it, not how good the demo felt.
Before the day
These are not on the board. I build them with Claude before the hackathon, so every team starts on something deployed and documented, with keys ready to issue. Rows X1 and X4 wait on other people. The rest does not.
| Row | What | Needs |
|---|---|---|
| X1 | Deploy on the real domain: Portainer stack, proxy hosts, certificates | domain decision, VPS access, a free port |
| X2 | Anonymous tier: keyless calls at a low rate limit with a generic reference | nothing |
| X3 | Portal product pages generated from desk specs; fact pages models can cite, with FAQ data | brand name and tone |
| X4 | Booking-side reference capture: group desk record field, Pelikan ?ref cookie | owners of those systems |
| X5 | Registry submission: DNS record, publisher tool, Glama claim, awesome-mcp pull request | X1 done, a GitHub account |
Done means
Read-only, typed, with a reference on every quote. Nothing books, pays or files.
Generated from the product's own spec, so the docs cannot drift from the tools.
Probed by the evals job. A product that stops answering says so. The live one.
Install from Claude Code, ask one question, get one handoff with a reference.
Install in one command, first useful answer in under thirty seconds. Three of the four is not done. It is a demo.
Schedule
Times follow from the start and end once the dates are fixed. The shape stays.
- STARTKick-off: the gateway in ten minutes, the board, claims settled
- CHECKPOINT 1First tool calls from every team, however rough
- CHECKPOINT 2Everything on the staging host, status page populated
- DEMOOne install, one question, one handoff per product
- ENDKeep or fold per product, and what ships to the domain
Preparation
- Install the gateway and make one call before you arrive:
claude mcp add --transport http travel https://mcp.travel-gateway.codeblocks.sk/mcp. Ten minutes, and you will know what a handoff looks like. - Read the repository
README.mdand this board. Twenty minutes. - Have GitLab access to the
codeblocksgroup and Docker on your machine. If you do not, tell the organiser by PREREQ_DEADLINE. - Desk owners: your questions are below. Answers by ANSWERS_DEADLINE, so your product's team does not start blind.
- Credentials go to the organiser privately. Never into the repository, never into a channel.
Stakeholder questions
Desk owners will not be in the room, so everything below has to be answered in writing beforehand. "We don't have this" is a valid answer and better than silence, because silence gets read as "ask again on the day". These do not wait for the dates.
A. Decisions that block everything
Henry · Michal- Domain and brand. What hostname does the gateway live at, and what brand name do developers see? This fixes the certificate hostnames, the registry namespace, which a DNS record on that domain has to prove, the reference namespace, and the canonical URL for every fact page. Nothing can be published before this is answered, and every week it waits, the preview host earns citations we will have to walk away from.
- Dates and hours. Which workdays, how many, start and end times, and where the in-person part is.
- Who owns
mcp.pelikan.sk, which redirects to a dead host, and can its DNS and TLS be fixed during the hackathon? If not, Pelikan flights stay labelled down and Pelikan deals go live through Deal Breaker instead.
B. Access and credentials
ops · owners of each system · sent privately| # | System | What we need | Why |
|---|---|---|---|
| 4 | Deal Breaker | a read-only bearer token for the offers and external deals routes | lastminute and Pelikan deals go live |
| 5 | SmartBus | a login scoped to reading offers; which project ids may be read | SmartBus offer tool, read-only |
| 6 | HotelHops | the project identifier header and permission to call the price checker | group hotels live, later |
| 7 | Windmill | a token for the suggested-flights job | Pelikan flights search, later |
| 8 | Work VPS | Portainer access, a free loopback port, confirmation the proxy runs on the host network | deploy |
| 9 | GitLab | a codeblocks/travel-gateway repository and a read deploy token | deploy |
| 10 | a Postmark server token and a sending address | key signup without showing links on screen | |
| 11 | Open-Meteo | approval to buy the commercial plan, or a substitute source | the free tier is non-commercial only |
C. Per desk
one block each: group hotels · golf · lounges · eSIM · travel watchdog · Turnago · Farenox · SOS Flights · flight compensation (APRA)- Where does an enquiry go? WhatsApp number, email address, phone, or a web form URL. If a form, does it accept a
refquery parameter? - Who answers and when? Desk name, hours, typical reply time, languages.
- What must an enquiry contain before you can quote? List the fields in order of importance. This becomes the tool's schema.
- What should the tool say the product is, in two sentences, and when should an agent not send someone to you? Your words. We will not invent them.
- Which name and homepage should appear on the portal and in registries?
- Anything that must not happen. Second enquiries for the same party, quoting a price, promising availability, naming a supplier.
- Will you record the reference we put in each enquiry when the booking is made, and where? Without this the enquiry cannot be credited.
D. Product-specific
- Turnago: is "turnago toll" the partner booking tool at
partner.turnago.com? Should the gateway prepare event-trip enquiries, or read partner allocations, which would need a login? - Travel watchdog: what is it meant to watch: a fare on a route, a hotel price after booking, or both? Is there a backend, or is this a hand-off to HotelHops for now?
- eSIM and lounges: both are desks for now. Which desk answers, Premium klub, the Eurovea store, or someone else, and on which channel? Is a standalone product with its own checkout coming?
- Flight compensation (APRA): the form is
apra.sk/formular/, rendered by script. Does it store arefquery parameter, or can a hidden field be added for it? Which fee wording must the tool show before sending someone there? Phone and email as fallback: confirm which to publish. - SOS Flights: the site is script-only and shows no contact. What is the 24/7 channel, and may it be published in a tool description?
- Farenox: the desk appears UK-based with phone and chat. Is there an email for written enquiries, and which hours?
- EasyGroupFlights: may the desk add a reference field to the group booking record and copy it from incoming WhatsApp and email enquiries?
- Pelikan web: who owns the booking flow, and can it store a
refquery parameter in a first-party cookie and write it to the booking? Estimate?
E. For Henry's team
- Which of your pages move to the new domain first, and who rewrites the install lines and FAQ to the typed tool names?
- The citation test: which six prompt families, and who runs the baseline before launch so there is a before number?
/deskretirement: agreed to serve a "moved" tool for thirty days, then 410?
F. For developers joining from other teams
- Which stack are you comfortable in? The gateway is Python; the portal is Python and Jinja; the GEO pages are HTML. Nothing needs a build step.
- Do you have GitLab access to the
codeblocksgroup and a machine with Docker? If not, who provisions it, and by when?
Open blanks
Only these are missing from the announcement. Everything else on this page is settled.
| Blank | Who decides |
|---|---|
| DATES · START · END | Michal with Henry. Workdays only. |
| PLACE · CALL_LINK | Michal |
| ORGANISER · CONTACT | Michal |
| SLACK_CHANNEL | Michal |
| PREREQ_DEADLINE · ANSWERS_DEADLINE | Two workdays before START |
| CHECKPOINT 1 · 2 · DEMO | Derived from START and END |