Skip to main content
Glama
canopy-labs

Featureflip

Official
README.md
# @featureflip/mcp

MCP (Model Context Protocol) server for [Featureflip](https://featureflip.io) — manage feature flags
from AI coding assistants (Claude Code, Cursor, Copilot, Cline) and autonomous agents.

## Setup

1. Create an API token in the Featureflip dashboard:
   - **Personal token** (`ffp_...`): Settings → API Tokens — acts as you, for interactive editor use.
   - **Service token** (`ffs_...`): Organization Settings → Service Tokens — scoped machine identity for CI/agents.
2. Add the server to your MCP client:

### Claude Code

```bash
claude mcp add featureflip -e FEATUREFLIP_TOKEN=ffp_your_token -- npx -y @featureflip/mcp
```

### Cursor / Cline / generic JSON config

```json
{
  "mcpServers": {
    "featureflip": {
      "command": "npx",
      "args": ["-y", "@featureflip/mcp"],
      "env": { "FEATUREFLIP_TOKEN": "ffp_your_token" }
    }
  }
}
```

## Configuration

| Env var | Required | Default | Purpose |
|---|---|---|---|
| `FEATUREFLIP_TOKEN` | yes | — | `ffp_`/`ffs_` API token |
| `FEATUREFLIP_API_URL` | no | `https://api.featureflip.io` | API base URL |
| `FEATUREFLIP_ORG` | no | auto | Org slug (needed only for multi-org personal tokens) |

## Tools

CRUD: `list_projects`, `list_environments`, `list_flags`, `get_flag`, `create_flag`, `update_flag`,
`delete_flag`, `archive_flag`, `restore_flag`, `set_flag_expiry`, `set_flag_owner`, `toggle_flag`,
`update_flag_environment_config`, `get_targeting`, `update_targeting`, `manage_variation`, `list_segments`,
`get_segment`

Webhooks (Admin token required): `list_webhooks`, `list_webhook_deliveries`, `manage_webhook`, `deliver_webhook`

Workflows: `flag_status` (cross-environment view), `find_stale_flags` (cleanup candidates),
`list_removal_candidates` (flags safe to remove, with the prerequisite dependents to remove first),
`wrap_feature` (create flag + get the SDK snippet for your language)

Full reference: https://featureflip.io/docs/integrations/mcp/

## Notes

- Flag **evaluation** is not exposed over MCP — use the [language SDKs](https://featureflip.io/docs) in application code.
- Every mutation is audit-logged and attributed to the token.

## License

Apache-2.0

TDQS

A3.6/5.0

Scored across 26 tools

Disambiguation3/5

Most tools target distinct resources or actions, but find_stale_flags and list_removal_candidates both surface flags for cleanup with overlapping descriptions, and create_flag and wrap_feature both create flags. Descriptions help differentiate, yet an agent could still misselect between these pairs.

Naming Consistency4/5

Tool names are consistently snake_case and nearly all follow a verb_noun pattern (list_flags, get_flag, update_targeting, etc.). The only minor deviation is flag_status, which is noun-first, but it remains readable and consistent in style.

Tool Count2/5

With 26 tools, the server is on the heavy side for its purpose. Several operations could be consolidated (e.g., flag_status into get_flag, find_stale_flags and list_removal_candidates into one parameterized tool), making the surface larger than necessary despite a broad domain.

Completeness4/5

The set covers core feature flag lifecycle (create, read, update, delete, archive, restore), targeting, variations, cleanup, and webhooks well. Minor gaps exist for segments and environments (only list/get, no create/update/delete), but these are likely managed elsewhere and don't block core workflows.

Maintenance

ActivityActive
ResponsivenessNo issues