Skip to main content
Glama
cuongtl1992

Unleash MCP (Feature Toggle)

setStrategySortOrder

Define the execution sequence of strategies for a feature flag in a specified environment, ensuring precise control over feature activation logic.

Instructions

Set the sort order of strategies for a feature flag in a specific environment

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
environmentYes
featureNameYes
projectIdYes
strategyIdsYes

Implementation Reference

  • The main handler function for the setStrategySortOrder tool, which calls the underlying setStrategySortOrder function and formats the response.
    export async function handleSetStrategySortOrder(params: { projectId: string; featureName: string; environment: string; strategyIds: string[]; }) { try { // Set the strategy sort order const result = await setStrategySortOrder( params.projectId, params.featureName, params.environment, params.strategyIds ); if (!result) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: `Failed to set strategy sort order for feature flag '${params.featureName}'` }, null, 2) }], isError: true }; } return { content: [{ type: "text", text: JSON.stringify({ success: true, message: `Successfully set strategy sort order for feature flag '${params.featureName}' in environment '${params.environment}'` }, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error.message }, null, 2) }], isError: true }; } }
  • Zod schema defining the input parameters for the setStrategySortOrder tool.
    export const SetStrategySortOrderParamsSchema = { projectId: z.string().min(1), featureName: z.string().min(1).max(100).regex(/^[a-z0-9-_.]+$/, { message: "Name must be URL-friendly: use only lowercase, numbers, hyphens, underscores, and periods" }), environment: z.string().min(1), strategyIds: z.array(z.string()).min(1) };
  • src/server.ts:136-141 (registration)
    Registration of the setStrategySortOrderTool in the MCP server using server.tool().
    server.tool( setStrategySortOrderTool.name, setStrategySortOrderTool.description, setStrategySortOrderTool.paramsSchema as any, setStrategySortOrderTool.handler as any );
  • Core helper function that makes the HTTP POST request to Unleash API to set the strategy sort order.
    export async function setStrategySortOrder( projectId: string, featureName: string, environment: string, strategyIds: string[] ): Promise<boolean> { try { const endpoint = `/api/admin/projects/${projectId}/features/${featureName}/environments/${environment}/strategies/set-sort-order`; await client.post(endpoint, strategyIds); logger.info(`Successfully set strategy sort order for feature ${featureName} in environment ${environment}`); return true; } catch (error) { logger.error(`Error setting strategy sort order for feature ${featureName}:`, error); return false; } }

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/cuongtl1992/unleash-mcp'

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