Skip to main content
Glama
devlimelabs

MCP Environment & Installation Manager

by devlimelabs

delete-profile

Remove a specific configuration profile from the MCP Environment & Installation Manager. Allows forced deletion of active profiles using the profile ID for streamlined server management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoForce deletion even if active
profileIdYesProfile ID to delete

Implementation Reference

  • Registration of the 'delete-profile' MCP tool including inline Zod input schema and async handler function that performs validation and delegates to ConfigService.deleteProfile
    server.tool( "delete-profile", { profileId: z.string().describe("Profile ID to delete"), force: z.boolean().optional().describe("Force deletion even if active") }, async ({ profileId, force = false }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } const activeProfileId = configService.getActiveProfileId(); if (profileId === activeProfileId && !force) { throw new Error("Cannot delete active profile. Use force=true to override."); } await configService.deleteProfile(profileId); return { content: [ { type: "text", text: JSON.stringify({ success: true, profileId }, null, 2) } ] }; } );
  • The inline async handler for the delete-profile tool. Validates input, prevents deletion of active profile unless forced, calls ConfigService.deleteProfile, and returns JSON success response.
    async ({ profileId, force = false }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } const activeProfileId = configService.getActiveProfileId(); if (profileId === activeProfileId && !force) { throw new Error("Cannot delete active profile. Use force=true to override."); } await configService.deleteProfile(profileId); return { content: [ { type: "text", text: JSON.stringify({ success: true, profileId }, null, 2) } ] };
  • Zod input schema definition for the delete-profile tool parameters.
    { profileId: z.string().describe("Profile ID to delete"), force: z.boolean().optional().describe("Force deletion even if active")
  • Core implementation of profile deletion in ConfigService: filters profile from array, clears active flag if applicable, persists changes to disk, and removes associated environment variables.
    async deleteProfile(id: string): Promise<void> { const initialLength = this.profilesConfig.profiles.length; this.profilesConfig.profiles = this.profilesConfig.profiles.filter(p => p.id !== id); if (this.profilesConfig.profiles.length === initialLength) { throw new Error(`Profile not found: ${id}`); } if (this.profilesConfig.activeProfile === id) { this.profilesConfig.activeProfile = undefined; } await this.saveProfiles(); // Delete environment variables for this profile this.envStore.delete(id); }

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