by cuongtl1992
A Model Context Protocol (MCP) server implementation that integrates with Unleash Feature Toggle system, providing a bridge between LLM applications and Unleash feature flags.
unleash-mcp is a Model Context Protocol (MCP) server implementation designed to integrate with the Unleash Feature Toggle system. It acts as a bridge, allowing Large Language Model (LLM) applications to interact with Unleash feature flags.
To use unleash-mcp, you need Node.js (v18+) and TypeScript (v5.0+), along with access to an Unleash server instance. Installation involves npm i
. For integration with LLM applications like Claude or Cursor, you configure the mcpServers
in a JSON file, providing the command to run unleash-mcp
and environment variables for your Unleash URL, API token, and MCP transport settings.
Q: What are the main requirements for running unleash-mcp? A: You need Node.js (v18 or higher), TypeScript (v5.0 or higher), and access to an Unleash server instance.
Q: How does unleash-mcp connect to LLM applications? A: unleash-mcp uses the Model Context Protocol (MCP) to communicate with LLM applications, acting as a server that LLM clients can interact with.
Q: Can unleash-mcp create new feature flags? A: Yes, unleash-mcp supports creating new feature flags within the Unleash system.
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:
# Install dependencies
npm i
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 |
| | | | | |
+----------------+ +-------------------+ +----------------+
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
Naming Conventions:
feature-flag.ts
)UnleashClient
)getFlagStatus
)FeatureFlagConfig
)Imports:
Documentation:
# Compile TypeScript
npm run build
# Run the server
npm start
# Run tests
npm test
# MCP stdio inspect
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
# MCP sse inspect
npm start
npx @modelcontextprotocol/inspector
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
}
}
}
}
Contributions are welcome! Please feel free to submit a Pull Request.
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.
This project is licensed under the MIT License - see the LICENSE file for details.
Please log in to share your review and rating for this MCP.