UNPKG

passgage-mcp-server

Version:

Model Context Protocol (MCP) server for Passgage Public API integration

33 lines 1.53 kB
import dotenv from 'dotenv'; dotenv.config(); export const config = { apiKey: process.env.PASSGAGE_API_KEY ?? '', baseURL: process.env.PASSGAGE_BASE_URL ?? 'https://api.passgage.com', timeout: parseInt(process.env.PASSGAGE_TIMEOUT ?? '30000'), debug: process.env.PASSGAGE_DEBUG === 'true', userEmail: process.env.PASSGAGE_USER_EMAIL, userPassword: process.env.PASSGAGE_USER_PASSWORD, defaultAuthMode: process.env.PASSGAGE_DEFAULT_AUTH_MODE ?? 'company' }; export function validateConfig() { if (!config.apiKey && !config.userEmail) { throw new Error('Either PASSGAGE_API_KEY or PASSGAGE_USER_EMAIL must be provided'); } if (config.userEmail && !config.userPassword) { throw new Error('PASSGAGE_USER_PASSWORD is required when using user authentication'); } if (!config.baseURL) { throw new Error('PASSGAGE_BASE_URL must be provided'); } if (config.defaultAuthMode && !['company', 'user'].includes(config.defaultAuthMode)) { throw new Error('PASSGAGE_DEFAULT_AUTH_MODE must be either "company" or "user"'); } // Warn if default mode doesn't match available credentials if (config.defaultAuthMode === 'company' && !config.apiKey) { console.warn('Warning: Default auth mode is "company" but no API key provided'); } if (config.defaultAuthMode === 'user' && !config.userEmail) { console.warn('Warning: Default auth mode is "user" but no user credentials provided'); } } //# sourceMappingURL=index.js.map