Skip to main content
Glama
palhamel
by palhamel
config.ts1.6 kB
interface Config { elksUsername: string; elksPassword: string; elksPhoneNumber: string; webhookUrl?: string; port: number; dryRun: boolean; } export const config: Config = { elksUsername: process.env.ELKS_API_USERNAME || '', elksPassword: process.env.ELKS_API_PASSWORD || '', elksPhoneNumber: process.env.ELKS_PHONE_NUMBER || '', webhookUrl: process.env.WEBHOOK_URL, port: parseInt(process.env.PORT || '3001', 10), dryRun: process.env.DRY_RUN === 'true' || process.env.NODE_ENV === 'development' }; export const validateConfig = (): void => { const requiredFields: Array<keyof Pick<Config, 'elksUsername' | 'elksPassword' | 'elksPhoneNumber'>> = [ 'elksUsername', 'elksPassword', 'elksPhoneNumber' ]; const missingFields = requiredFields.filter(field => !config[field]); if (missingFields.length > 0) { const envVarNames = missingFields.map(field => { // Convert camelCase to UPPER_SNAKE_CASE return field.replace(/([A-Z])/g, '_$1').toUpperCase(); }); throw new Error( `Missing required environment variables: ${envVarNames.join(', ')}\n` + 'Please check your MCP client configuration (Claude Desktop config.json or VS Code mcp.json).' ); } // Validate phone number format if (!config.elksPhoneNumber.startsWith('+')) { throw new Error('ELKS_PHONE_NUMBER must include country code (e.g., +46XXXXXXXXX)'); } // Validate port is a valid number if (isNaN(config.port) || config.port < 1 || config.port > 65535) { throw new Error('PORT must be a valid port number between 1 and 65535'); } };

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/palhamel/46elks-mcp-server'

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