Skip to main content
Glama

Carbon Voice

by PhononX
env.ts1.38 kB
import { z } from 'zod'; import { CV_API_BASE_URL, LOG_DIR } from '../constants'; const getRunningEnvironment = (): 'prod' | 'dev' => { // App Runner provides service name in environment const serviceName = process.env.AWS_APPRUNNER_SERVICE_NAME || ''; if (serviceName.includes('prod')) { return 'prod'; } return 'dev'; }; const Environment = z.object({ CARBON_VOICE_BASE_URL: z .string() .url() .nullable() .optional() .transform((val) => val || CV_API_BASE_URL), CARBON_VOICE_API_KEY: z.string().optional(), LOG_LEVEL: z .enum(['debug', 'info', 'warn', 'error']) .optional() .default('info'), LOG_DIR: z .string() .optional() .transform((val) => val || LOG_DIR), PORT: z.string().optional().default('3005'), LOG_TRANSPORT: z .enum(['console', 'file', 'cloudwatch']) .optional() .default('file'), ENVIRONMENT: z .enum(['dev', 'prod']) .optional() .default(getRunningEnvironment()), }); const getEnvironment = (): z.infer<typeof Environment> => { try { return Environment.parse(process.env); } catch (error) { console.error('Error getting environment variables', error); process.exit(1); } }; export const isTestEnvironment = () => { const nodeEnv = process.env.NODE_ENV?.toLowerCase(); return nodeEnv === 'test'; }; export const env = getEnvironment();

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/PhononX/cv-mcp-server'

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