Skip to main content
Glama
reflagcom

Bucket Feature Flags MCP Server

Official
by reflagcom
FlagsList.vue3.4 kB
<template> <Section title="Flags List"> <div v-if="!client"> <p>Client not available</p> </div> <div v-else> <p>This list shows all available flags and their current state:</p> <ul v-if="flagEntries.length > 0" style="list-style-type: none; padding: 0" > <li v-for="[flagKey, flag] in flagEntries" :key="flagKey" style=" margin-bottom: 10px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; " > <div style="display: flex; align-items: center; gap: 10px"> <strong>{{ flagKey }}</strong> <span :style="{ color: (flag.isEnabledOverride ?? flag.isEnabled) ? 'green' : 'red', }" > {{ (flag.isEnabledOverride ?? flag.isEnabled) ? "Enabled" : "Disabled" }} </span> <!-- Reset button if override is active --> <button v-if="flag.isEnabledOverride !== null" style="margin-left: 10px; padding: 2px 8px; font-size: 12px" @click="() => resetOverride(flagKey)" > Reset </button> <!-- Toggle checkbox --> <input type="checkbox" :checked="flag.isEnabledOverride ?? flag.isEnabled" style="margin-left: auto" @change=" (e) => { const isChecked = (e.target as HTMLInputElement).checked; const isEnabledOverride = flag.isEnabledOverride !== null; toggleFlag(flagKey, !isEnabledOverride ? isChecked : null); } " /> </div> <!-- Show config if available --> <div v-if="flag.config && flag.config.key" style="margin-top: 5px; font-size: 12px; color: #666" > <strong>Config:</strong> <pre style=" margin: 2px 0; padding: 4px; background: #f5f5f5; border-radius: 2px; overflow: auto; " >{{ JSON.stringify(flag.config.payload, null, 2) }}</pre > </div> </li> </ul> <p v-else style="color: #666; font-style: italic">No flags available</p> </div> </Section> </template> <script setup lang="ts"> import { computed, ref } from "vue"; import { useClient, useOnEvent } from "../../../src"; import Section from "./Section.vue"; const client = useClient(); const flagsData = ref(client.getFlags()); // Update flags data when flags are updated function updateFlags() { flagsData.value = client.getFlags(); } // Update flags data when flags are updated useOnEvent("flagsUpdated", updateFlags); const flagEntries = computed(() => { return Object.entries(flagsData.value); }); function resetOverride(flagKey: string) { client.getFlag(flagKey).setIsEnabledOverride(null); updateFlags(); } function toggleFlag(flagKey: string, checked: boolean | null) { // Use simplified logic similar to React implementation client.getFlag(flagKey).setIsEnabledOverride(checked); updateFlags(); } </script>

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/reflagcom/bucket-javascript-sdk'

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