README
🚀 OpenFeature MCP
OpenFeature 是一个开放规范,它提供了一个与供应商无关、由社区驱动的特性开关 API,可与你喜欢的特性开关管理工具或内部解决方案配合使用。OpenFeature MCP 则进一步增强了这一能力,为 AI 编码助手与 OpenFeature 之间搭建了标准化的交互桥梁。
🚀 快速开始
NPX 安装
使用 OpenFeature MCP 服务器最简单的方法是通过 NPX,无需安装:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
NPM 全局安装
你也可以全局安装 MCP 服务器:
npm install -g @openfeature/mcp
然后配置你的 AI 助手使用全局安装:
{
"mcpServers": {
"OpenFeature": {
"command": "openfeature-mcp"
}
}
}
✨ 主要特性
连接 AI 编码助手与 OpenFeature
OpenFeature 模型上下文协议(MCP)服务器使 AI 编码助手能够通过标准化协议与 OpenFeature 进行交互。它作为本地工具,将 AI 编码助手(如 Cursor、Claude Code、VS Code 和 Windsurf)连接到 OpenFeature 功能,充当 AI 助手与 OpenFeature 能力之间的桥梁,实现智能代码生成和迁移、SDK 安装指导以及特性开关评估。
提供实用工具
- SDK 安装指南(
install_openfeature_sdk):可获取各种语言和框架的 OpenFeature SDK 安装说明,还可选择包含特定供应商的设置文档。 - OFREP 标志评估(
ofrep_flag_eval):使用 OpenFeature 远程评估协议(OFREP)评估特性开关,支持单开关和批量评估。
📦 安装指南
Cursor
📦 在 Cursor 中安装
点击上述安装按钮,可打开 Cursor 并自动添加 OpenFeature MCP。
或者,导航到 Cursor 设置 -> 工具与 MCP -> 新 MCP 服务器,并添加到 ~/.cursor/mcp_settings.json:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
VS Code
📦 在 VS Code 中安装
点击上述安装按钮,可打开 VS Code 并自动添加 OpenFeature MCP。
或者,添加到 .continue/config.json:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
Claude Code
通过 Claude Code CLI 添加服务器:
claude mcp add --transport stdio openfeature npx -y @openfeature/mcp
然后在 CLI 中使用 /mcp 管理连接。
Windsurf
在 管理 MCP 服务器 原始配置中添加:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
Codex CLI
编辑 ~/.codex/config.toml:
[mcp_servers.openfeature]
command = "npx"
args = ["-y", "@openfeature/mcp"]
保存后重启 Codex CLI。
Gemini CLI
编辑 ~/.gemini/settings.json:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
保存后重启 Gemini CLI。
Claude Desktop
编辑 Claude Desktop 配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json添加以下配置:
{
"mcpServers": {
"openfeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
保存后重启 Claude Desktop。
💻 使用示例
SDK 安装示例
"为 Node.js 安装带有 flagd 供应商的 OpenFeature SDK" AI 将使用 MCP 获取相关安装说明,并尝试使用正确的供应商安装 OpenFeature SDK。
标志评估示例
当与你的 AI 助手交互时:
"你能检查 'user-123' 的 'new-checkout-flow' 特性开关的值吗?" AI 将使用 MCP 通过 OFREP 评估开关,并为你提供结果,以及变体和原因等额外元数据。
🔧 技术细节
SDK 安装指南工具参数
| 参数 | 类型 | 是否必需 | 描述 |
|------|------|----------|------|
| technology | 字符串 | 是 | 目标语言/框架(见下面支持的列表) |
| providers | 字符串数组 | 否 | 包含安装说明的供应商标识符 |
支持的技术
| 技术 | SDK |
|------|-----|
| android | Android Kotlin SDK |
| dotnet | .NET SDK |
| go | Go SDK |
| ios | iOS Swift SDK |
| java | Java SDK |
| javascript | JavaScript Web SDK |
| nestjs | NestJS SDK |
| nodejs | Node.js SDK |
| php | PHP SDK |
| python | Python SDK |
| react | React SDK |
| ruby | Ruby SDK |
支持的供应商
供应商列表自动从 OpenFeature 生态系统(open-feature/openfeature.dev 仓库)获取。有关如何维护供应商列表的详细信息,请参阅 scripts/build-providers.js。
OFREP 标志评估工具参数
| 参数 | 类型 | 是否必需 | 描述 |
|------|------|----------|------|
| base_url | 字符串 | 否 | 与 OFREP 兼容的标志服务的基本 URL |
| flag_key | 字符串 | 否 | 单评估的标志键(批量评估时省略) |
| context | 对象 | 否 | 评估上下文(例如,{ targetingKey: "user-123" }) |
| etag | 字符串 | 否 | 批量评估缓存的 ETag |
| auth | 对象 | 否 | 身份验证配置 |
| auth.bearer_token | 字符串 | 否 | 用于授权的承载令牌 |
| auth.api_key | 字符串 | 否 | 用于授权的 API 密钥 |
OFREP 配置
要使用 OFREP 标志评估功能,请配置身份验证和端点详细信息。服务器按以下优先级顺序检查配置:
- 环境变量
OPENFEATURE_OFREP_BASE_URL或OFREP_BASE_URLOPENFEATURE_OFREP_BEARER_TOKEN或OFREP_BEARER_TOKENOPENFEATURE_OFREP_API_KEY或OFREP_API_KEY
- 配置文件:
~/.openfeature-mcp.json
示例 ~/.openfeature-mcp.json:
{
"OFREP": {
"baseUrl": "https://flags.example.com",
"bearerToken": "<your-token>",
"apiKey": "<your-api-key>"
}
}
你可以使用 OPENFEATURE_MCP_CONFIG_PATH 环境变量覆盖配置文件路径。
⚠️ 重要提示
本项目正在积极开发中,功能和 API 可能会发生变化。
⚠️ 重要提示
AI 代理是非确定性的,可能无法正确完成任务。在提交更改之前,请始终手动审核。如果你遇到问题,请 打开一个问题,详细说明你的 AI 代理(例如,Claude Code + Sonnet 4.5,Cursor + gpt-5-codex)、你使用的命令以及你看到的行为。
📚 详细文档
资源
- NPM 包:@openfeature/mcp
- MCP 注册表:dev.openfeature/mcp
- OpenFeature 文档:openfeature.dev
- CNCF Slack:加入 #openfeature
参与贡献
OpenFeature MCP 服务器是由 OpenFeature 社区维护的开源项目。我们欢迎贡献:
- 报告问题:GitHub 问题
- 贡献代码:贡献指南
- 建议功能:在 CNCF Slack 的 #openfeature 频道分享想法
- 改进文档:帮助我们改进 SDK 安装指南和示例 加入 CNCF Slack 参与其中。
微信扫一扫