Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the LaunchDarkly MCP server

Vendor MCP
Open markdown

The LaunchDarkly MCP connector routes your AI agent's tool calls to LaunchDarkly's own MCP server through Scalekit. Each user signs in to LaunchDarkly once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 191 tools.

Tools
191
What they doRead · write · destructive
94 · 64 · 3394 read64 write33 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the LaunchDarkly MCP connection

    In AgentKit > Connections, create a LaunchDarkly MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for LaunchDarkly MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'launchdarklymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize LaunchDarkly MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'launchdarklymcp_find_members',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • launchdarklymcp_check_removal_readinessCheck whether a feature flag is ready to be permanently removed from code.Read-only

    CheckRemovalReadiness

    Check whether a feature flag is ready to be permanently removed from code. Analyzes SDK evaluations to confirm the flag is no longer in use.

    Inputs

    envstringrequired
    The environment key to check flag removal readiness in.
    flagKeystringrequired
    The key of the feature flag to check for removal readiness.
    projectKeystringrequired
    The project key where the flag resides.
  • launchdarklymcp_find_membersSearch for LaunchDarkly account members and return their IDs.Read-only

    FindMembers

    Search for LaunchDarkly account members and return their IDs. Supports flexible matching:

    Inputs

    emailsarray
    Emails for this operation.
    limitnumber
    Limit for this operation.
    querystring
    Query for this operation.
  • launchdarklymcp_find_stale_flagsFind feature flags that are candidates for cleanup.Read-only

    FindStaleFlags

    Find feature flags that are candidates for cleanup. Returns a prioritized list of stale flags sorted by staleness (worst first). Categories: inactive_30d (no requests in period), launched_no_changes (fully rolled out, no recent changes), never_requested (created but never evaluated). Defaults to showing temporary flags inactive for 30+ days.

    Inputs

    projectKeystringrequired
    Project Key for this operation.
    envstring
    Env for this operation.
    evalWindownumber
    Eval Window for this operation.
    inactiveDaysnumber
    Inactive Days for this operation.
    includeEvalCountsboolean
    Include Eval Counts for this operation.
    includeOnlystring
    Include Only for this operation.one of temporarypermanentall
    maintainerIdstring
    Maintainer Id for this operation.
    maintainerTeamKeystring
    Maintainer Team Key for this operation.
    useCriticalEnvsboolean
    Use Critical Envs for this operation.
    viewstring
    View for this operation.
  • launchdarklymcp_get_agent_graphGet a specific agent graph by key, including its full edge structure.Read-only

    GetAgentGraph

    Get a specific agent graph by key, including its full edge structure. Each edge connects a source AgentControl Config to a target AgentControl Config with optional handoff data.

    Inputs

    graphKeystringrequired
    Graph Key for this operation.
    projectKeystringrequired
    Project Key for this operation.
  • launchdarklymcp_get_agent_skillGet the latest version of an agent skill by key, including its full SKILL.md markdown, name, description, tags, and version number.Read-only

    Get Agent Skill

    Get the latest version of an agent skill by key, including its full SKILL.md markdown, name, description, tags, and version number.

    Inputs

    projectKeystringrequired
    No description.
    skillKeystringrequired
    No description.
  • launchdarklymcp_get_agentcontrol_configGet detailed configuration for a single AgentControl Config including all its variations.Read-only

    GetAgentcontrolConfig

    Get detailed configuration for a single AgentControl Config including all its variations. Each variation includes its model, instructions or messages, parameters, attached tools, and judgeConfiguration (attached judges with judgeConfigKey and samplingRate). For judge-mode configs the response also includes evaluationMetricKey.

    Inputs

    configKeystringrequired
    Config Key for this operation.
    projectKeystringrequired
    Project Key for this operation.
  • launchdarklymcp_get_agentcontrol_config_healthHealth check for an AgentControl Config.Read-only

    GetAgentcontrolConfigHealth

    Health check for an AgentControl Config. Detects common issues: missing models (NO MODEL in UI), missing prompts, orphaned tool references, and empty configs with no variations. Returns a health verdict (healthy, warning, unhealthy) with specific issues and per-variation summaries. Run before updating or experimenting with a config.

    Inputs

    configKeystringrequired
    Config Key for this operation.
    projectKeystringrequired
    Project Key for this operation.
    envstring
    No description.
  • launchdarklymcp_get_agentcontrol_config_judge_scoresJudge scores in one environment, for one AgentControl Config or, without configKey, for every config.Read-only

    Get Agentcontrol Config Judge Scores

    Judge scores in one environment, for one AgentControl Config or, without configKey, for every config. Returns one entry per judge metric key ($ld:ai:judge:<suffix>) with `averageScore` and `sampleCount`, covering the built-in judges (accuracy, relevance, toxicity) and every custom judge config in the project. Custom judges include `judgeConfigKey`, `judgeConfigName`, and `isInverted` (true means a lower score is better). Judges with no scores in the window are listed in `noData`. from and to are epoch milliseconds; the default window is the last 7 days. groupBy=variation adds per-variation scores and needs configKey. groupBy=config adds per-config scores. Some apps record judge scores under the judge config's key, not the judged config's key. If a configKey query returns only noData, omit configKey or pass the judge config's key. metricKeys adds judge metric keys that have no judge config, for example from a deleted judge.

    Inputs

    envstringrequired
    No description.
    projectKeystringrequired
    No description.
    configKeystring
    No description.
    fromnumber
    No description.
    groupBystring
    No description.one of variationconfig
    metricKeysarray
    No description.
    tonumber
    No description.