Devcycle

com.devcycle由 devcycle.com 發布官方發布者v6.6.1更新於 Oct 24, 2026

DevCycle MCP server for feature flag management

已驗證Streamable HTTP可網頁執行效率與工作流開發者工具

概覽

AI 產生的概覽

託管式 DevCycle MCP 伺服器,讓 AI 程式助理建立、更新與管理功能開關、變數、變體與定向規則。

可以做什麼
  • 建立、檢視與修改功能開關、變數、變體、環境與定向規則
  • 管理自助定向覆寫(Self-Targeting Overrides),取得專案的 SDK 金鑰
  • 列出或切換帳號下的組織與專案
  • 產生型別定義及相關 DevCycle 檔案,以便型別安全地使用
適用情境
當你使用 DevCycle 功能開關,希望助理不必離開編輯器就能調整開關、檢視定向設定,或產生 SDK 金鑰與型別定義時適用。
執行需求
遠端託管端點,不需本機安裝。需要 OAuth 驗證,首次使用時會引導完成授權。需要可存取對應組織與專案的 DevCycle 帳號。
安裝前請注意
助理可以建立與修改 DevCycle 專案中的功能開關、變數、變體、定向規則與覆寫,會直接影響應用程式呈現給使用者的內容。所有變更都以你已驗證的帳號身分進行,使用前請先確認。README 也提醒 CLI 憑證檔案不應提交到版本控制。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Devcycle,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.devcycle%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "devcycle": {
      "type": "http",
      "url": "https://mcp.devcycle.com/mcp"
    }
  }
}

README

DevCycle CLI & MCP Server

This repository contains the DevCycle CLI for managing feature flags from the command line, plus an MCP (Model Context Protocol) server that enables AI coding assistants to interact with DevCycle.

Major features include:

  • Fully manage your Features, Variables, Variations and Targeting Rules from the command line
  • Detect and list DevCycle Variable usages in your codebase
  • Manage your Self-Targeting Overrides to quickly switch between Variable values
  • Generate type definitions for type-safe usage of DevCycle (Typescript only)
  • MCP (Model Context Protocol) server for AI-powered feature flag management with Cursor and Claude

The CLI can be customized in several ways using command-line args or by creating a configuration file.

[oclif] [Version] [License]

MCP Server for AI Assistants

The DevCycle MCP (Model Context Protocol) server enables AI coding assistants like Cursor and Claude to manage feature flags directly from your development environment. DevCycle offers a hosted MCP server that requires no local installation.

Quick Setup (No Installation Required)

  1. Configure your AI assistant to use the hosted MCP server:

    • Cursor: Add to .cursor/mcp_settings.json:

      json
      {  "mcpServers": {    "devcycle": {      "url": "https://mcp.devcycle.com/mcp"    }  }}
    • Claude Desktop: Add to your Claude config file:

      json
      {  "mcpServers": {    "devcycle": {      "command": "npx",      "args": [        "mcp-remote",        "https://mcp.devcycle.com/mcp"      ]    }  }}
  2. That's it! The server will guide you through OAuth authentication when you first use it.

Your AI assistant can now create, update, and manage feature flags on your behalf.

For local installation options, detailed configuration, available tools, and advanced usage, see the complete MCP documentation.

CLI Documentation

Setup

Install the CLI

Using NPM

sh-session
$ npm install -g @devcycle/cli

Or alternatively, using homebrew

sh-session
$ brew tap devcyclehq/cli$ brew install devcycle

Authentication

Many of the CLI commands require DevCycle API authorization. There are several ways to provide these credentials.

Using Access Tokens (preferred)

Login Command

By using the login sso command, the CLI will retrieve and store an access token, which is valid for 24 hours.

The login again command can be used to retrieve a new access token using the saved project and organization without prompting for them.

This process will open browser windows to interact with the DevCycle universal login page. It will first obtain a personal access token, then prompt you to choose an organization. A second browser window is used to authenticate the CLI with your chosen organization.

To switch organizations once logged in, the organizations select command can be used.

If executing the CLI in a containerized environment, please ensure one of the following PORTs can be accessed via Port Forwarding: 2194 (default), 2195, 2196 or 8080. This will allow the authentication process to complete and set the access token appropriately.

Repo Init Command

The repo init command behaves in the same way as login sso, but creates a repo configuration file and stores the project and organization choices there instead.

Using Client Credentials

Client Credentials in Auth File

Use the dvc status command to find the configuration file location for your platform. The credentials can be stored in the file pointed to by the Auth config path. Create the file if it does not exist, with the following contents.

yaml
clientCredentials:  client_id: <your client id>  client_secret: <your client secret>

This file should not be checked in to version control.

The default location is based on the oclif configDir

If you intend to run the CLI using options that override config file locations, the dvc status command command can be run with those options to confirm that the file locations are as expected.

Project Selection

You also need to specify the default project ID for the CLI to use.

If there is a repo configuration file, the dvc diff and dvc usages commands will use the project defined there.

Otherwise, this is chosen during login or set using the project select command

Environment Variables

Set the following environment variables:

sh-session
$ export DEVCYCLE_CLIENT_ID=<your client id>$ export DEVCYCLE_CLIENT_SECRET=<your client secret>$ export DEVCYCLE_PROJECT_KEY=<your project key>

Command-Line Arguments

The CLI can be run with the following arguments:

sh-session
$ dvc --client-id=<your client id> --client-secret=<your client secret> --project=<your project key>

Github Action

The Devcycle Github actions are configured with auth information through the project-key, client-id and client-secret configuration parameters. This is passed to the CLI via command line arguments.

Usage

sh-session
$ npm install -g @devcycle/cli$ dvc COMMANDrunning command...$ dvc (--version)@devcycle/cli/6.6.1 linux-x64 node-v24.21.0$ dvc --help [COMMAND]USAGE  $ dvc COMMAND...

Command Topics

  • dvc alias - Manage repository variable aliases.
  • dvc autocomplete - display autocomplete installation instructions
  • dvc cleanup - Replace a DevCycle variable with a static value in the current version of your code. Currently only JavaScript is supported.
  • dvc diff - Print a diff of DevCycle variable usage between two versions of your code.
  • dvc environments - Create a new Environment for an existing Feature.
  • dvc features - Create, view, or modify Features with the Management API.
  • dvc generate - Generate Devcycle related files.
  • dvc help - Display help for dvc.
  • dvc identity - View or manage your DevCycle Identity.
  • dvc keys - Retrieve SDK keys from the Management API.
  • dvc login - Log in to DevCycle.
  • dvc logout - Discards any auth configuration that has been stored in the auth configuration file.
  • dvc organizations - List or switch organizations.
  • dvc overrides - Create, view, or modify Overrides for a Project with the Management API.
  • dvc projects - Create, or view Projects with the Management API.
  • dvc repo - Manage repository configuration.
  • dvc status - Check CLI status.
  • dvc targeting - Create, view, or modify Targeting Rules for a Feature with the Management API.
  • dvc usages - Print all DevCycle variable usages in the current version of your code.
  • dvc variables - Create, view, or modify Variables with the Management API.
  • dvc variations - Create a new Variation for an existing Feature.

Repo Configuration

The following commands can only be run from the root of a configured repository

Many of the options available as command-line args can also be specified using a repo configuration file. The default location for this file is <REPO ROOT>/.devcycle/config.yml.

This location can be overridden using the --repo-config-path flag.

The configuration file format is documented below:

yml
## the project and organization to use when connecting to the DevCycle Rest API for this repoproject: "project-key"org:  id: "org_xxxxxx"  name: "unique-org-key"  display_name: "Human Readable Org Name"## block for configuring "code insights" features like diff and variable usage scanning## use this section to improve the detection of DevCycle usage within your codecodeInsights:  ## add additional names to check for when looking for instances of DVCClient from an SDK  clientNames:    - "dvcClient"  ## map the values used in your code to the corresponding variable key in DevCycle  variableAliases:    "VARIABLES.ENABLE_V1": "enable-v1"  ## additional regex patterns used to match variables for a specific file extension  matchPatterns:    ## file extension to override for, containing a list of patterns to use    js:      - dvcClient\.variable\(\s*["']([^"']*)["']  ## an array of file glob patterns to include in usage scan  includeFiles:    - "*.[jt]s"  ## an array of file glob patterns to exclude from usage scan  excludeFiles:    - "dist/*"

Match Patterns and Aliases

When identifying variable usages in the code, the CLI will identify DevCycle SDK methods by default. To capture other usages you may define match patterns. Match patterns are defined by file extension.

:::note Each pattern must include exactly one capture group for the variable key. Capture the entire key value (including surrounding quotes if you choose the “with quotes” pattern). :::

Match patterns can be defined in the configuration file, for example:

yml
codeInsights:  matchPatterns:    js:      - customVariableGetter\(\s*["']([^"']*)["']    ts:      - customVariableGetter\(\s*["']([^"']*)["']    jsx:      - customVariableHook\(\s*["']([^"']*)["']      - customVariableGetter\(\s*["']([^"']*)["']    tsx:      - customVariableHook\(\s*["']([^"']*)["']      - customVariableGetter\(\s*["']([^"']*)["']
Capturing with or without quotes

Match patterns can capture variable keys with or without quotes, which affects whether aliases are needed:

With quotes:

yml
# Pattern captures the key including surrounding quotes- dvcClient\.variable\(\s*(["'][^"']*["'])\s*,
  • Matches: dvcClient.variable('my-variable', default)
  • Captures: 'my-variable' (with quotes)

Without quotes (aliases or generated constants required):

yml
# Pattern strips quotes, capturing only the content- dvcClient\.variable\(\s*["']([^"']*)["']
  • Matches: dvcClient.variable('my-variable', default)
  • Captures: my-variable

Match patterns can also be passed directly to relevant commands using the --match-pattern flag:

bash
dvc usages --match-pattern ts="customVariableGetter\(\s*["']([^"']*)["']" js="customVariableGetter\(\s*["']([^"']*)["']"

When testing your regex the --show-regex flag can be helpful. This will print all patterns used to find matches in your codebase.

bash
dvc usages --show-regex
Custom Wrapper Functions

If you use wrapper functions around the SDK, add patterns for them.

Example: Custom wrapper functions

yml
codeInsights:  matchPatterns:    ts:      # Matches: getFeatureFlag('my-variable', defaultValue)      - getFeatureFlag\(\s*([^,)]*)\s*,      # Matches: isFeatureEnabled('my-variable')      - isFeatureEnabled\(\s*([^,)]*)\s*\)    tsx:      # Matches: useFeatureFlag('my-variable', defaultValue)      - useFeatureFlag\(\s*([^,)]*)\s*,

來源:README.md,提交 c0242ab

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

3
  1. v6.6.1最新Oct 14, 2026
  2. v6.6.0Oct 7, 2026
  3. v6.3.2Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分