Skip to main content
Glama
751,542 tools. Updated 2026-11-06 15:14

"Travel" matching MCP tools:

  • Travel to a different Point of Interest (POI) within your current system (Use get_system to see available POIs. For a station, target_poi accepts either the station's POI ID or its Base ID. Consumes fuel based on ship speed and distance. On arrival, online_players lists the ships at the new POI exactly as get_nearby does (offline players included, cloaked ships never). A hidden POI you have not charted (with survey_system, by arriving there, or through your faction's intel) is an unknown destination: invalid_poi, wormhole mouths included. Arriving at a hidden POI charts it.)
    ConnectorNo auth
  • Takes you to "hub" (a busy public room), "home" (your own room), or another room by its id or link.
    ConnectorNo auth
  • Travel meds: can I bring this medicine into this country?. Official rules for travellers carrying personal medicines across borders: how many days of supply, which classes need a permit, how and how early to apply, documents, and what is banned outright. Every row cites the government page it was read from and when. Facts only, not medical or legal advice. Routes: /answer (country*, class, days); /country (country*); /countries. Paid $0.5 USDC per call via x402 (_meta["x402/payment"]); set sample=true for a free 3-row preview.
    ConnectorNo auth
  • Estimate the total cost of a trip from flights, lodging, food, activities, ground transport, and an optional emergency buffer. Picks sane per-destination defaults (US domestic, Europe, Southeast Asia, Latin America, Africa) from a mid-2025 Numbeo-style reference table when a cost isn't provided. Returns total, per-person, daily average, and a category breakdown.
    ConnectorNo auth
  • Live hostel and budget accommodation prices from Hostelworld for any city worldwide. USE FOR: - "What are the cheapest hostels in Paris next week?" - "Find dorm beds in Bangkok for 3 nights from July 10" - "Compare hostel prices in Ljubljana vs Belgrade" - Budget travel planning, accommodation cost context, backpacker routing RETURNS: Per-property dorm and private room prices per night, guest ratings, free cancellation flag, and summary stats (floor/avg/top price). CRITICAL INSTRUCTIONS FOR AGENT: - Always pass date as YYYY-MM-DD format. - currency defaults to EUR. - Use summary.floor for "cheapest" queries, summary.average for general cost context. - free_cancellation=true properties are preferable for uncertain itineraries.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • AI travel agent — book flights, hotels, activities, and events worldwide via autonomad.ai.

  • US Travel Advisories MCP.

  • The watched-trip updates log filtered to entries AFTER `since`. The notification payload: everything logged for the trip strictly after the `since` ISO-8601 timestamp (the user's last-seen time), oldest-first. Returns {trip_id, since, new_update_count, updates}. Use this tool to fetch the stored update entries the user has not seen yet; for a live recomputed diff, use whats_changed instead. An empty `since` returns the whole log. Id is regex-validated (^trip-[a-z0-9-]+$); unknown id -> {"error": "not_found"}, malformed id -> {"error": "invalid_trip_id"}.
    ConnectorNo auth
  • List detected travel-disruption events for EU-27 tourism. Use this tool to browse or filter current disruption events across countries; for a question about one specific trip, use assess_trip. Events are deterministic, rule-based detections over published live snapshots and monthly indicators — thresholds are disclosed in each event record; nothing is model-generated here. Filters: status (e.g. "active"/"resolved"), country (EU-27 ISO2, Greece = "EL"), domain (e.g. "weather", "aviation"), min_severity on the ordered scale info < watch < warning < severe. Returns {count, events, filters}; on missing index returns {"error": "unavailable"}.
    ConnectorNo auth
  • Convert a file you already hold — .docx, .xlsx or .csv — into a PDF, preserving its existing content. Pass the bytes base64-encoded together with the original filename, which is what the API uses to detect the input type. This is the inbound direction: it consumes an existing document, whereas render_docx / render_xlsx / render_pptx GENERATE new documents from structured data, and render_pdf builds one from a template. Returns a stored render { id, url, bytes, durationMs, name } whose id can be fed straight into merge_pdfs, split_pdf, edit_pdf, create_signature_request or create_envelope. Counts one render against the monthly quota. Files over 10 MB are refused by this tool because the bytes travel through the tool call. Requires a Kamy API key with the `render` scope; without a key, returns dashboard setup instructions.
    ConnectorNo auth
  • Convert a file you already hold — .docx, .xlsx or .csv — into a PDF, preserving its existing content. Pass the bytes base64-encoded together with the original filename, which is what the API uses to detect the input type. This is the inbound direction: it consumes an existing document, whereas render_docx / render_xlsx / render_pptx GENERATE new documents from structured data, and render_pdf builds one from a template. Returns a stored render { id, url, bytes, durationMs, name } whose id can be fed straight into merge_pdfs, split_pdf, edit_pdf, create_signature_request or create_envelope. Counts one render against the monthly quota. Files over 10 MB are refused by this tool because the bytes travel through the tool call. Requires a Kamy API key with the `render` scope; without a key, returns dashboard setup instructions.
    ConnectorNo auth
  • List every destination (country or region) the eSIMfinder catalog covers. Use this BEFORE calling search_esims when (a) the user asks "where can I use this?" / "kam môžem ísť?" / "what countries do you support?", (b) you are unsure whether a destination is in the catalog (especially for less common names — Curaçao, Vatican City, North Macedonia), or (c) you want to suggest alternatives after a search_esims call returned no results. Returns ~190 entries: Travel Pass (annual subscription covering 130+ countries) at the top, then countries and regional groupings (Europe, Africa, Asia Pacific, Middle East, etc.) in alphabetical order. The names returned here are the exact strings to pass as the `country` parameter to search_esims. No input parameters required. The response also lists which destinations offer the Premium Unlimited (PUL) high-data tier (Fixed and Unlimited Essential are available on almost every destination), so you can answer reverse questions like "which destinations have Premium Unlimited?" without searching each destination one by one. If the user wants to know exactly which countries are bundled inside a region (e.g. "what is in Europe Lite?"), use `get_esim_finder_info` with `topic="regions"` instead — that returns full per-bundle country lists.
    ConnectorOAuth
  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth
  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth
  • Register an external (non-Moneda) contact with their details. EU Travel Rule requires first name, last name, and country of residence. At least one wallet address or bank account must be provided. For wallets, the user must confirm Base network USDC/EURC/CHFAU/CADD/MXNB support before saving.
    ConnectorNo auth
  • Casts a Prashna chart for the query instant from the supplied date, time, place and a single-topic keyword. Returns houses, Moon diagnostics, a verdict, and cusps. WORKFLOW: BEFORE: None — standalone for horary. AFTER: None. INPUT CONTRACT: question must be exactly one of: self, wealth, siblings, property, children, health, marriage, death, travel, career, gains, loss. Full sentences are not validated locally and are rejected upstream → MCP INTERNAL_ERROR at the tool layer. PrashnaInput enforces date/time/lat/lon/ayanamsa patterns locally. DO NOT CONFUSE WITH: asterwise_get_natal_chart — requires birth data, not query-moment prashna. asterwise_get_kp_chart — natal KP from birth time, not horary keyword mapping. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-prashna-chart/
    ConnectorOAuth
  • Finds auspicious time windows for an activity between two dates (up to a year) at a location, with exact ISO start and end times. Activities: marriage, griha_pravesh, business, travel, naming_ceremony, vehicle_purchase, property_purchase, mundan, annaprashan, upanayana, vidyarambha. Applies each activity's nakshatra, tithi and weekday rules, seasonal bans (Chaturmas, Adhik Maas, Pitru Paksha, Kharmas, Holashtak, Guru/Shukra asta, Panchaka), and avoids Rahu Kaal, Yamaganda, Gulika, Durmuhurta, Varjyam and Bhadra; scores 0-100 with reasons, and excluded_minutes explains an empty result. WORKFLOW: BEFORE: asterwise_geocode — when you only have a place name. AFTER: asterwise_get_panchanga — full timings for a chosen window's day. INPUT CONTRACT: request.activity (enum above), request.from_date and request.to_date (YYYY-MM-DD, at most 366 days apart), request.lat, request.lon, request.timezone (IANA). Optional: top_n (1-50, default 5), max_windows_per_day (default 1, so results spread across dates), participants (up to two, each with nakshatra and optional moon_rashi, or birth_date, birth_time, birth_lat, birth_lon, birth_timezone). DO NOT CONFUSE WITH: asterwise_get_choghadiya — the sixteen slots of one day, not a ranked search. asterwise_get_panchanga — one day's limbs and timings. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-muhurta/
    ConnectorOAuth
  • Search live campervan / motorhome hire availability and pricing for a pickup city and travel dates (via DriveAway). Use this when the user wants to RENT a campervan, motorhome or RV (NOT the same as search_campsites, which finds places to camp). Returns matching vehicles with brand, name, category, sleeps/seats, 4WD, nightly and total AUD price, and a booking_url deep-link to complete the hire. Australia only. Each result already includes full vehicle details (so there is no separate 'resolve' step) and the booking link.
    ConnectorNo auth
  • Create a Stripe checkout link for an eSIM package. MANDATORY PRE-STEP: before calling this tool you MUST know the customer's BILLING/RESIDENCE country (not the travel destination). If you don't have it from the conversation, ASK the user explicitly and WAIT for the answer - do NOT guess from destination, IP, or language. Pass it as customer_country (ISO-3166-1 alpha-2). The optional activation_mode field uses internal API values only. NEVER show NOW, FIRST_USE, ON_DEMAND, activation_mode, or similar technical identifiers to the customer. Use these customer-facing names instead: Activate now, Activate on arrival, Manual activation. If the customer has not already said when they want validity to start, ask naturally: 'Would you like to activate it right now, or when you land? There is a manual option available too, but you will need to access AskMia.app settings to activate.' Use Activate now only if the customer is already at the destination, Activate on arrival for automatic activation when the phone connects at the destination, and Manual activation only if the customer explicitly wants control from AskMia.app. IMPORTANT: Worldwide/global plans do not support Activate on arrival; ask whether the customer prefers Activate now or Manual activation. MANDATORY POST-STEP: relay the returned `tax_note`, `activation_note` and `post_payment_note` verbatim before they click pay. AFTER sending payment_url you MUST STOP, then call `check_order_status` with the returned session_id; do not assume the eSIM is ready based on the user saying 'I paid'. Open access (2/min per IP), or pass a Bearer API key for 60/min.
    ConnectorNo auth
  • Creates a short-lived link where the traveler reviews the full price and terms, signs in or creates an account, and books and pays on autonomad.ai. It creates no reservation and makes no charge: payment and identity checks happen on the website, and bookings are not made inside the chat. When to use it: after the person has chosen something specific, such as a flight, a hotel, or both for one trip. It is not needed for browsing. intent_type is one of 'flight', 'hotel' or 'trip' — there is no activity, event or experiences link. Activities, experiences and events are chosen as add-ons on autonomad.ai after the person opens a flight, hotel or trip link, so describe them in the reply rather than creating a link for them. intent_type (choose one): - 'flight': the person chose a flight only. offer_data is the flight from search_flights, unchanged, with the CHOSEN fare: when the person picked a fare other than the first in `fare_options`, set offer_id, price_usd, fare_brand and cabin_class to that fare option's values (the booking page opens exactly that fare). Plus a top-level `passengers` number (the TOTAL number of travelers the person asked for; flight offers do not include it). When children or lap infants travel, also add the same `adults`, `children_ages` and `infants_on_lap` used in search_flights, so the booking page asks for each traveler (every traveler's date of birth is entered on autonomad.ai, never here). - 'hotel': the person chose a hotel only. offer_data is the hotel offer from search_hotels plus top-level `check_in` and `check_out` as YYYY-MM-DD strings (the dates used in the search; hotel offers do not include them, and without them the booking page opens an empty form), and `adults` and `rooms` numbers. A hotel from find_hotels_on_route is different: offer_data is that hotel's `booking_offer` exactly as find_hotels_on_route returned it — copy it whole, never rebuild it from the hotel's name, address or price and never add or drop keys (it already carries check_in, check_out, adults and rooms, and the room to book). - 'trip': the person chose a flight and a hotel for the same trip. offer_data is { flight: { ...offer (with the chosen fare, as for 'flight'), passengers: <n> }, hotel: { ...offer, adults: <n>, rooms: <n>, check_in, check_out } }. One link covers both, so one intent per trip is enough; two separate links for one trip are confusing. Include the traveler count in offer_data: without it the booking page defaults to 2 travelers. Travelers can be any age, including children and babies; only the account holder who books and pays must be 18 or older. What the reply to the person should include: the `deep_link` as a clickable link, and when the link expires (about 30 minutes by default; a new one can be created if it lapses).
    ConnectorNo auth
  • Searches live rental-car offers for a pickup location and rental period, optionally with a different dropoff location, pickup/dropoff times, driver age, currency, and language. Use this when the user wants to compare available rental cars, prices, vendors, categories, or booking links for a specific trip. Do not use it for flights, hotels, public transport, or general travel planning unless the user has car-rental intent. The tool queries external provider APIs in real time, returns price-ranked results grouped by SIPP/category, and may include affiliate booking links. It does not book cars, modify reservations, charge users, or store user data.
    ConnectorNo auth
  • Start monitoring one trip for disruption changes over time. Use this tool when the user wants ongoing monitoring of a trip rather than a one-off assessment (for a one-off answer, use assess_trip). Persists the trip as a monitored object and returns its initial assessment plus a random, unguessable trip_id AND a one-time `owner.owner_token`. Store BOTH: the trip_id is the (public, shareable) URL handle, the owner_token is the private key needed to change the trip's label or webhook later. There is no stop call: monitoring ends by itself the day after date_to. CREATE vs REFRESH: called with just destinations+dates it CREATES a new trip every time (it does NOT dedupe on identity — that is deliberate, so nobody can reach your trip by guessing your itinerary). To update an existing trip (change its label or webhook), call again passing BOTH its `trip_id` and `owner_token`; a missing/wrong token is rejected. Each pipeline run then re-evaluates the trip and appends an update ONLY when something materially changes (a new/cleared event, a severity/status shift, or a travel_status change) — never on a calm tick. Args: destinations — EU-27 ISO2 codes (Greece = "EL") plus the non-EU27 countries we monitor: Norway "NO" (Entur, live), United Kingdom "UK"/"GB" (TfL, live), Switzerland "CH" (SBB, key-pending → declared blind spot until keyed); date_from/date_to (YYYY-MM-DD); optional label. An unmonitored code is rejected with {"error": "unknown_country"} rather than a false all-clear. Returns {trip_id, assessment, created_at}; invalid inputs return an explicit {"error": ...}. Destinations also accept natural input: IATA airport codes (e.g. 'TSR', 'AMS', 'ZRH') and major city names (e.g. 'Timișoara', 'Amsterdam', 'Zürich', 'London'), resolved deterministically to a monitored country code. The initial assessment includes a 'resolved' list ([{input, country, kind}]) disclosing how each token was mapped (e.g. 'TSR -> RO via iata-airport'). A token that resolves to a country we do not monitor is rejected with {'error': 'unknown_country'}; a token we cannot resolve at all is rejected with {'error': 'unknown_destination', 'tokens': [...]} — we reject not guess. Pass `lang` (e.g. "de", "ro", "pl"; default English) to localise the initial assessment into the traveller's language: the returned assessment carries the same `localized` block as assess_trip (honest reassurance, AI-translated-and-LABELLED source text, and the localized caveats + blind_spots that are never dropped). Localization never becomes a false all-clear; the aviation handoff discloses the blind spot, not coverage. Pass `audience` ("tmc" | "hotel" | "ota" | "tour_operator") for role-specific operational actions — the initial assessment then carries the same `persona` block as assess_trip (audience + per-event role actions, projected from the audience-tagged recommendations). Built for the B2B travel-risk buyer. Pass `notify_webhook_url` (https only) to get PUSH delivery: on every MATERIAL change the radar POSTs the update record (summary, status transition, event report URLs) to your URL, signed HMAC-SHA256 over the raw body (header X-TravelTrends-Signature: sha256=<hex>). The response then includes `notify.secret` — shown ONLY once, never published; store it to verify signatures. To change or remove the webhook later, re-call with the trip_id + owner_token and the new notify_webhook_url (or "" to remove delivery). After 5 consecutive delivery failures the webhook is disabled with an honest notify_disabled entry in the trip's updates log. Non-https or private-network URLs are rejected with {"error": "invalid_webhook_url"}. Optional `legs` (same shape and semantics as in assess_trip) are persisted with the trip; legs[] appears in the assessment returned here. The 6-hourly radar check re-resolves the stored legs and their modes feed its decision lines; whats_changed reports the trip-level delta and does not carry a legs block.
    ConnectorNo auth