Unleash MCP (Feature Toggle)

by cuongtl1992
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports the project through donations via Buy Me A Coffee, as mentioned in the 'Support the Project' section with a QR code and link.

  • Required for running the server, with version 18 or higher specified in the requirements.

  • Used as the implementation language for the server, with version 5.0 or higher required.

Liberar el servidor MCP

Una implementación de servidor de Protocolo de contexto de modelo (MCP) que se integra con el sistema Unleash Feature Toggle.

Descripción general

Este proyecto conecta las aplicaciones LLM con el sistema de indicadores de características Unleash mediante el Protocolo de Contexto de Modelo (MCP). Permite a las aplicaciones de IA:

  1. Comprobar el estado de la bandera de función desde Unleash
  2. Exponer información de indicadores de características a los LLM
  3. Crear una bandera de característica
  4. Actualizar la bandera de función
  5. Listar todos los proyectos

Tabla de contenido

Requisitos

  • Node.js (v18 o superior)
  • TypeScript (v5.0 o superior)
  • Acceso a una instancia de servidor Unleash

Instalación

# Install dependencies npm i

Arquitectura

El servidor Unleash MCP actúa como un puente entre las aplicaciones LLM y el sistema de indicadores de características de Unleash:

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

Desarrollo

Estructura del proyecto

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

Estándares de codificación

  • Convenciones de nomenclatura :
    • Archivos: utilice kebab-case.ts (por ejemplo, feature-flag.ts )
    • Clases: utilice PascalCase (por ejemplo, UnleashClient )
    • Funciones/Métodos: utilizar camelCase (por ejemplo, getFlagStatus )
    • Interfaces/Tipos: utilizar PascalCase (por ejemplo, FeatureFlagConfig )
  • Importaciones :
    • Incluya siempre la extensión .js al importar archivos locales
    • Seguir el orden de importación: Integraciones de Node.js → Dependencias externas → Importaciones locales
    • Utilice exportaciones con nombre en lugar de exportaciones predeterminadas
  • Documentación :
    • Utilice comentarios JSDoc para funciones, clases e interfaces públicas
    • Documente la lógica compleja con comentarios en línea

Edificio

# Compile TypeScript npm run build # Run the server npm start

Pruebas

# Run tests npm test

Inspeccionando

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

Cómo utilizar

Para la configuración de Claude o Cursor:

{ "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 } } } }

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Apoya el proyecto

Si este proyecto te resulta útil, ¡considera comprarme un café!

Escanee el código QR de arriba o haga clic aquí para apoyar el desarrollo de este proyecto.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Una implementación de servidor de Protocolo de contexto de modelo (MCP) que se integra con el sistema Unleash Feature Toggle.

  1. Overview
    1. Table of Contents
      1. Requirements
        1. Installation
          1. Architecture
            1. Development
              1. Project Structure
              2. Coding Standards
              3. Building
              4. Testing
              5. Inspecting
            2. How to use
              1. Contributing
                1. Support the Project
                  1. License
                    ID: u6de78ibn8