check_route_alternatives
ChatGPTFind the cheapest bunkering ports along a maritime shipping route. Returns REAL, LIVE fuel prices from the Bulugo database for ports within 50 nm of the shipping lane, ranked by price with deviation distance. Use this when the user asks "where's cheapest to bunker on this route?", "compare fuel prices along my voyage", "should I bunker at Colombo or Port Klang?", or any route+price question. Do NOT call plan_route first — this tool includes route geometry. Present prices directly to the user — this tool provides live data. See bulugo://guide/route-bunker-workflow.md for ECA guidance.
confirm_contact_verification
ChatGPTConfirm the 6-digit verification code sent for email or WhatsApp, then activate that channel for notifications. Telegram is confirmed by the bot /connect command, not by this tool.
confirm_verification
ChatGPTLegacy alias for confirm_contact_verification. Prefer confirm_contact_verification for new clients.
get_contact_preferences
ChatGPTInspect the user's notification contact setup, including masked email, WhatsApp, Telegram link status, active channels, and recommended next actions. Use immediately after MCP connection/auth and again before or after quote requests, price alerts, supplier lead triage, supplier price updates, and other time-sensitive milestones. If no fast channel is active, recommend adding WhatsApp or Telegram rather than relying only on the MCP chat.
get_fuel_market_summary
ChatGPTReturn an aggregated Bulugo marine fuel price snapshot across indexed ports, including the cheapest port by fuel grade, major day-on-day price movements, and coverage statistics. Only call for marine fuel pricing, bunker price trends, or cross-port fuel-grade comparisons, including which port has the cheapest bunker fuel. Never call for general shipping-industry news, broad maritime news, unrelated commodity or financial news, consumer travel, or live vessel tracking. Do not call merely because the Bulugo app is selected or connected. For general news or unsupported requests, do not invoke a Bulugo tool; let ChatGPT answer outside Bulugo. For a specific port, use get_fuel_prices instead.
get_fuel_prices
ChatGPTFuel price lookup. Returns local Bulugo market prices for VLSFO, MGO, HSFO, and other grades at a named port in USD per metric tonne when fresh data exists. Use this when the user asks "what's the bunker price in Rotterdam", "VLSFO price at Fujairah", "how much is MGO in Singapore", or any port-specific price question. If the response says stale or no_data, tell the user and pair with create_quote_request for firm supplier pricing. See bulugo://guide/buyer-workflow.md.
get_lubricant_brands
ChatGPTHelper: lists all lubricant brands available in the catalogue, with product count per brand. Use this to answer "what brands do you carry?", to validate/correct a brand name before structured filtering, or to help a supplier decide which brand to add via bulk_add_lubricants. Optionally filter by category to see brands in a specific segment, e.g. "which brands offer cylinder oils?"
get_lubricant_categories
ChatGPTHelper: lists all marine lubricant categories with product count and available brand count per category. Use this to map natural buyer wording such as "two-stroke main-engine cylinder oil" to a valid structured category before calling search_lubricants. Call search_lubricants with category/type and optional brand to browse products within a category. See bulugo://taxonomy/lubricant-categories.md.
get_lubricant_details
ChatGPTFetch full technical specifications and availability for a specific lubricant product or set of products matching a name and/or brand. Use this after search_lubricants returns a product list and the user wants specs, viscosity grade, or approval data. Returns detailed records including category, SAE/ISO grade, and OEM approvals.
get_quote_status
ChatGPTCheck the status and supplier responses for a previously submitted fuel quote request. Use this when the user asks "any responses to my quote?", "what did suppliers say?", "has anyone replied?", or provides a quote ID. Returns the quote details plus any supplier responses received so far. Use the quote_id returned by create_quote_request — do not re-submit the quote. See bulugo://guide/buyer-workflow.md.
get_supplier_onboarding
ChatGPTRead-only supplier onboarding guidance. Use when a new or anonymous supplier asks what Bulugo does for suppliers, how to join as a supplier, how to add ports/products/prices, or how supplier leads work. This is guidance only: it must not create buyer quote requests, supplier accounts, leads, notifications, or external messages. See bulugo://guide/supplier-workflow.md.
get_support_handoff_status
ChatGPTRetrieve the current durable Bulugo support handoff status and any stored human replies for this authenticated MCP or ChatGPT account. Use after request_human_support, or when the user asks whether the support team has replied. This is the truthful return path for non-push MCP clients.
list_fuel_ports
ChatGPTHelper: returns all port names that have live fuel pricing data in the Bulugo database. Use this when the user asks "which ports do you cover?", "what ports have prices?", or before calling get_fuel_prices to confirm a port name is recognised. Do not call this when the user already knows their port — call get_fuel_prices directly. See bulugo://guide/buyer-workflow.md.
list_route_ports
ChatGPTHelper: lists supported canonical ports in the Bulugo port catalogue. Use this to help the user discover valid port names before calling plan_route, check_route_alternatives, or supplier coverage tools. Supports region and country filters. For live fuel prices at a port, use get_fuel_prices. For route distance and bunkering options, use plan_route or check_route_alternatives. See bulugo://guide/route-bunker-workflow.md.
open_bulugo_account_dashboard
ChatGPTGenerate a short-lived, single-use login link for the authenticated user. Only call when the user explicitly asks to access their Bulugo account or web portal, including a named dashboard section such as ports, leads, usage, or developer settings. Never call as a fallback for unsupported requests such as travel booking, general news, or live vessel tracking. Do not call merely because the Bulugo app is selected or connected. For unsupported requests, do not invoke a Bulugo tool; explain the limitation and let ChatGPT answer outside Bulugo.
plan_route
ChatGPTCalculate maritime route geometry between two ports. Returns distance in nautical miles, estimated voyage time, and a route map image. Use this when the user asks "how far is Singapore to Rotterdam?", "how long is the voyage?", or "show me the route". For fuel price comparisons at ports along the route, use check_route_alternatives instead — it handles both geometry and REAL live prices in one call. See bulugo://guide/route-bunker-workflow.md.
record_buyer_quote_consent
ChatGPTRecord explicit authenticated buyer consent for Bulugo RFQ supplier matching and terms after create_quote_request returns BUYER_CONSENT_REQUIRED. Use this only after the user clearly agrees to both required consents in the current conversation. Pass the resume_token from the blocked quote response; the tool records an auditable consent event and returns resume_arguments for exactly one follow-up create_quote_request call without re-entering RFQ details.
request_human_support
ChatGPTCreate a durable Bulugo human support handoff from this MCP or ChatGPT conversation. Use when the user explicitly asks for a human, support team, real person, representative, callback, or live agent. This returns an honest acknowledgement in the current tool response; future human replies are retrieved with get_support_handoff_status because MCP is not a push chat channel.
search_lubricants
ChatGPTStructured marine lubricant catalogue search across 1,700+ products. Use only with valid brand and category/type filters discovered from get_lubricant_brands and get_lubricant_categories; do not pass natural-language or free-text buyer requests. Returns product names, grades, and brand. Pair with get_lubricant_details for full specs and request_lubricant_quote to submit a quote request. See bulugo://taxonomy/lubricant-categories.md for category definitions.
search_suppliers
ChatGPTCheck supplier availability at a port for a given fuel grade. Returns a count of registered suppliers — not individual names (privacy-safe). Use this when the user asks "are there suppliers in Hamburg for MGO?", "how many suppliers cover VLSFO in Fujairah?", or before submitting an RFQ to confirm the port+product combination has coverage. To submit an RFQ, use create_quote_request. See bulugo://guide/buyer-workflow.md.
send_contact_verification
ChatGPTStart verification for a contact channel. For email or WhatsApp, sends a 6-digit code and should be followed by confirm_contact_verification. For Telegram, creates safe /connect instructions; usernames alone are not enough because Bulugo must have a linked bot chat id before it can send Telegram notifications.
send_verification
ChatGPTLegacy alias for send_contact_verification. Prefer send_contact_verification for new clients, especially for Telegram /connect setup.
update_contact_preferences
ChatGPTSave notification contact preferences — email, WhatsApp, and/or a Telegram username label — plus notification types and preferred/active channels. Use when the user wants quote, lead, or price alerts. Telegram usernames are labels only; Telegram notifications are inactive until send_contact_verification with channel=telegram creates a /connect code and the user messages the Bulugo bot.