Skip to main content
Glama

get_offer_details

Retrieve detailed flight offer information including pricing, itinerary details, and airline information using the unique offer identifier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offerIdYesUnique identifier for the flight offer

Implementation Reference

  • The MCP tool handler function for 'get_offer_details'. It takes OfferDetails params, calls flightClient.getOffer(params.offerId), formats the response as MCP content, and handles errors.
    async (params: OfferDetails) => { try { const response = await flightClient.getOffer(params.offerId); return { content: [ { type: 'text', text: JSON.stringify(response, null, 2) } ] }; } catch (error) { console.error(`Error getting offer details: ${error}`); throw error; } }
  • Zod schema and TypeScript type for the input parameters of the 'get_offer_details' tool, requiring a single 'offerId' string.
    export const offerDetailsSchema = z.object({ offerId: z.string().describe('Unique identifier for the flight offer') }); export type OfferDetails = z.infer<typeof offerDetailsSchema>;
  • src/server.ts:116-137 (registration)
    Registration of the 'get_offer_details' MCP tool using server.tool(), specifying name, input schema, and handler function.
    server.tool( 'get_offer_details', offerDetailsSchema.shape, async (params: OfferDetails) => { try { const response = await flightClient.getOffer(params.offerId); return { content: [ { type: 'text', text: JSON.stringify(response, null, 2) } ] }; } catch (error) { console.error(`Error getting offer details: ${error}`); throw error; } } );
  • DuffelClient.getOffer method, which makes the HTTP GET request to Duffel's API to retrieve details for the specified offer ID. Called by the MCP tool handler.
    async getOffer(offerId: string): Promise<any> { try { if (!offerId.startsWith('off_')) { throw new Error('Invalid offer ID format - must start with "off_"'); } const response = await this.client.get(`/offers/${offerId}`); return response.data; } catch (error) { console.error(`Error getting offer ${offerId}: ${error}`); throw error; } }

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/clockworked247/flights-mcp-ts'

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