Featureflow MCP Server
Official# Featureflow MCP Server
[](https://www.npmjs.com/package/featureflow-mcp)
[](https://opensource.org/licenses/MIT)
An MCP (Model Context Protocol) server for [Featureflow](https://featureflow.io) feature flag management. This enables AI assistants like Claude to interact with your Featureflow instance to manage feature flags, projects, environments, and more.
## Quick Start
### 1. Create a Personal Access Token
1. Log into [Featureflow](https://app.featureflow.io) as an administrator
2. Navigate to **Administration** → **API Tokens**
3. Click **Create Token** and copy the token (starts with `api-`)
### 2. Configure in Cursor
Add to your `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"featureflow": {
"command": "npx",
"args": ["-y", "featureflow-mcp"],
"env": {
"FEATUREFLOW_API_TOKEN": "api-your-token-here"
}
}
}
}
```
### 3. Restart Cursor
Press `Cmd+Shift+P` → "MCP: Restart Servers" or restart Cursor.
That's it! You can now ask Claude to manage your feature flags.
## Configuration
| Environment Variable | Description | Default |
|---------------------|-------------|---------|
| `FEATUREFLOW_API_TOKEN` | Personal Access Token (required) | - |
| `FEATUREFLOW_API_URL` | API base URL (optional) | `https://beta.featureflow.io/api` |
### Self-Hosted Featureflow
If you're running a self-hosted Featureflow instance:
```json
{
"mcpServers": {
"featureflow": {
"command": "npx",
"args": ["-y", "featureflow-mcp"],
"env": {
"FEATUREFLOW_API_URL": "https://your-instance.com/api",
"FEATUREFLOW_API_TOKEN": "api-your-token-here"
}
}
}
}
```
## Available Tools
### Account
| Tool | Description |
|------|-------------|
| `get_current_user` | Get the currently authenticated user and organization |
### Projects
| Tool | Description |
|------|-------------|
| `list_projects` | List all projects, optionally filtered by query |
| `get_project` | Get a specific project by ID or key |
| `create_project` | Create a new project |
| `update_project` | Update an existing project |
| `delete_project` | Delete a project |
### Features
| Tool | Description |
|------|-------------|
| `list_features` | List features with optional filters |
| `get_feature` | Get a specific feature by ID or unified key |
| `create_feature` | Create a new feature flag |
| `update_feature` | Update an existing feature |
| `clone_feature` | Clone a feature with a new key |
| `archive_feature` | Archive or unarchive a feature |
| `delete_feature` | Delete a feature |
### Feature Controls
| Tool | Description |
|------|-------------|
| `get_feature_control` | Get feature control settings for an environment |
| `update_feature_control` | Enable/disable features, modify rules |
### Environments
| Tool | Description |
|------|-------------|
| `list_environments` | List environments for a project |
| `get_environment` | Get a specific environment |
| `create_environment` | Create a new environment |
| `update_environment` | Update an existing environment |
| `delete_environment` | Delete an environment |
### Targets & API Keys
| Tool | Description |
|------|-------------|
| `list_targets` | List targeting attributes for a project |
| `get_target` | Get a specific target by key |
| `list_api_keys` | List SDK API keys for an environment |
## Example Usage
Once configured, you can ask Claude things like:
- "Who am I logged in as in Featureflow?"
- "List all my Featureflow projects"
- "Create a feature called 'new-checkout' in the 'webapp' project"
- "Enable the 'dark-mode' feature in production"
- "What features are currently enabled in staging?"
- "Disable 'beta-feature' in all environments"
## Development
```bash
# Clone the repository
git clone https://github.com/featureflow/featureflow-mcp.git
cd featureflow-mcp
# Install dependencies
npm install
# Build
npm run build
# Run locally
FEATUREFLOW_API_TOKEN=api-xxx npm start
```
## License
MIT - see [LICENSE](LICENSE) for details.
## Links
- [Featureflow](https://featureflow.io) - Feature flag management platform
- [MCP Protocol](https://modelcontextprotocol.io) - Model Context Protocol specification
- [Featureflow Documentation](https://docs.featureflow.io) - API documentation
TDQS
Scored across 22 tools
Each tool has a clearly distinct purpose with no ambiguity, as they target specific resources (feature, environment, project, target, API key) and actions (create, get, list, update, delete, clone, archive). Overlap is minimal, such as 'get_feature' and 'get_feature_control' which serve different levels of detail, and descriptions clarify boundaries effectively.
Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly (e.g., create_feature, list_environments, update_project). The naming convention is predictable, making it easy for agents to infer functionality and maintain readability across all 22 tools.
With 22 tools, the count is slightly high but reasonable for a feature flag management system, covering CRUD operations for multiple resources (features, environments, projects, targets, API keys). It feels comprehensive rather than bloated, though it borders on the upper limit of typical scoping (3-15 tools).
The tool surface provides complete CRUD/lifecycle coverage for the feature flag management domain, including creation, retrieval, listing, updating, deletion, and specialized operations like cloning and archiving. No obvious gaps exist; agents can perform all core workflows without dead ends, from project setup to feature control updates.