Galaxy MCP vs BoostedTravel

A side-by-side look at the Galaxy MCP and BoostedTravel MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Galaxy MCP logoGalaxy MCPBiology & Bioinformatics · Local subprocess (stdio)MCP server for Galaxy bioinformatics platform - connect, execute tools, and manage workflows61GoodAuth: not declaredBoostedTravel logoBoostedTravelTravel & Transportation · Local subprocess (stdio)Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.72GreatAuth: api key required

Verdict: choose Galaxy MCP for biology & bioinformatics work as a local process; choose BoostedTravel for travel & transportation as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Galaxy MCP logoChoose Galaxy MCP when

  • You need dedicated capabilities in the Biology & Bioinformatics domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like connect, search_tools_by_name, get_tool_details.
Explore Galaxy MCP

BoostedTravel logoChoose BoostedTravel when

  • You need dedicated capabilities in the Travel & Transportation domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: LETSFG_BEARER_TOKEN, LETSFG_API_KEY.
  • You want tools like search_flights, resolve_location, unlock_flight_offer.
Explore BoostedTravel

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGalaxy MCP logoGalaxy MCPBoostedTravel logoBoostedTravel
CategoryBiology & BioinformaticsTravel & Transportation
Quality signal61/100 · Good72/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFree
Required env varsNone listedLETSFG_BEARER_TOKENLETSFG_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars392,186
Directory activity 1 views 0 installs 0 upvotes 9 views 1 installs 0 upvotes
Tools4814

Tools & capabilities

Galaxy MCP tools 48

  • connectConnect to Galaxy server
  • search_tools_by_nameSearch Galaxy tools whose name, ID, or description contains the given query (substring match). Results are paginated. pagination.total_items is how many tools matched in total; pagination.next_offset is where the next page starts (None on the last page). RECOMMENDED WORKFLOW: 1. Use this function to find tools by name/keyword 2. Review the returned tool IDs and names 3. Call get_tool_details(tool_id) for full input parameters 4. Call run_tool() with the correct inputs
  • get_tool_detailsGet detailed information about a specific tool including its input parameters. RECOMMENDED WORKFLOW: 1. First find tools using search_tools_by_name() or get_tool_panel() 2. Call this function with io_details=True to see all input parameters 3. Use the inputs schema to construct the inputs dict for run_tool()
  • get_tool_run_examplesReturn the exact XML test definitions (inputs, outputs, assertions, required files) for a Galaxy tool so an LLM can study real, working run configurations.
  • get_tool_input_templateReturn a ready-to-fill ``inputs`` skeleton for a tool, plus a compact schema. Call this before run_tool when you are unsure how to shape ``inputs``. Replace placeholders (e.g. ``<dataset_id>``) with real values. Repeats show one instance (``name_0|...``); duplicate with ``name_1|...`` to add more. The flattened-key convention is ``section|param``, ``cond|selector``, ``repeat_0|param``.
  • get_tool_citationsGet citation information for a specific tool
  • run_toolRun a Galaxy tool on datasets in a history. RECOMMENDED WORKFLOW: 1. Create or select a history: create_history() or get_histories() 2. Upload data: upload_file() or upload_file_from_url() 3. Get tool parameters: get_tool_details(tool_id, io_details=True) 4. Call this function with properly formatted inputs 5. Monitor job: get_job_details() or check history contents
  • get_tool_panelBrowse the Galaxy tool panel (toolbox) one level at a time. The whole panel is megabytes on a production server, so it is never returned whole. Called with no arguments this lists the top-level entries - each section with the number of tools in it, plus any tools that sit outside a section. Pass section_id to list the tools in one section.
  • create_historyCreate a new history to organize datasets and analyses. A history is the primary workspace in Galaxy. Create a new history for each distinct project or analysis to keep your work organized. RECOMMENDED WORKFLOW: 1. Create a history with a descriptive name 2. Upload your input data: upload_file() or upload_file_from_url() 3. Run tools on the data: run_tool() 4. View results: get_history_contents()
  • update_historyUpdate an existing Galaxy history's metadata. Any combination of name, annotation, tags, deleted, and published can be updated in a single call. Fields left as None are not modified.
  • search_tools_by_keywordsRecommend Galaxy tools based on a list of keywords. Matches on name and description first, then on accepted input formats, and keeps that order so paging is stable. Results are paginated: pagination.total_items is the full match count, pagination.next_offset is where the next page starts. Expensive: finding the format matches costs one detail lookup per tool that did not match by name, and every page repeats the whole scan. Prefer search_tools_by_name when a name or description substring will do.
  • get_server_infoGet Galaxy server information including version, URL, and configuration details Also reports which tools this server is too old to run, in `unsupported_tools`, and whether its version could be read at all, in `version_known` -- an empty `unsupported_tools` means nothing is ruled out only when `version_known` is true. Returns: GalaxyResult with server information in data field
  • +36 more on the listing page

BoostedTravel tools 14

  • search_flightsSearch hundreds of airlines for live flight prices — completely FREE, unlimited, read-only. Returns structured offers with prices, airlines, times, durations, and stopovers. Some offers carry `starlink` for in-flight Starlink Wi-Fi: "confirmed_all" / "confirmed_some" mean the carrier has FULLY fitted that aircraft type, "likely_all" / "likely_some" mean the rollout on that type is underway but incomplete. State only "confirmed_*" as fact; describe "likely_*" as "the airline is fitting this aircraft type, not guaranteed on your flight". Anything ending in "_some" has at least one leg WITHOUT it. An absent field means no information, NOT an absence of Wi-Fi. Covers airlines across all continents including low-cost carriers. Search is async: this tool polls for you, including waiting out the late split-ticket merge. Some offers are SPLIT TICKETS: two separately-issued tickets through a hub, each leg booked from whatever is cheapest for it (usually two different airlines), because no one seller offers the combination as a single ticket. They carry `split_ticket: "true"`, `combo_type: "virtual_interlining"` and `self_transfer: "unprotected"`. ALWAYS tell the user when an offer is a split ticket and what unprotected means: the tickets are not linked, so if the first flight is late and the connection is missed, the second airline owes nothing — no rebooking, no refund. Never present a split ticket as though it were one through-fare. Requires LETSFG_BEARER_TOKEN or LETSFG_API_KEY. See letsfg://guide resource for the full authenticate->search->book workflow.
  • resolve_locationConvert a city/airport name to IATA codes. Always call before search_flights if you only have a city name. Read-only, safe to call multiple times.
  • unlock_flight_offer[Developer API only] Confirm live price with the airline and reserve the offer for 30 minutes. NOT part of the agent flow and NOT needed before book_flight. It requires LETSFG_API_KEY (the paid, prepaid Developer API) and refuses to run on a Bearer token, because the PFS unlock endpoint does not exist — calling it that way used to 404. If you authenticated with `letsfg auth`, go straight from search_flights to book_flight. Requires a Developer API key. Legacy path — not idempotent.
  • book_flightBook a flight from a search result. FLOW: authenticate (once) -> search_flights -> book_flight CHARGES: nothing from LetsFG. A completed booking pays the airline prices from airlines and the major booking sites. RESULT: either {"booked": true, "order_id": "..."} or {"booked": false, "booking_url": "..."} — the second means the booking genuinely did not complete and nothing was charged. That is a normal outcome, NOT a transient error: do not retry, give the user the booking_url. SAFETY: use REAL passenger details — names must match passport, email receives the e-ticket.
  • get_flight_bookingPoll a flight booking started by book_flight. REQUIRED to learn the outcome: on a PFS Bearer token book_flight returns a booking_ref and state "booking_in_progress", not a PNR - the booking itself takes 4-11 minutes. Call it every 20-30 s with that booking_ref until state is terminal: completed -> PNR issued, card charged failed -> the hold was released, nothing was charged needs_attention -> a human is looking at it; do NOT rebook Do not rebook while the state is still moving, and do not treat a slow poll as a failure - the money is HELD, not taken, until the airline confirms. Refs last one hour past the booking start.
  • resolve_hotel_cityConvert a place name to the supplier city id that search_hotels needs. Always call this first if you only have a city name. Read-only and safe to repeat. Use `Id` from the first result as city_id and `Name` as city_name.
  • search_hotelsSearch real, bookable hotel inventory. Requires a payment method on file — the SAME card that authorises flight booking. That applies to search too, not just booking, because a search opens a real session at the supplier. Only free-cancellation, pay-later rates are returned, so everything you see can actually be booked on these terms. The result set is smaller than a metasearch and that is deliberate. `price` is what the guest pays. Keep `session_id` and the chosen offer's `combination_id_v2` — together they identify that exact rate, and book_hotel needs both. Takes up to a few minutes.
  • book_hotelBook one hotel rate. Charges 5% of the price to the card on file immediately as a NON-REFUNDABLE reservation fee; the balance is paid directly to the supplier through the pay link we return, by balance_due_by (the supplier's own auto-cancellation date). Returns a booking_job_id, NOT the booking — a booking takes minutes. Poll get_hotel_booking until status is succeeded or failed. The fee is charged BEFORE the room is committed, so a declined card costs nothing: no reservation exists and nothing is charged. Send expected_price and expected_balance back exactly as search returned them. NOT idempotent — calling twice for the same rate books the room twice and charges two fees.
  • get_hotel_bookingCollect the result of a booking started with book_hotel. Poll every ~20s. status is in_progress, succeeded or failed. On success you get confirmation, reservation_fee_charged, pay_link, balance_due, balance_due_by and the full cancellation ladder. Read-only and safe to repeat.
  • cancel_hotel_bookingRelease a hotel reservation. Free until balance_due_by; after that the hotel's own ladder applies and can reach 100%. The ladder is in the booking terms, so check the cost first. The 5% reservation fee is NOT refunded. Takes over a minute; if it times out do NOT assume it failed — re-check before retrying.
  • authenticateExplain how to connect a card so this server can search and book. Nothing is charged to connect — a 0.00 Revolut setup that saves the card so a booking can be charged later. Call with no arguments. It returns the current instructions and add_card_url (https://letsfg.co/connect). A PERSON must approve once in a browser — there is no endpoint that mints a token from card details, so do not ask the user for card numbers and do not try to automate this step. Two ways in: (a) add LetsFG as a connector in an assistant that supports remote MCP servers and approve it, or (b) any OAuth-capable client can register itself — see https://letsfg.co/for-agents, section "Option B". Both land on the same card screen. RETIRED 2026-09-02: the Stripe lanes (setup_url, setup_session_id, payment_method_id, card_token) and every token they issued. Passing them now fails. This does NOT create a Developer API billing account. Do not use setup_payment for this.
  • setup_payment[Developer API only — you almost certainly want `authenticate` instead] Attaches a card to a PAID prepaid Developer API account. Refuses to run unless LETSFG_API_KEY is set, because agents kept calling this and creating billing accounts they did not need.
  • +2 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Galaxy MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "galaxy-mcp": {
      "command": "uvx",
      "args": [
        "galaxy-mcp"
      ]
    }
  }
}

BoostedTravel

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "boostedtravel": {
      "command": "npx",
      "args": [
        "-y",
        "letsfg-mcp"
      ],
      "env": {
        "LETSFG_BEARER_TOKEN": "YOUR_LETSFG_BEARER_TOKEN_HERE",
        "LETSFG_API_KEY": "YOUR_LETSFG_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Galaxy MCP is categorized under Biology & Bioinformatics and uses a local stdio subprocess. BoostedTravel belongs to Travel & Transportation and uses a local stdio subprocess. Pick Galaxy MCP for biology & bioinformatics work and BoostedTravel for travel & transportation.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Galaxy MCP has no declared pricing — check the project's own site. BoostedTravel is listed as free. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add galaxy-mcp and boostedtravel as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Galaxy MCP has a quality signal of 61/100 (Good) with 1 views, 0 installs and 39 GitHub stars. BoostedTravel has 72/100 (Great) with 9 views, 1 installs and 2,186 GitHub stars.