Skip to main content

Feature Flags Without Leaving Your IDE

· 4 min read
Naoki Kuroda
Software Engineer

Feature flags have revolutionized how we deploy and test software, but managing them often requires context switching between multiple tools and interfaces. Today, we're excited to announce the Bucketeer MCP Server, a Model Context Protocol implementation that brings comprehensive feature flag management directly into your AI-assisted development workflow.

The Challenge: Feature Flag Management in Modern Development

Modern software teams rely on feature flags for:

  • Creating and managing feature toggles
  • Instant feature disabling without redeployment
  • Organizing flags with tags and descriptions

However, managing these flags typically involves:

  • Leaving your development environment to access web dashboards
  • Switching contexts between coding and flag configuration

This workflow disrupts developer productivity and increases the risk of configuration errors. By implementing an MCP server for Bucketeer, we've eliminated these friction points, allowing developers to manage feature flags without leaving their AI-enhanced development environment.

Architecture Overview

The Bucketeer MCP Server provides a clean abstraction layer between AI assistants and the Bucketeer API:

Available Tools and Usage

The MCP server exposes five essential tools for comprehensive feature flag management:

1. List Feature Flags

Search and filter through all feature flags in your environment:

{
"tool": "listFeatureFlags",
"pageSize": 20,
"searchKeyword": "checkout",
"archived": false
}

2. Create Feature Flag

Create new feature flags with multiple variations:

{
"tool": "createFeatureFlag",
"id": "new-checkout-flow",
"name": "New Checkout Flow",
"description": "Progressive rollout of redesigned checkout",
"variations": [
{ "value": "false", "name": "Control" },
{ "value": "true", "name": "Treatment" }
],
"defaultOnVariationIndex": 1,
"defaultOffVariationIndex": 0,
"variationType": "BOOLEAN"
}

3. Get Feature Flag

Retrieve detailed information about a specific feature flag:

{
"tool": "getFeatureFlag",
"id": "new-checkout-flow",
"featureVersion": 2
}

4. Update Feature Flag

Modify existing flags including enabling/disabling and updating metadata:

{
"tool": "updateFeatureFlag",
"id": "new-checkout-flow",
"enabled": true,
"comment": "Enabling for 10% rollout after successful QA"
}

5. Archive Feature Flag

Archive flags that are no longer needed while preserving their history:

{
"tool": "archiveFeatureFlag",
"id": "old-checkout-flow",
"comment": "Archiving after successful migration to new flow"
}

Real-world Usage Example

Here's how developers interact with feature flags through their AI assistant:

Developer: "Create a feature flag for our new recommendation engine with a gradual rollout strategy"

AI Assistant: I'll create a feature flag for the new recommendation engine with variations to support gradual rollout.

[Called tool: createFeatureFlag]

{
"id": "recommendation-engine-v2",
"name": "Recommendation Engine V2",
"description": "Feature flag to control the gradual rollout of the new recommendation engine",
"variationType": "STRING",
"variations": [
{ "value": "disabled", "name": "Disabled" },
{ "value": "basic", "name": "Basic Engine" },
{ "value": "advanced", "name": "Advanced Engine" },
{ "value": "full", "name": "Full Engine" }
],
"defaultOffVariationIndex": 0,
"defaultOnVariationIndex": 1
}

I've successfully created the feature flag recommendation-engine-v2 with four variations:

  • disabled: Default when flag is off
  • basic: Initial rollout phase
  • advanced: ML-powered features
  • full: Complete feature set

The flag is currently disabled. When you're ready to start the rollout, you can enable it and configure targeting rules through the Bucketeer dashboard for percentage-based rollouts.

Getting Started

The easiest way to get started is using npx - no installation required:

npx @bucketeer/mcp

Configuration

Add the server to your MCP client configuration:

{
"mcpServers": {
"bucketeer": {
"command": "npx",
"args": ["@bucketeer/mcp"],
"env": {
"BUCKETEER_HOST": "api.example.com",
"BUCKETEER_API_KEY": "your-api-key",
"BUCKETEER_ENVIRONMENT_ID": "your-environment-id"
}
}
}
}

Future Enhancements

We're actively working on expanding the MCP server's capabilities:

  • Advanced Targeting Rules: Support for creating and modifying user segment targeting directly through MCP
  • Experiment Management: Full support for A/B testing and experiment configuration

Conclusion

The Bucketeer MCP Server brings essential feature flag management directly into your AI-assisted development workflow. By eliminating context switching for common flag operations, developers can create, update, and manage flags without leaving their IDE.

The server is open-source and actively maintained. We welcome your feedback and contributions to help shape its future development.

📁 GitHub Repository: https://github.com/bucketeer-io/bucketeer-mcp

Try it out today and let us know what you think!