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.
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.
You can install the package from npm:
npm install -g @ylin6/unleash-ff-mcp-serverOr run it directly using npx:
npx @ylin6/unleash-ff-mcp-serverThe server requires the following environment variables:
UNLEASH_API_URL: The URL of your Unleash API instanceUNLEASH_AUTH_TOKEN: The authentication token for your Unleash instance
The MCP server provides the following tools for managing feature flags:
Retrieves a list of all projects in the Unleash instance.
Retrieves all feature flags within a specific project.
Parameters:
projectId: The ID of the project
Creates a new feature flag within a project.
Parameters:
projectId: The ID of the projectname: The name of the feature flagdescription: A description of the feature flagtype: The type of the feature flag (e.g., "release", "experiment", "operational", "kill-switch")
Updates an existing feature flag.
Parameters:
projectId: The ID of the projectfeatureId: The ID of the feature flagdescription: A new description for the feature flagtype: A new type for the feature flag
Retrieves details about a specific feature flag.
Parameters:
projectId: The ID of the projectfeatureId: The ID of the feature flag
To use this MCP server with Cursor, use the following command in your cursor settings
env UNLEASH_API_URL=XXXX UNLEASH_AUTH_TOKEN=XXX npx -y @ylin6/unleash-ff-mcp-serverExample 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)
...
To inspect the MCP server's operations, you can run:
npm run inspectThis uses the MCP inspector to analyze request/response patterns.
ISC