Back to MCP directory
publicPublicdnsLocal runtime

bucketeer-mcp

Bucketeer MCP服务器是一个用于管理Bucketeer功能标志的模型上下文协议服务,提供功能标志的CRUD操作和列表查询功能。

article

README

🚀 Bucketeer MCP Server

Bucketeer MCP Server 是一个模型上下文协议(MCP)服务器,用于在 Bucketeer 这个开源特性开关管理平台中管理特性开关。它为特性开关的管理提供了便捷、高效的解决方案,帮助开发者更好地控制和部署应用程序的功能。

⚠️ 重要提示

这是一个测试版本,在正式发布之前可能会引入重大变更。

✨ 主要特性

此 MCP 服务器提供了对 Bucketeer 特性开关进行基本增删改查(CRUD)操作的工具:

  • listFeatureFlags - 列出所有特性开关,支持过滤和分页功能。
  • createFeatureFlag - 创建一个新的特性开关。
  • getFeatureFlag - 根据 ID 获取特定的特性开关。
  • updateFeatureFlag - 更新现有的特性开关。
  • archiveFeatureFlag - 存档一个特性开关(使其处于非活动状态)。

📦 安装指南

前提条件

  • Node.js 18 或更高版本。
  • 具备 API 访问权限的 Bucketeer 实例。
  • 具有适当权限(读取、写入或管理)的 API 密钥。

安装步骤

  1. 克隆此仓库
git clone https://github.com/yourusername/bucketeer-mcp.git
cd bucketeer-mcp
  1. 安装依赖项
npm install
  1. 构建项目
npm run build

💻 使用示例

启动服务器

启动 MCP 服务器:

npm start

开发模式下使用自动重载功能:

npm run dev

MCP 客户端配置

要将此服务器与 MCP 客户端一起使用,请将其添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "bucketeer": {
      "command": "node",
      "args": ["/path/to/bucketeer-mcp/dist/index.js"],
      "env": {
        "BUCKETEER_HOST": "api.bucketeer.io",
        "BUCKETEER_API_KEY": "your-api-key",
        "BUCKETEER_ENVIRONMENT_ID": "your-environment-id"
      }
    }
  }
}

可用工具

listFeatureFlags

列出指定环境中的所有特性开关。

参数:

  • environmentId(可选) - 环境 ID(若未提供,则使用默认值)。
  • pageSize(可选) - 每页的项目数量(1 - 100,默认值:20)。
  • cursor(可选) - 用于下一页的分页游标。
  • tags(可选) - 按标签过滤。
  • orderBy(可选) - 排序字段(CREATED_AT、UPDATED_AT、NAME)。
  • orderDirection(可选) - 排序方向(ASC、DESC)。
  • searchKeyword(可选) - 特性名称或 ID 的搜索关键字。
  • maintainer(可选) - 按维护者电子邮件过滤。
  • archived(可选) - 按存档状态过滤。

createFeatureFlag

创建一个新的特性开关。

参数:

  • id(必需) - 唯一标识符(字母数字、连字符、下划线)。
  • name(必需) - 人类可读的名称。
  • description(可选) - 特性开关的描述。
  • environmentId(可选) - 环境 ID(若未提供,则使用默认值)。
  • variations(必需) - 变体数组(至少 2 个):
    • value(必需) - 此变体被提供时返回的值。
    • name(必需) - 变体的名称。
    • description(可选) - 变体的描述。
  • tags(可选) - 特性开关的标签。
  • defaultOnVariationIndex(必需) - 开关开启时变体的索引(从 0 开始)。
  • defaultOffVariationIndex(必需) - 开关关闭时变体的索引(从 0 开始)。
  • variationType(可选) - 变体值的类型:STRING(默认)、BOOLEAN、NUMBER 或 JSON。

getFeatureFlag

根据 ID 获取特定的特性开关。

参数:

  • id(必需) - 要检索的特性开关的 ID。
  • environmentId(可选) - 环境 ID(若未提供,则使用默认值)。
  • featureVersion(可选) - 要检索的特性的特定版本。

updateFeatureFlag

更新现有的特性开关。

参数:

  • id(必需) - 要更新的特性开关的 ID。
  • comment(必需) - 更新的注释(用于审计跟踪)。
  • environmentId(可选) - 环境 ID(若未提供,则使用默认值)。
  • name(可选) - 特性开关的新名称。
  • description(可选) - 新的描述。
  • tags(可选) - 新的标签。
  • enabled(可选) - 启用或禁用特性开关。
  • archived(可选) - 存档或取消存档特性开关。

注意:

  • 此工具需要一个注释用于审计跟踪目的。
  • 它不支持更新变体。若要修改变体,需要存档当前开关并创建一个新的。

archiveFeatureFlag

存档一个特性开关(使其处于非活动状态)。存档的开关将为所有用户返回代码中定义的默认值。

参数:

  • id(必需) - 要存档的特性开关的 ID。
  • environmentId(可选) - 环境 ID(若未提供,则使用默认值)。
  • comment(必需) - 存档操作的注释(用于审计跟踪)。

注意:此操作是存档开关,而不是永久删除它。如有需要,开关可以在以后取消存档。

🔧 开发相关

代码检查

运行代码检查工具:

npm run lint

构建项目

构建 TypeScript 代码:

npm run build

🤝 贡献代码

我们非常欢迎您为 Bucketeer 做出贡献,帮助改进它!任何人都可以使用并享受它带来的便利!

请遵循我们的贡献指南 点击此处查看

📄 许可证

本项目采用 Apache License 2.0 许可协议,详情请见 LICENSE

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client