open-feature/mcp
If you are the rightful owner of mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The OpenFeature MCP Local Server is a local Model Context Protocol (MCP) server designed to provide guidance for installing OpenFeature SDKs and facilitate Open Feature Remote Evaluation Protocol (OFREP) over standard input/output (stdio).
OpenFeature MCP
Warning
This project is in active development.
Features
A local Model Context Protocol (MCP) server that provides OpenFeature SDK installation guidance and Open Feature Remote Evaluation Protocol (OFREP) over stdio.
- OpenFeature SDK Installation Guides: Fetch installation prompts for various OpenFeature SDKs
- MCP stdio Transport: Intended for local usage by MCP-compatible clients
This server is published to the MCP Registry under dev.openfeature/mcp
.
Configure your AI client (local)
Cursor
Add to ~/.cursor/mcp_settings.json
:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
VS Code (Continue)
Add to .continue/config.json
:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
Claude Code (CLI)
Add the server via CLI:
claude mcp add --transport stdio openfeature npx -y @openfeature/mcp
Then manage the connection in the CLI with /mcp
.
Windsurf
In the "Manage MCP servers" raw config, add:
{
"mcpServers": {
"OpenFeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
Claude Desktop
Edit your Claude Desktop config and add:
{
"mcpServers": {
"openfeature": {
"command": "npx",
"args": ["-y", "@openfeature/mcp"]
}
}
}
Restart Claude Desktop after saving.
NPM Global install (optional)
If you prefer a global install instead of NPX:
npm install -g @openfeature/mcp
Now in your MCP config use openfeature-mcp
as the command:
{
"mcpServers": {
"openfeature": {
"command": "openfeature-mcp"
}
}
}
All logs are written to stderr. The MCP protocol messages use stdout.
Available Tools
install_openfeature_sdk
Fetches Markdown instructions for installing the OpenFeature SDK for a given technology. Optionally augments the prompt with installation guidance for one or more feature flag providers.
Parameters:
technology
(string enum): One of the supported technologies listed belowproviders
(string array, optional): Zero or more provider identifiers. If present, adds provider-specific installation notes to the prompt (or removes placeholder sections when empty).
Supported Technologies:
The technologies list is build from the avaliable prompts/*.md
, updated automatically using scripts/build-prompts.js
- android
- dotnet
- go
- ios
- java
- javascript
- nestjs
- nodejs
- php
- python
- react
- ruby
Supported Providers:
The provider list is sourced automatically from the OpenFeature open-feature/openfeature.dev
repo; newly added providers there become available here without manual edits.
See scripts/build-providers.js
for details.
ofrep_flag_eval
Evaluate feature flags via OpenFeature Remote Evaluation Protocol (OFREP).
If flag_key
is omitted, performs bulk evaluation.
References:
open-feature/protocol
repo,
OFREP OpenAPI spec
Parameters (all optional unless noted):
base_url
(string, optional): Base URL of your OFREP-compatible flag service. If omitted, the server uses env/config (see below).flag_key
(string, optional): If provided, calls single flag evaluation:/ofrep/v1/evaluate/flags/{key}
. If omitted, calls bulk:/ofrep/v1/evaluate/flags
.context
(object, optional): Evaluation context, e.g.{ "targetingKey": "user-123", ... }
.etag
(string, optional): For bulk requests, sent asIf-None-Match
to enable 304 caching semantics.auth
(object, optional): Inline auth for this call only.bearer_token
(string, optional): SetsAuthorization: Bearer <token>
.api_key
(string, optional): SetsX-API-Key: <key>
.
Auth and base URL resolution (priority):
- Tool call args:
base_url
,auth.bearer_token
,auth.api_key
- Environment variables:
OPENFEATURE_OFREP_BASE_URL
(orOFREP_BASE_URL
),OPENFEATURE_OFREP_BEARER_TOKEN
(orOFREP_BEARER_TOKEN
),OPENFEATURE_OFREP_API_KEY
(orOFREP_API_KEY
) - Config file:
~/.openfeature-mcp.json
(override withOPENFEATURE_MCP_CONFIG_PATH
)
Example ~/.openfeature-mcp.json
:
{
"OFREP": {
"baseUrl": "https://flags.example.com",
"bearerToken": "<token>",
"apiKey": "<key>"
}
}
Notes:
- Bulk requests may return
ETag
. Pass it back viaetag
to leverage 304 Not Modified. - Either bearer token or API key can be supplied; both are supported by the spec.
Development
Prerequisites
- Node.js 18+
Setup
-
Install dependencies:
npm install
-
Add or edit install guides in the
prompts/
folder (Markdown). These are bundled at build time. -
Build prompts bundle:
npm run build-prompts
-
Build TypeScript:
npm run build
-
Run locally (binary entrypoint):
node dist/cli.js