Skip to main content
Glama
devlimelabs

MCP Environment & Installation Manager

by devlimelabs

export-env-vars

Export environment variables from a specified profile in dotenv, json, or shell format using the MCP Environment & Installation Manager. Simplify configuration management and integration workflows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatYesExport format (dotenv, json, or shell)
profileIdYesProfile ID to export environment variables from

Implementation Reference

  • The handler function that implements the 'export-env-vars' tool logic: retrieves environment variables for a profile and exports them in the specified format (dotenv, json, or shell), handling descriptions and sensitive values appropriately.
    async ({ profileId, format }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } const profile = configService.getProfile(profileId); if (!profile) { throw new Error(`Profile not found: ${profileId}`); } const envVars = configService.getEnvVars(profileId); let output = ''; if (format === 'dotenv') { // .env format for (const [key, envVar] of Object.entries(envVars)) { // Add comment if description exists if (envVar.description) { output += `# ${envVar.description}\n`; } // Add the variable output += `${key}=${formatDotEnvValue(envVar.value)}\n`; } } else if (format === 'json') { // JSON format const jsonObj: Record<string, string> = {}; for (const [key, envVar] of Object.entries(envVars)) { jsonObj[key] = envVar.value; } output = JSON.stringify(jsonObj, null, 2); } else if (format === 'shell') { // Shell export format for (const [key, envVar] of Object.entries(envVars)) { // Add comment if description exists if (envVar.description) { output += `# ${envVar.description}\n`; } // Add the variable output += `export ${key}=${formatShellValue(envVar.value)}\n`; } } return { content: [ { type: "text", text: JSON.stringify({ profileId, profileName: profile.name, format, output }, null, 2) } ] }; }
  • Zod schema defining the input parameters for the 'export-env-vars' tool: profileId (string) and format (enum: 'dotenv', 'json', 'shell').
    { profileId: z.string().describe("Profile ID to export environment variables from"), format: z.enum(['dotenv', 'json', 'shell']).describe("Export format (dotenv, json, or shell)") },
  • Registration of the 'export-env-vars' tool on the MCP server using server.tool(), including name, input schema, and handler reference.
    server.tool( "export-env-vars", { profileId: z.string().describe("Profile ID to export environment variables from"), format: z.enum(['dotenv', 'json', 'shell']).describe("Export format (dotenv, json, or shell)") }, async ({ profileId, format }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } const profile = configService.getProfile(profileId); if (!profile) { throw new Error(`Profile not found: ${profileId}`); } const envVars = configService.getEnvVars(profileId); let output = ''; if (format === 'dotenv') { // .env format for (const [key, envVar] of Object.entries(envVars)) { // Add comment if description exists if (envVar.description) { output += `# ${envVar.description}\n`; } // Add the variable output += `${key}=${formatDotEnvValue(envVar.value)}\n`; } } else if (format === 'json') { // JSON format const jsonObj: Record<string, string> = {}; for (const [key, envVar] of Object.entries(envVars)) { jsonObj[key] = envVar.value; } output = JSON.stringify(jsonObj, null, 2); } else if (format === 'shell') { // Shell export format for (const [key, envVar] of Object.entries(envVars)) { // Add comment if description exists if (envVar.description) { output += `# ${envVar.description}\n`; } // Add the variable output += `export ${key}=${formatShellValue(envVar.value)}\n`; } } return { content: [ { type: "text", text: JSON.stringify({ profileId, profileName: profile.name, format, output }, null, 2) } ] }; } );
  • Helper function to format environment variable values for .env files, escaping quotes if necessary.
    function formatDotEnvValue(value: string): string { // If value contains spaces, newlines, or quotes, wrap in quotes if (/[\s"']/g.test(value)) { return `"${value.replace(/"/g, '\\"')}"`; } return value; }
  • Helper function to format environment variable values for shell export commands, escaping single quotes.
    function formatShellValue(value: string): string { // Escape single quotes with '\'' pattern return `'${value.replace(/'/g, "'\\''")}'`; }

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/devlimelabs/mcp-env-manager-mcp'

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