delete_rule
Remove a specific rule from a feature flag in Flipt MCP Server by specifying the namespace, flag key, and rule ID to manage configurations effectively.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| flagKey | Yes | ||
| namespaceKey | Yes | ||
| ruleId | Yes |
Implementation Reference
- src/index.ts:972-996 (handler)The MCP tool handler function for 'delete_rule'. It executes the deletion via fliptClient and formats the MCP response.async args => { try { await fliptClient.deleteRule(args.namespaceKey, args.flagKey, args.ruleId); return { content: [ { type: 'text', text: `Successfully deleted rule ${args.ruleId} from flag ${args.flagKey}`, }, ], }; } catch (error: any) { console.error('Error deleting rule:', error); return { content: [ { type: 'text', text: `Failed to delete rule: ${error.message}`, }, ], isError: true, }; } }
- src/index.ts:967-971 (schema)Input schema using Zod for validating namespaceKey, flagKey, and ruleId parameters.{ namespaceKey: z.string().min(1), flagKey: z.string().min(1), ruleId: z.string().min(1), },
- src/index.ts:965-997 (registration)Registers the 'delete_rule' tool with the MCP server, specifying name, input schema, and handler.server.tool( 'delete_rule', { namespaceKey: z.string().min(1), flagKey: z.string().min(1), ruleId: z.string().min(1), }, async args => { try { await fliptClient.deleteRule(args.namespaceKey, args.flagKey, args.ruleId); return { content: [ { type: 'text', text: `Successfully deleted rule ${args.ruleId} from flag ${args.flagKey}`, }, ], }; } catch (error: any) { console.error('Error deleting rule:', error); return { content: [ { type: 'text', text: `Failed to delete rule: ${error.message}`, }, ], isError: true, }; } } );
- src/services/fliptClient.ts:345-353 (helper)Helper method in FliptClient that calls the generated RulesServiceApi to delete the rule.async deleteRule(namespaceKey: string, flagKey: string, id: string) { try { await this.rulesApi.deleteRule(namespaceKey, flagKey, id); return { success: true }; } catch (error) { console.error('Error deleting rule:', error); throw error; } }