Skip to main content
Glama

liara_delete_env_var

Remove environment variables from applications on the Liara cloud platform to manage configuration settings.

Instructions

Delete/unset an environment variable for an app

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNameYesThe name of the app
keyYesVariable name to delete

Implementation Reference

  • The core handler function that deletes a single environment variable for a Liara app by wrapping deleteEnvVars.
    export async function deleteEnvVar(
        client: LiaraClient,
        appName: string,
        key: string
    ): Promise<{ message: string }> {
        return await deleteEnvVars(client, appName, [key]);
    }
  • Supporting function that implements the deletion logic by fetching current env vars, filtering out the specified keys, and updating via API.
    export async function deleteEnvVars(
        client: LiaraClient,
        appName: string,
        keys: string[]
    ): Promise<{ message: string }> {
        validateAppName(appName);
        validateRequired(keys, 'Environment variable keys');
        
        if (keys.length === 0) {
            throw new Error('At least one environment variable key is required');
        }
    
        // Get current env vars
        const currentVars = await getEnvVars(client, appName);
        
        // Filter out the keys to delete
        const updatedVars = currentVars.filter(v => !keys.includes(v.key));
        
        // Update with remaining vars
        const request: UpdateEnvsRequest = {
            project: appName,
            variables: updatedVars,
        };
    
        return await client.post<{ message: string }>('/v1/projects/update-envs', request);
    }
  • Helper function to retrieve all current environment variables for an app, used in deletion to preserve others.
    export async function getEnvVars(
        client: LiaraClient,
        appName: string
    ): Promise<EnvironmentVariable[]> {
        validateAppName(appName);
        try {
            const project = await client.get<{
                envs?: Array<{ key?: string; name?: string; value?: string }>;
                envVars?: Array<{ key?: string; name?: string; value?: string }>;
                project?: { envs?: Array<{ key?: string; name?: string; value?: string }> };
            }>(`/v1/projects/${appName}`);
            // API returns 'envs' array in project object
            const envs = project.envs || project.envVars || project.project?.envs || [];
            // Map to EnvironmentVariable format (extract key and value)
            return envs.map((env) => ({
                key: env.key || env.name || '',
                value: env.value || '',
            }));
        } catch (error: unknown) {
            const err = error as { statusCode?: number };
            if (err.statusCode === 404) {
                const { LiaraMcpError } = await import('../utils/errors.js');
                throw new LiaraMcpError(
                    `App "${appName}" not found`,
                    'APP_NOT_FOUND',
                    { appName },
                    [
                        'Check if the app name is correct',
                        'Use liara_list_apps to see all available apps',
                        'Verify you have access to this app'
                    ]
                );
            }
            throw error;
        }
    }
  • Type definition for environment variables used in API requests and responses.
    export interface EnvironmentVariable {
        key: string;
        value: string;
    }
Install Server

Other Tools

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/razavioo/liara-mcp'

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