Skip to main content
Glama

search_transport

Read-onlyIdempotent

Find car rentals, rideshare, and airport transfers timed to your flight. Get door-to-door options for rental cars or rideshare in US metro areas.

Instructions

Search ground transportation, car rentals, and rideshare options (Uber, Lyft, rental cars from Hertz / Enterprise / Sixt / Avis). Returns options timed to a flight arrival for door-to-door travel. Car rental is live across 15+ US metro areas; rideshare partnerships are in progress. Use this when the user wants a rental car, an airport transfer, or rideshare to/from their hotel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesCity or metro area (e.g., 'Miami', 'New York', 'Los Angeles')
transport_typeNoType of transport (default: all)
pickup_locationNoPickup: 'airport', 'hotel', or specific address
dropoff_locationNoDropoff: 'airport', 'hotel', or specific address
pickup_datetimeNoPickup date/time in ISO 8601 (e.g., '2026-04-01T14:30'). Used for surge pricing and car rental duration.
return_datetimeNoReturn date/time for car rentals (ISO 8601)
passengersNoNumber of passengers (1-8, default: 1)
vehicle_typeNoPreferred vehicle: economy, comfort, xl, black, black_suv (rideshare) or economy, compact, midsize, fullsize, suv, premium, minivan (rental)

Implementation Reference

  • Handler for the 'search_transport' tool. Calls the API endpoint POST /v1/transport/search with the tool arguments and returns the raw JSON result (no trimming applied, unlike search_hotels/search_flights).
    case "search_transport": {
      const result = await apiCall("POST", "/v1/transport/search", args);
      return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
    }
  • Schema definition for the 'search_transport' tool, defining its input properties (city, transport_type, pickup_location, dropoff_location, pickup_datetime, return_datetime, passengers, vehicle_type). Property 'city' is required.
    {
      name: "search_transport",
      description:
        "Search ground transportation, car rentals, and rideshare options (Uber, Lyft, rental cars from Hertz / Enterprise / Sixt / Avis). Returns options timed to a flight arrival for door-to-door travel. Car rental is live across 15+ US metro areas; rideshare partnerships are in progress. Use this when the user wants a rental car, an airport transfer, or rideshare to/from their hotel.",
      inputSchema: {
        type: "object" as const,
        properties: {
          city: { type: "string", description: "City or metro area (e.g., 'Miami', 'New York', 'Los Angeles')" },
          transport_type: {
            type: "string",
            enum: ["rideshare", "car_rental", "all"],
            description: "Type of transport (default: all)",
          },
          pickup_location: { type: "string", description: "Pickup: 'airport', 'hotel', or specific address" },
          dropoff_location: { type: "string", description: "Dropoff: 'airport', 'hotel', or specific address" },
          pickup_datetime: { type: "string", description: "Pickup date/time in ISO 8601 (e.g., '2026-04-01T14:30'). Used for surge pricing and car rental duration." },
          return_datetime: { type: "string", description: "Return date/time for car rentals (ISO 8601)" },
          passengers: { type: "number", description: "Number of passengers (1-8, default: 1)" },
          vehicle_type: { type: "string", description: "Preferred vehicle: economy, comfort, xl, black, black_suv (rideshare) or economy, compact, midsize, fullsize, suv, premium, minivan (rental)" },
        },
        required: ["city"],
      },
    },
  • src/server.ts:228-248 (registration)
    Registration of 'search_transport' as a tool in the ALL_TOOLS array with its name, description, and inputSchema.
    name: "search_transport",
    description:
      "Search ground transportation, car rentals, and rideshare options (Uber, Lyft, rental cars from Hertz / Enterprise / Sixt / Avis). Returns options timed to a flight arrival for door-to-door travel. Car rental is live across 15+ US metro areas; rideshare partnerships are in progress. Use this when the user wants a rental car, an airport transfer, or rideshare to/from their hotel.",
    inputSchema: {
      type: "object" as const,
      properties: {
        city: { type: "string", description: "City or metro area (e.g., 'Miami', 'New York', 'Los Angeles')" },
        transport_type: {
          type: "string",
          enum: ["rideshare", "car_rental", "all"],
          description: "Type of transport (default: all)",
        },
        pickup_location: { type: "string", description: "Pickup: 'airport', 'hotel', or specific address" },
        dropoff_location: { type: "string", description: "Dropoff: 'airport', 'hotel', or specific address" },
        pickup_datetime: { type: "string", description: "Pickup date/time in ISO 8601 (e.g., '2026-04-01T14:30'). Used for surge pricing and car rental duration." },
        return_datetime: { type: "string", description: "Return date/time for car rentals (ISO 8601)" },
        passengers: { type: "number", description: "Number of passengers (1-8, default: 1)" },
        vehicle_type: { type: "string", description: "Preferred vehicle: economy, comfort, xl, black, black_suv (rideshare) or economy, compact, midsize, fullsize, suv, premium, minivan (rental)" },
      },
      required: ["city"],
    },
  • Annotation entry for 'search_transport' in TOOL_ANNOTATIONS: title 'Search Ground Transport', marked as readOnlyHint: true, idempotentHint: true, openWorldHint: true.
    const TOOL_ANNOTATIONS: Record<string, { title: string; readOnlyHint?: boolean; destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean }> = {
      register_agent: { title: "Register as an Autonomad Agent", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
      search_hotels: { title: "Search Hotels", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
      search_flights: { title: "Search Flights", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
      search_transport: { title: "Search Ground Transport", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds valuable context: returns options timed to a flight arrival, door-to-door travel, and current coverage details. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. First sentence defines what it searches, second adds timing and coverage details, third gives usage guidance. Well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, 1 required, and no output schema, the description covers the main use case and limitations. It explains timing and coverage but does not detail return format or edge cases. Still, it provides sufficient context for selecting the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with descriptions. The description does not repeat parameter specifics but provides overall context. It adds moderate value by explaining the tool's purpose, but parameter details are already well-documented in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches ground transportation, car rentals, and rideshare options. It distinguishes itself from sibling tools like search_flights or search_hotels by focusing specifically on ground transport.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use: when the user wants a rental car, airport transfer, or rideshare. It also mentions availability constraints (live across 15+ US metro areas, rideshare in progress). However, it does not explicitly state when not to use or list alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Autonomad1/autonomad-travel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server