← Projects
MIT · Open source

mcp-harness-fme

Manage Harness FME (Split.io) feature flags & segments from Claude — list, toggle, kill

Features

  • 28 tools — covers workspaces, environments, feature flags, flag definitions, segments, rule-based segments, and change requests.
  • Kill & restore — instantly kill a flag to force all traffic to the default treatment, or restore it with a single tool call.
  • Safety guard — every destructive operation (delete, kill, archive, disable) requires confirm: true, preventing accidental changes.
  • Rule-based segments — create, update, enable, disable, and submit change requests for rule-based segments per environment.
  • Change request flow — submit segment definition changes with optional approvers for teams that require approval gates.
  • Zero-config startup — reads MCP_HARNESS_FME_API_KEY from the environment and exits immediately if it is missing.

Install

Add to your MCP client config (see Usage below), or install globally to run manually:

npx --yes @kud/mcp-harness-fme@latest

Set the environment variable MCP_HARNESS_FME_API_KEY to your Harness FME API key before starting the server.

Usage

Claude Desktop / Claude Code

{
  "mcpServers": {
    "harness-fme": {
      "command": "npx",
      "args": ["--yes", "@kud/mcp-harness-fme@latest"],
      "env": {
        "MCP_HARNESS_FME_API_KEY": "your_api_key"
      }
    }
  }
}

For Claude Code, add via the CLI:

claude mcp add --transport stdio --scope user harness-fme \
  --env MCP_HARNESS_FME_API_KEY=your_api_key \
  -- npx --yes @kud/mcp-harness-fme@latest

Available tools

ToolDescription
list_workspacesList all FME workspaces in the account
list_environmentsList all environments in a workspace
list_traffic_typesList all traffic types in a workspace
list_rollout_statusesList rollout status definitions for a workspace
list_feature_flagsList feature flags in a workspace (filter by tag, status, name)
get_feature_flagGet metadata for a specific feature flag
create_feature_flagCreate a new feature flag for a given traffic type
update_feature_flagUpdate a flag's description, tags, owners, or rollout status
delete_feature_flagPermanently delete a feature flag (confirm: true required)
archive_feature_flagArchive a flag, removing it from active use (confirm: true required)
unarchive_feature_flagRestore a previously archived feature flag
kill_feature_flagKill a flag in an environment — forces default treatment (confirm: true required)
restore_feature_flagRestore a killed feature flag in an environment
list_flag_definitionsList flag targeting rules in an environment
get_flag_definitionGet treatments and targeting rules for a flag in an environment
create_flag_definitionActivate a flag in an environment with treatments and targeting rules
update_flag_definitionFully replace a flag's targeting rules in an environment
delete_flag_definitionRemove a flag's targeting rules from an environment (confirm: true required)
list_segmentsList all segments in a workspace
list_rule_based_segmentsList all rule-based segments in a workspace
get_rule_based_segmentGet a rule-based segment's workspace-level metadata
create_rule_based_segmentCreate a new rule-based segment in a workspace
delete_rule_based_segmentPermanently delete a rule-based segment (confirm: true required)
list_rule_based_segment_definitionsList rule-based segment definitions in an environment
update_rule_based_segment_definitionUpdate a rule-based segment's rules in an environment
enable_rule_based_segment_definitionActivate a rule-based segment in an environment
disable_rule_based_segment_definitionRemove a rule-based segment from an environment (confirm: true required)
create_rule_based_segment_change_requestSubmit a change request for a segment definition with optional approval flow

Development

git clone https://github.com/kud/mcp-harness-fme.git
cd mcp-harness-fme
npm install
npm run dev           # run from source with tsx
npm run inspect:dev   # MCP Inspector at http://localhost:5173
npm test              # vitest
npm run build         # compile to dist/

The server reads MCP_HARNESS_FME_API_KEY at startup and exits immediately if it is absent. All tools are defined in src/index.ts.