Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

unleash-mcp

MCP.Pizza Chef: cuongtl1992

Unleash MCP server is a Model Context Protocol server that integrates with the Unleash feature toggle system. It enables LLM applications to check, create, update, and list feature flags in Unleash, exposing feature flag data to AI models for dynamic feature management and decision-making. This server facilitates real-time interaction between AI workflows and feature flag configurations.

Use This MCP server To

Check feature flag status from Unleash in real-time Create new feature flags via LLM commands Update existing feature flags dynamically List all Unleash projects and their flags Integrate feature flag data into AI-driven workflows Enable AI models to control feature rollout strategies

README

Unleash MCP Server

A Model Context Protocol (MCP) server implementation that integrates with Unleash Feature Toggle system.

Overview

This project provides a bridge between LLM applications and Unleash feature flag system using the Model Context Protocol (MCP). It allows AI applications to:

  1. Check feature flag status from Unleash
  2. Expose feature flag information to LLMs
  3. Create feature flag
  4. Update feature flag
  5. List all projects

Table of Contents

Requirements

  • Node.js (v18 or higher)
  • TypeScript (v5.0 or higher)
  • Access to an Unleash server instance

Installation

# Install dependencies
npm i

Architecture

The Unleash MCP Server acts as a bridge between LLM applications and the Unleash feature flag system:

+----------------+      +-------------------+      +----------------+
|                |      |                   |      |                |
|  LLM App       | <--> |  Unleash MCP      | <--> |  Unleash API   |
|  (MCP Client)  |      |  Server           |      |  Server        |
|                |      |                   |      |                |
+----------------+      +-------------------+      +----------------+

Development

Project Structure

unleash-mcp-server/
├── src/
│   ├── index.ts              # Main entry point
│   ├── server.ts             # Server implementation
│   ├── config.ts             # Configuration handling
│   ├── transport/            # MCP transport implementations
│   │   ├── http.ts           # HTTP/SSE transport
│   │   └── stdio.ts          # STDIO transport
│   ├── unleash/              # Unleash API client implementations
│   │   ├── unleash-client.ts # Main Unleash client
│   │   ├── get-feature-flag.ts
│   │   └── get-all-projects.ts
│   ├── resources/            # MCP resource implementations
│   │   ├── flags.ts          # Feature flag resources
│   │   └── projects.ts       # Project resources
│   ├── tools/                # MCP tool implementations
│   │   ├── get-flag.ts       # Get feature flag tool
│   │   └── get-projects.ts   # Get projects tool
│   └── prompts/              # MCP prompt implementations
│       ├── flag-check.ts     # Check single flag
│       └── batch-flag-check.ts # Check multiple flags
├── tests/                    # Tests
└── package.json              # Project configuration

Coding Standards

  • Naming Conventions:

    • Files: Use kebab-case.ts (e.g., feature-flag.ts)
    • Classes: Use PascalCase (e.g., UnleashClient)
    • Functions/Methods: Use camelCase (e.g., getFlagStatus)
    • Interfaces/Types: Use PascalCase (e.g., FeatureFlagConfig)
  • Imports:

    • Always include .js extension when importing local files
    • Follow import ordering: Node.js built-ins → External dependencies → Local imports
    • Use named exports over default exports
  • Documentation:

    • Use JSDoc comments for public functions, classes, and interfaces
    • Document complex logic with inline comments

Building

# Compile TypeScript
npm run build

# Run the server
npm start

Testing

# Run tests
npm test

Inspecting

# MCP stdio inspect
npm run build
npx @modelcontextprotocol/inspector node dist/index.js

# MCP sse inspect
npm start
npx @modelcontextprotocol/inspector

How to use

For Claude or Cursor config:

{
  "mcpServers": {
    "unleash": {
      "command": "npx",
      "args": [
        "-y",
        "unleash-mcp"
      ],
      "env": {
        "UNLEASH_URL": "YOUR_UNLEASH_END_POINT",
        "UNLEASH_API_TOKEN": "YOUR_UNLEASH_API_TOKEN",
        "MCP_TRANSPORT": "stdio",
        "MCP_HTTP_PORT": 3001
      }
    }
  }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support the Project

If you find this project helpful, consider buying me a coffee!

Buy Me A Coffee QR Code

Scan the QR code above or click here to support the development of this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

unleash-mcp FAQ

How do I connect the unleash-mcp server to my Unleash instance?
You configure the unleash-mcp server with your Unleash server URL and API token to enable secure communication.
What Node.js and TypeScript versions are required?
unleash-mcp requires Node.js v18 or higher and TypeScript v5.0 or higher for proper functionality.
Can unleash-mcp create and update feature flags?
Yes, unleash-mcp supports creating new feature flags and updating existing ones through MCP commands.
Is unleash-mcp compatible with multiple Unleash projects?
Yes, it can list and manage feature flags across multiple Unleash projects.
How does unleash-mcp expose feature flag data to LLMs?
It translates Unleash feature flag states into structured context that LLMs can query and use in decision-making.
What security measures are in place for unleash-mcp?
unleash-mcp uses API tokens and secure communication protocols to protect access to your Unleash server.
Can unleash-mcp be extended or customized?
Yes, since it is implemented in TypeScript, developers can extend or customize it to fit specific needs.
Does unleash-mcp support real-time updates of feature flags?
It supports querying current flag states and updating flags, enabling near real-time feature management.