Skip to main content
Glama
flipt-io

Flipt MCP Server

Official
by flipt-io

create_rule

Define and configure rules for feature flags within a namespace, specifying segment keys, operators, and ranks to control flag evaluations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flagKeyYes
namespaceKeyYes
rankNo
segmentKeyYes
segmentOperatorNo

Implementation Reference

  • MCP tool registration, input schema (Zod), and handler implementation for 'create_rule'. Calls fliptClient.createRule and formats response.
    server.tool( 'create_rule', { namespaceKey: z.string().min(1), flagKey: z.string().min(1), segmentKey: z.string().min(1), rank: z.number().int().optional(), segmentOperator: z.enum(['OR_SEGMENT_OPERATOR', 'AND_SEGMENT_OPERATOR']).optional(), }, async args => { try { const response = await fliptClient.createRule( args.namespaceKey, args.flagKey, args.segmentKey, args.rank, args.segmentOperator ); return { content: [ { type: 'text', text: JSON.stringify(response, null, 2), }, ], }; } catch (error: any) { console.error('Error creating rule:', error); return { content: [ { type: 'text', text: `Failed to create rule: ${error.message}`, }, ], isError: true, }; } } );
  • FliptClient helper method that invokes the generated RulesServiceApi.createRule with mapped parameters.
    async createRule( namespaceKey: string, flagKey: string, segmentKey: string, rank?: number, segmentOperator?: string ) { try { const response = await this.rulesApi.createRule(namespaceKey, flagKey, { segmentKey, rank: rank || 1, segmentOperator: (segmentOperator as any) || 'OR_SEGMENT_OPERATOR', }); return response; } catch (error) { console.error('Error creating rule:', error); throw error; } }
  • Generated TypeScript model for the CreateRuleRequest used in the Flipt API calls.
    export class CreateRuleRequest { 'flagKey'?: string; 'segmentKey'?: string; 'rank': number; 'namespaceKey'?: string; 'segmentKeys'?: Array<string>; 'segmentOperator'?: CreateRuleRequestSegmentOperatorEnum; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ { "name": "flagKey", "baseName": "flagKey", "type": "string", "format": "" }, { "name": "segmentKey", "baseName": "segmentKey", "type": "string", "format": "" }, { "name": "rank", "baseName": "rank", "type": "number", "format": "int32" }, { "name": "namespaceKey", "baseName": "namespaceKey", "type": "string", "format": "" }, { "name": "segmentKeys", "baseName": "segmentKeys", "type": "Array<string>", "format": "" }, { "name": "segmentOperator", "baseName": "segmentOperator", "type": "CreateRuleRequestSegmentOperatorEnum", "format": "enum" } ]; static getAttributeTypeMap() { return CreateRuleRequest.attributeTypeMap; } public constructor() { } } export enum CreateRuleRequestSegmentOperatorEnum { OrSegmentOperator = 'OR_SEGMENT_OPERATOR', AndSegmentOperator = 'AND_SEGMENT_OPERATOR' }

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/flipt-io/mcp-server-flipt'

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