mcpField
U
Unleash MCP Server

Unleash MCP Server

本地服务
github.com/cuongtl1992开发工具1081 周前更新

关于 Unleash MCP Server

Unleash MCP Server 将 LLM 应用连接到 Unleash 功能开关系统,供 MCP 客户端查询和管理开关,并列出项目。

主要功能

  1. 01查询功能开关状态
  2. 02向 LLM 提供开关信息
  3. 03创建功能开关
  4. 04更新功能开关
  5. 05列出项目

适用场景

  1. 01从 LLM 应用检查开关
  2. 02向 LLM 提供开关详情
  3. 03创建或更新开关
  4. 04查看 Unleash 项目

MCP 相关

这是连接 MCP 客户端与 Unleash API 的 MCP 服务,可查询开关状态、提供开关信息、创建和更新开关,并列出项目。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"unleash": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Unleash MCP 服务

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

README 配图

概述

本项目使用模型上下文协议(MCP),为大模型应用与 Unleash 功能标志系统搭建桥梁。它使 AI 应用能够:

  1. 检查 Unleash 中功能标志的状态
  2. 向大模型公开功能标志信息
  3. 创建功能标志
  4. 更新功能标志
  5. 列出所有项目

目录

要求

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

安装

# Install dependencies
npm i

架构

Unleash MCP 服务在大模型应用与 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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。