*arr for those who roam

Your trips in your control.

Roamarr brings flights, stays, documents, companions, reminders, expenses, sharing, and the messy middle of travel into one self-hosted itinerary hub backed by MongrelDB.

Self-hostedNo hosted travel account required.
Secure DatabaseEncrypted itinerary data under your roof.
Scoped sharingPublic links and feeds without oversharing.
Local instance online
Roamarr logo centered inside the route map
Flight Planned
HOTEL BOOKED
Receipts attached
F
AA 1846 to DenverFlight number, seats, timezone, booking notes
S
Check in at Glassline HotelRoom preferences and confirmation number
$
Split airport transferMulti-currency receipt and settlement
Shared
Mission

The calm layer between confirmation chaos and the trip itself.

Travel planning does not live in one place by default. Roamarr turns the scattered pieces into a practical trip workspace designed for repeated, private use.

Everything has context

Trips, dates, timezones, notes, tags, booking status, favorites, archives, comments, and printable itineraries are treated as part of one living plan.

Built for real logistics

Track rideshares, parking, directions, points of interest, food plans, todos, events, trains, boats, rental cars, and free-form notes.

Group travel without fog

Coordinate attendees, polls, packing templates, kid gear, accessibility notes, dietary details, room preferences, and emergency sharing.

Current scope

Roamarr is always improving

Roamarr is broad and practical. Inbox scanning and AI itinerary extraction are now opt-in, and an MCP endpoint lets AI clients read and update trips. Airline and hotel portal sync stay out of scope.

Manual organizer at the core

Type, paste, or import every trip detail yourself. Inbox scanning and AI itinerary extraction are optional and do nothing until you connect an IMAP mailbox and choose a parser. Airline and hotel portal sync remain out of scope.

Fare-watch plumbing

Fare provider accounts, watch records, scheduler hooks, and notifications exist. The built-in provider is a demo stub; live fare data depends on adding real providers.

Backups with boundaries

Settings can download and restore the encrypted MongrelDB database. Receipt files live beside it in an attachments directory, so include that folder in volume snapshots.

Integrations

Bring your inbox and AI into the trip.

Roamarr now reads travel confirmations out of your IMAP mailbox, exposes an MCP endpoint any AI client can talk to, and gives you per-user control over the parser model and the SMTP sender behind every notification.

Inbox-to-itinerary parsing

Poll a global IMAP inbox, each user's personal mailbox, or both on the guarded scheduler - no inbound webhook required. Roamarr matches every confirmation to a trip by dates, codes, destinations, and overlap; a highly likely match attaches to the existing trip, otherwise a new trip is created.

Global IMAPPer-user IMAPSender allow-listTrip merge
Choose the AI that reads your mail

Point Roamarr at any OpenAI-compatible parsing provider with a base URL, exact model ID, and an API key or OAuth client credentials. Users can override the global model with their own when the admin allows it. With no AI configured, Roamarr falls back to built-in best-effort local rules.

OpenAI-compatiblePer-user overridesGlobal defaultNo-AI fallback
Notifications from your own sender

Configure global SMTP for reminders and operational mail, then let users supply personal SMTP overrides - or reuse their inbound credentials - for a fully customized From address. SMTP passwords are encrypted at rest with AES-256-GCM.

Global SMTPPer-user overridesCustom From senderEncrypted credentials
Chat with an AI about your trips

Roamarr exposes a Streamable HTTP MCP server at /mcp with 108 tools, 16 prompts, and 9 resource templates. Connect Claude Desktop, Open WebUI, LM Studio, or any MCP-aware client over OAuth 2.1 with PKCE and Dynamic Client Registration. Sensitive fields are stripped from AI-bound responses and destructive tools require explicit confirmation.

/mcp endpointOAuth 2.1 + PKCEOpen WebUI · LM StudioSensitive-field stripping

Select a card to learn more about a Roamarr feature.

Features

Make and share all your plans

Roamarr logo at the center of connected features
Feature 01

Printable itineraries that remember every detail.

Plan the trip as a sequence of itinerary segments with booking status, notes, tags, favorites, archives, comments, timezones, and export-ready structure.

FlightsHotelsTrainsEventsFree-form notes
Responsive UI

Responsive UI, whether you're building an itinerary or reviewing the details.

Encrypted DB

With MongrelDB, your data is encrypted at rest with AES-256-GCM and stays portable.

Security-first

Argon2id password hashing, hashed session tokens, TOTP, WebAuthn passkeys, and audit logging.

Under your roof

Own your privacy and your data.

Roamarr is built around the idea that itinerary sharing should be explicit, scoped, and revocable while sensitive travel data stays protected at rest.

Hosted where you decide.

The encrypted MongrelDB database can live on persistent storage that fits your setup. Built-in backup downloads cover the database; receipt attachments live beside it so volume snapshots can include both.

1
ROAMARR_SECRET requiredThe app refuses to boot until a secret is configured.
2
AES-256-GCM sensitive fieldsTravel document numbers, fare-provider keys, and SMTP secrets are encrypted at rest.
3
Reduced viewer dataPublic links and feeds use scoped viewer projections instead of exposing every private trip field.
4
Strong authenticationTOTP and WebAuthn passkeys are available alongside password-based sessions.
Trip ops

A dashboard for the unglamorous details that actually matter.

Use the switches below to restage the demo dashboard. The cards update instantly, just like a travel operations board for your household or group.

Family weekendSeattle - 4 travelers - 3 days
Planning view

Pack the practical things.

Room preference confirmed, medication reminders scheduled, emergency itinerary link expires after the trip, and kid gear is assigned by person.

14Tasks
6Documents
3Shares

Before 3

Renew entry requirement checklist
Assign stroller and kid snacks
Print hotel confirmation

During 3

Medicine reminder at breakfast
Share ETA with grandparents
Capture parking receipt

After 2

Settle transfer split
Archive public link
Deploy

Clone.
Install.
Run Roamarr.

Run via Docker or build & run it yourself: source-first setup, environment configuration, and built to listen on your chosen port.

roamarr/setup.sh
# clone when the repo opens
git clone https://github.com/visorcraft/Roamarr.git
cd Roamarr

npm ci
cp .env.example .env

# generate and export the encryption secret
export ROAMARR_SECRET="$(openssl rand -base64 32)"
export DATABASE_PATH="./roamarr-db"

# boot the dev server
npm run dev
open http://localhost:5173/setup

Source-first runtime, local-data confidence.

Roamarr is a SvelteKit app shell powered by Node, MongrelDB, MongrelDB Kit, and a guarded scheduler for reminders, fare-watch job hooks, expired sessions, and run pruning.

1Set ROAMARR_SECRET and keep it stable across rebuilds.
2Keep DATABASE_PATH and attachments on persistent storage.
3Download database backups, review health checks, and audit activity from Settings.