Bucketeer MCP Server 是一个模型上下文协议(MCP)服务器,用于在 Bucketeer 这个开源特性开关管理平台中管理特性开关。它为特性开关的管理提供了便捷、高效的解决方案,帮助开发者更好地控制和部署应用程序的功能。
⚠️ 重要提示
这是一个测试版本,在正式发布之前可能会引入重大变更。
此 MCP 服务器提供了对 Bucketeer 特性开关进行基本增删改查(CRUD)操作的工具:
listFeatureFlags - 列出所有特性开关,支持过滤和分页功能。createFeatureFlag - 创建一个新的特性开关。getFeatureFlag - 根据 ID 获取特定的特性开关。updateFeatureFlag - 更新现有的特性开关。archiveFeatureFlag - 存档一个特性开关(使其处于非活动状态)。git clone https://github.com/yourusername/bucketeer-mcp.git
cd bucketeer-mcp
npm install
npm run build
启动 MCP 服务器:
npm start
开发模式下使用自动重载功能:
npm run dev
要将此服务器与 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"
}
}
}
}
列出指定环境中的所有特性开关。
参数:
environmentId(可选) - 环境 ID(若未提供,则使用默认值)。pageSize(可选) - 每页的项目数量(1 - 100,默认值:20)。cursor(可选) - 用于下一页的分页游标。tags(可选) - 按标签过滤。orderBy(可选) - 排序字段(CREATED_AT、UPDATED_AT、NAME)。orderDirection(可选) - 排序方向(ASC、DESC)。searchKeyword(可选) - 特性名称或 ID 的搜索关键字。maintainer(可选) - 按维护者电子邮件过滤。archived(可选) - 按存档状态过滤。创建一个新的特性开关。
参数:
id(必需) - 唯一标识符(字母数字、连字符、下划线)。name(必需) - 人类可读的名称。description(可选) - 特性开关的描述。environmentId(可选) - 环境 ID(若未提供,则使用默认值)。variations(必需) - 变体数组(至少 2 个):
value(必需) - 此变体被提供时返回的值。name(必需) - 变体的名称。description(可选) - 变体的描述。tags(可选) - 特性开关的标签。defaultOnVariationIndex(必需) - 开关开启时变体的索引(从 0 开始)。defaultOffVariationIndex(必需) - 开关关闭时变体的索引(从 0 开始)。variationType(可选) - 变体值的类型:STRING(默认)、BOOLEAN、NUMBER 或 JSON。根据 ID 获取特定的特性开关。
参数:
id(必需) - 要检索的特性开关的 ID。environmentId(可选) - 环境 ID(若未提供,则使用默认值)。featureVersion(可选) - 要检索的特性的特定版本。更新现有的特性开关。
参数:
id(必需) - 要更新的特性开关的 ID。comment(必需) - 更新的注释(用于审计跟踪)。environmentId(可选) - 环境 ID(若未提供,则使用默认值)。name(可选) - 特性开关的新名称。description(可选) - 新的描述。tags(可选) - 新的标签。enabled(可选) - 启用或禁用特性开关。archived(可选) - 存档或取消存档特性开关。注意:
存档一个特性开关(使其处于非活动状态)。存档的开关将为所有用户返回代码中定义的默认值。
参数:
id(必需) - 要存档的特性开关的 ID。environmentId(可选) - 环境 ID(若未提供,则使用默认值)。comment(必需) - 存档操作的注释(用于审计跟踪)。注意:此操作是存档开关,而不是永久删除它。如有需要,开关可以在以后取消存档。
运行代码检查工具:
npm run lint
构建 TypeScript 代码:
npm run build
我们非常欢迎您为 Bucketeer 做出贡献,帮助改进它!任何人都可以使用并享受它带来的便利!
请遵循我们的贡献指南 点击此处查看。
本项目采用 Apache License 2.0 许可协议,详情请见 LICENSE。