manage-feature-flags
>-
Works with
---
name: manage-feature-flags
description: >-
license: Apache-2.0
---
# Manage Feature Flags
Create, list, kill/restore, and delete Harness FME (Split.io-backed) Feature Flags via MCP.
## Prerequisites
FME flags are workspace-scoped (not project-scoped). You must discover the `workspace_id` and `environment_id` before most operations.
### Step 0a: List workspaces
```
Call MCP tool: harness_list
Parameters:
resource_type: "fme_workspace"
```
### Step 0b: List environments (per workspace)
```
Call MCP tool: harness_list
Parameters:
resource_type: "fme_environment"
workspace_id: "<workspace_id>"
```
## Instructions
### Step 1: List Existing Flags
```
Call MCP tool: harness_list
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
```
Filter by name, tags, or rollout status:
```
Call MCP tool: harness_list
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
name: "dark_mode"
tags: "ui"
rollout_status_id: "<uuid>" # discover via fme_rollout_status
```
### Step 2: Get Flag Details
```
Call MCP tool: harness_get
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
```
For per-environment targeting/state, use `fme_feature_flag_definition` and pass `environment_id`.
### Step 3: Create a Flag
```
Call MCP tool: harness_create
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
traffic_type_id: "<traffic_type_id>" # required by FME
body:
name: "dark_mode"
description: "Enable dark mode UI theme"
tags: ["ui", "rollout"]
```
### Step 4: Kill or Restore a Flag (per environment)
Kill (turn the flag OFF in one environment):
```
Call MCP tool: harness_execute
Parameters:
resource_type: "fme_feature_flag"
action: "kill"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
environment_id: "<environment_id>"
```
Restore (re-enable after a kill):
```
Call MCP tool: harness_execute
Parameters:
resource_type: "fme_feature_flag"
action: "restore"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
environment_id: "<environment_id>"
```
### Step 5: Archive / Unarchive a Flag
```
Call MCP tool: harness_execute
Parameters:
resource_type: "fme_feature_flag"
action: "archive" # or "unarchive"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
```
Archiving is subject to OPA policy checks (returns 409 on violation). Unarchive returns 409 if dependent objects exist.
### Step 6: Update Flag Metadata
```
Call MCP tool: harness_update
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
body:
description: "Updated description"
tags: ["ui", "ga"]
```
### Step 7: Delete a Flag
```
Call MCP tool: harness_delete
Parameters:
resource_type: "fme_feature_flag"
workspace_id: "<workspace_id>"
feature_flag_name: "<flag_name>"
```
## FME Resource Types Reference
| Resource Type | Operations | Description |
|--------------|-----------|-------------|
| `fme_workspace` | list | List FME workspaces |
| `fme_environment` | list | List FME environments (per workspace) |
| `fme_feature_flag` | list, get, create, update, delete, execute(kill/restore/archive/unarchive) | Flag metadata at workspace scope |
| `fme_feature_flag_definition` | list, get | Per-environment rollout targeting and state |
| `fme_rollout_status` | list | Discover valid `rollout_status_id` values |
| `fme_rule_based_segment` | list, get | Rule-based segments |
| `fme_rule_based_segment_definition` | list, get, execute(enable/disable/change_request) | Segment definition per environment |
## Examples
- "Create a feature flag for dark mode" — Create `fme_feature_flag` with `body: { name: "dark_mode", ... }`
- "Kill the experimental-search flag in production" — Execute `kill` with production `environment_id`
- "Restore the new-checkout flag in staging" — Execute `restore` with staging `environment_id`
- "List all feature flags in my workspace" — List `fme_feature_flag` for workspace
- "Archive the stale beta_banner flag" — Execute `archive`
## Performance Notes
- Always discover `workspace_id` and `environment_id` before kill/restore — wrong environment can affect production.
- List existing flags before creating to avoid duplicates.
- FME does not expose a single "toggle" action — use `kill` (off) and `restore` (on) per environment.
## Troubleshooting
### Flag won't kill/restore
- `environment_id` is required — kills are per-environment
- Confirm `feature_flag_name` is exact (case-sensitive)
- Verify the flag lives in the specified `workspace_id`
### Flag Not Found
- FME flags are workspace-scoped — confirm the correct `workspace_id`
- Use `harness_list` with `resource_type: "fme_feature_flag"` and no filters to see all flags in the workspace
### Archive fails with 409
- An OPA policy may block archival — review governance policies
- For unarchive, remove dependent segments/targeting before retryingMore Deployment & CI/CD skills
azure-enterprise-infra-planner
microsoft/azure-skills
Architect and provision enterprise Azure infrastructure from workload descriptions. For cloud architects and platform engineers planning networking, identity, security, compliance, and multi-resource topologies with WAF alignment. Generates Bicep or Terraform directly (no azd). WHEN: 'plan Azure infrastructure', 'architect Azure landing zone', 'design hub-spoke network', 'plan multi-region DR topology', 'set up VNets firewalls and private endpoints', 'subscription-scope Bicep deployment', 'Azure Backup for VM workloads'. PREFER azure-prepare FOR app-centric workflows.
azure-kubernetes-app-deploy
microsoft/azure-skills
Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.
finetuning
microsoft/azure-skills
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

