UNPKG

leshan-mcp-server

Version:

A standards-compliant MCP server for Leshan LwM2M, exposing Leshan as Model Context Protocol tools.

25 lines (22 loc) 950 B
import { z } from "zod"; const envSchema = z.object({ LESHAN_URL: z.string().url().default("http://localhost:8084"), LESHAN_TIMEOUT: z.coerce.number().positive().default(30000), LESHAN_RETRIES: z.coerce.number().min(1).max(10).default(3), LESHAN_RETRY_DELAY: z.coerce.number().positive().default(1000), MAX_CONCURRENT_REQUESTS: z.coerce.number().positive().default(10), LOG_LEVEL: z.enum(["debug", "info", "warn", "error"]).default("info"), ENABLE_FILE_LOGGING: z.coerce.boolean().default(true), NODE_ENV: z.enum(["development", "production", "test"]).default("development"), }); export function validateEnvironment() { try { const env = envSchema.parse(process.env); return env; } catch (error) { console.error("❌ Invalid environment configuration:"); console.error(error.errors.map(e => ` ${e.path.join('.')}: ${e.message}`).join('\n')); process.exit(1); } } export const env = validateEnvironment();