A Model Context Protocol (MCP) server implementation that integrates with Unleash Feature Toggle system.
Created 3 months ago
A Model Context Protocol (MCP) server implementation that integrates with Unleash Feature Toggle system.
What is A Model Context Protocol (MCP) server implementation that integrates with Unleash Feature Toggle system.?
This project provides a bridge between LLM applications and Unleash feature flag system using the Model Context Protocol (MCP). It allows AI applications to check feature flag status from Unleash, expose feature flag information to LLMs, create feature flags, update feature flags, and list all projects.
Documentation
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:
- Check feature flag status from Unleash
- Expose feature flag information to LLMs
- Create feature flag
- Update feature flag
- List all projects
Table of Contents
Requirements
- Node.js (v18 or higher)
- TypeScript (v5.0 or higher)
- Access to an Unleash server instance
Installation
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
npm run build
# Run the server
npm start
Testing
npm test
Inspecting
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.
Server Config
{
"mcpServers": {
"a-model-context-protocol-(mcp)-server-implementation-that-integrates-with-unleash-feature-toggle-system.-server": {
"command": "npx",
"args": [
"a-model-context-protocol-(mcp)-server-implementation-that-integrates-with-unleash-feature-toggle-system."
]
}
}
}