Skip to main content
Glama
config.ts2.29 kB
/** * Tilt Connection Configuration * * Resolves Tilt connection settings from explicit overrides or environment variables. * Required: TILT_PORT (via .mcp.json env or shell export) * Optional: TILT_HOST (defaults to 'localhost' if not set) */ const MIN_PORT = 1; const MAX_PORT = 65535; function validatePort(port: number, source: string): number { if (!Number.isInteger(port) || port < MIN_PORT || port > MAX_PORT) { throw new Error( `Invalid Tilt port from ${source}: expected integer between ${MIN_PORT} and ${MAX_PORT}`, ); } return port; } function readEnvVar(key: string): string { const value = process.env[key]; if (value === undefined) { throw new Error( `${key} is not set. Configure it in your .mcp.json server env or export it in the environment.`, ); } const trimmed = value.trim(); if (trimmed === '') { throw new Error( `${key} is empty. Provide a non-empty value via .mcp.json server env or the environment.`, ); } return trimmed; } function parsePortFromEnv(): number { const raw = readEnvVar('TILT_PORT'); if (!/^\d+$/.test(raw)) { throw new Error( `TILT_PORT must be an integer between ${MIN_PORT} and ${MAX_PORT}`, ); } const parsed = Number.parseInt(raw, 10); return validatePort(parsed, 'TILT_PORT'); } function parseHostFromEnv(): string { const value = process.env['TILT_HOST']; if (value === undefined || value.trim() === '') { return 'localhost'; } return value.trim(); } export function requireTiltPort(portOverride?: number): number { if (portOverride !== undefined) { return validatePort(portOverride, 'override'); } return parsePortFromEnv(); } export function requireTiltHost(hostOverride?: string): string { if (hostOverride !== undefined) { const trimmed = hostOverride.trim(); if (trimmed === '') { throw new Error( 'Override for Tilt host is empty. Set TILT_HOST with a non-empty value via .mcp.json environment.', ); } return trimmed; } return parseHostFromEnv(); } export function resolveTiltTarget(overrides?: { port?: number; host?: string; }): { port: number; host: string } { return { port: requireTiltPort(overrides?.port), host: requireTiltHost(overrides?.host), }; }

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/0xBigBoss/tilt-mcp'

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