Skip to main content
Glama
nnnkkk7

Bucketeer MCP Server

by nnnkkk7

archiveFeatureFlag

Archive a feature flag to make it inactive in Bucketeer, providing a comment for audit trail compliance.

Instructions

Archive a feature flag (make it inactive)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the feature flag to archive
environmentIdNoEnvironment ID (uses default if not provided)
commentYesComment for the archive action (required for audit trail)

Implementation Reference

  • Executes the archiving logic: validates input with Zod schema, initializes BucketeerClient, sends updateFeature request with archived: true, logs actions, handles Zod and API errors, returns structured JSON response.
    handler: async (input: unknown) => { try { // Validate input const params = archiveFlagSchema.parse(input); logger.debug('Archiving feature flag', params); // Create API client const client = new BucketeerClient(config.bucketeerHost, config.bucketeerApiKey); // Prepare request - use UpdateFeatureRequest with archived=true const request: UpdateFeatureRequest = { id: params.id, comment: params.comment, environmentId: getEnvironmentId(params.environmentId), archived: true, }; // Make API call const response = await client.updateFeature(request); logger.info(`Successfully archived feature flag: ${params.id}`); return { content: [{ type: 'text', text: JSON.stringify({ success: true, message: `Feature flag '${params.id}' has been archived`, archivedId: params.id, feature: response.feature, }, null, 2), }], }; } catch (error) { logger.error('Failed to archive feature flag', error); if (error instanceof z.ZodError) { return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: 'Invalid input parameters', details: error.errors, }, null, 2), }], isError: true, }; } return { content: [{ type: 'text', text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error', }, null, 2), }], isError: true, }; } },
  • MCP tool input schema defining required 'id' and 'comment', optional 'environmentId'.
    inputSchema: { type: 'object' as const, properties: { id: { type: 'string', description: 'The ID of the feature flag to archive', }, environmentId: { type: 'string', description: 'Environment ID (uses default if not provided)', }, comment: { type: 'string', description: 'Comment for the archive action (required for audit trail)', }, }, required: ['id', 'comment'], },
  • Registers the archiveFlagTool in the central tools array for MCP server.
    export const tools = [ listFlagsTool, createFlagTool, getFlagTool, updateFlagTool, archiveFlagTool, ];
  • Zod schema used internally by the handler for runtime input validation.
    // Input schema for the archive-flag tool export const archiveFlagSchema = z.object({ id: z.string().min(1, 'Feature flag ID is required'), environmentId: z.string().optional(), comment: z.string().min(1, 'Comment is required for archiving'), });
  • src/tools/index.ts:5-5 (registration)
    Import of the archiveFlagTool from its implementation file.
    import { archiveFlagTool } from './archive-flag.js';

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/nnnkkk7/bucketeer-mcp'

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