U

Unleash MCP 服务器

@cuongtl1992/unleash-mcp
0 Stars 14 次浏览 cuongtl1992 更新于 2026-08-23

一个集成了Unleash Feature Toggle系统的模型上下文协议(MCP)服务器实现。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

该服务需要配置环境变量:MCP_HTTP_PORT、MCP_TRANSPORT、UNLEASH_API_TOKEN、UNLEASH_URL

服务介绍

解锁 MCP 服务器

这是一个集成了 Unleash 功能开关系统的 Model Context Protocol (MCP) 服务器实现。

概览

该项目通过使用 Model Context Protocol (MCP),在 LLM 应用程序和 Unleash 功能开关系统之间提供了一个桥梁。它允许 AI 应用来:

  1. 从 Unleash 检查功能开关状态
  2. 向 LLMs 暴露功能开关信息
  3. 创建功能开关
  4. 更新功能开关
  5. 列出所有项目

目录

需求

  • Node.js(v18 或更高版本)
  • TypeScript(v5.0 或更高版本)
  • 访问 Unleash 服务器实例的权限

安装

# Install dependencies
npm i

架构

Unleash MCP 服务器作为 LLM 应用程序和 Unleash 功能开关系统之间的桥梁:

+----------------+      +-------------------+      +----------------+
|                |      |                   |      |                |
|  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

编码标准

  • 命名约定

    • 文件:使用 kebab-case.ts(例如,feature-flag.ts
    • 类:使用 PascalCase(例如,UnleashClient
    • 函数/方法:使用 camelCase(例如,getFlagStatus
    • 接口/类型:使用 PascalCase(例如,FeatureFlagConfig
  • 导入

    • 导入本地文件时始终包含 .js 扩展名
    • 遵循导入顺序:Node.js 内置模块 → 外部依赖 → 本地导入
    • 使用命名导出而非默认导出
  • 文档

    • 对公共函数、类和接口使用 JSDoc 注释
    • 用内联注释记录复杂逻辑

构建

# 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

如何使用

对于 Claude 或 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
      }
    }
  }
}

贡献

欢迎贡献!请随时提交 Pull Request。

支持项目

如果您觉得这个项目有用,请考虑给我买杯咖啡!

扫描上面的二维码或点击这里来支持本项目的开发。

许可证

本项目采用 MIT 许可证 - 详情见 LICENSE 文件。

相关 MCP 服务