Bucketeer Mcp

Bucketeer Mcp

🚀 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

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-04 18:24

相似服务问题

相关AI产品