UNPKG

url-builder-mcp

Version:

URL Builder MCP Server - Professional URL construction with intelligent parameter handling for Claude Desktop

50 lines (43 loc) 1.68 kB
/** * URL Builder MCP Types * * Types for URL construction following project-specific rules */ export interface UrlParams { checkIn: string; // YYYY-MM-DD (required) checkOut: string; // YYYY-MM-DD (required) adults?: number; // Number of adults (optional, default: 2) children?: number; // Number of children (optional, default: 0) roomType?: string; // Room type name (optional) - e.g., 'garden-deluxe', 'standard', 'suite' guestName?: string; // Guest name (optional) guestEmail?: string; // Guest email (optional) guestPhone?: string; // Guest phone (optional) } export interface BookingUrlParams extends UrlParams { guestName: string; // Guest name (required for booking URLs) guestPhone: string; // Guest phone (required for booking URLs) } export interface ValidationResult { valid: boolean; errors: string[]; } export interface UrlBuilderConfig { /** Base domain/URL for all URL generation. Replaces both BOOKING_URL_BASE and BASE_DOMAIN */ bookingUrlBase: string; /** Default currency for booking URLs */ defaultCurrency: string; /** Base domain for complete URLs (same as bookingUrlBase for consistency) */ baseDomain: string; } export interface UtmParams { utm_source?: string; // Traffic source (e.g., 'claude-desktop', 'mcp-server') utm_medium?: string; // Marketing medium (e.g., 'ai-assistant', 'mcp') utm_campaign?: string; // Campaign name (e.g., 'url-builder-mcp') utm_term?: string; // Paid search keywords (optional) utm_content?: string; // Content differentiation (optional) } export interface UrlOptions { useBaseDomain?: boolean; addUtmTracking?: boolean; customUtm?: Partial<UtmParams>; }