delete-profile
Remove a configuration profile from the MCP Environment & Installation Manager, including its environment variables and settings.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Profile ID to delete | |
| force | No | Force deletion even if active |
Implementation Reference
- src/tools/profile-tools.ts:138-169 (registration)Registers the 'delete-profile' MCP tool with input schema and handler function. Handler validates profileId, checks if it's the active profile (unless force=true), calls ConfigService.deleteProfile, returns success JSON.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) } ] }; } );
- Core deletion logic in ConfigService: filters profile from profiles array, nullifies activeProfile if matching, saves profiles config to disk, deletes the profile's environment variables from encrypted Conf store.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); }
- src/server.ts:32-32 (registration)During MCP server initialization, calls registerProfileTools to attach profile tools (including delete-profile) to the server.registerProfileTools(server, configService);