Unleash Feature Flag MCP Server
# Unleash Feature Flag MCP Server
This repository contains a Model Context Protocol (MCP) server for interacting with Unleash feature flag management system. It allows AI agents to manage feature flags through the Unleash API.
## What is MCP?
The Model Context Protocol (MCP) is a specification for enabling AI models to interact with external tools and data sources. This server implements the MCP protocol for Unleash, allowing AI assistants to manage feature flags programmatically.
## Installation
You can install the package from npm:
```bash
npm install -g @ylin6/unleash-ff-mcp-server
```
Or run it directly using npx:
```bash
npx @ylin6/unleash-ff-mcp-server
```
## Configuration
The server requires the following environment variables:
- `UNLEASH_API_URL`: The URL of your Unleash API instance
- `UNLEASH_AUTH_TOKEN`: The authentication token for your Unleash instance
## Available Tools
The MCP server provides the following tools for managing feature flags:
### Get Projects
Retrieves a list of all projects in the Unleash instance.
### Get Features
Retrieves all feature flags within a specific project.
Parameters:
- `projectId`: The ID of the project
### Create Feature Flag
Creates a new feature flag within a project.
Parameters:
- `projectId`: The ID of the project
- `name`: The name of the feature flag
- `description`: A description of the feature flag
- `type`: The type of the feature flag (e.g., "release", "experiment", "operational", "kill-switch")
### Update Feature Flag
Updates an existing feature flag.
Parameters:
- `projectId`: The ID of the project
- `featureId`: The ID of the feature flag
- `description`: A new description for the feature flag
- `type`: A new type for the feature flag
### Get Feature Flag
Retrieves details about a specific feature flag.
Parameters:
- `projectId`: The ID of the project
- `featureId`: The ID of the feature flag
## Using with Cursor
To use this MCP server with Cursor, use the following command in your cursor settings
```bash
env UNLEASH_API_URL=XXXX UNLEASH_AUTH_TOKEN=XXX npx -y @ylin6/unleash-ff-mcp-server
```
## Examples
Example conversation with Cursor/Claude:
```
You: Show me all the feature flags in the 'dashboard' project
Claude: I'll fetch all the feature flags in the 'dashboard' project for you.
[Claude uses the getFeatures tool with projectId='dashboard']
Claude: Here are all the feature flags in the 'website' project:
- new-homepage (type: release)
- dark-mode (type: experiment)
- beta-footer (type: operational)
...
```
## Development
To inspect the MCP server's operations, you can run:
```bash
npm run inspect
```
This uses the MCP inspector to analyze request/response patterns.
## License
ISC
TDQS
Scored across 5 tools
Every tool has a clearly distinct purpose with no overlap: createFeatureFlag and updateFeatureFlag handle modifications, getFeatureFlag and getFeatures retrieve specific or grouped data, and getProjects lists projects. The descriptions reinforce these distinctions, making misselection unlikely.
All tools follow a consistent verb_noun pattern with camelCase styling (e.g., createFeatureFlag, getFeatureFlag). There are no deviations in naming conventions, making the set predictable and easy to understand at a glance.
With 5 tools, the server is well-scoped for managing feature flags in Unleash. Each tool earns its place by covering essential operations: project listing, feature retrieval, and flag lifecycle management, without being overly sparse or bloated.
The toolset provides solid CRUD coverage for feature flags (create, get, update) and project listing, but lacks a deleteFeatureFlag tool, which is a minor gap. Agents can likely work around this, but the absence prevents full lifecycle management.