Skip to main content
Glama

Unleash MCP (Feature Toggle)

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

Related MCP server: Memory Cache Server

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!

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cuongtl1992/unleash-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server