launchdarkly · Capability

LaunchDarkly Relay Proxy

The LaunchDarkly Relay Proxy is a small Go application that connects to the LaunchDarkly streaming API and proxies that connection to SDK clients within an organization's network. It exposes endpoints for status monitoring, flag evaluation, and SDK streaming that mirror the LaunchDarkly service endpoints. Instead of each server making outbound connections to LaunchDarkly's streaming service, multiple servers connect to the local Relay Proxy which maintains a single upstream connection.

Run with Naftiko LaunchdarklyAPI

What You Can Do

GET
Getrelayproxystatus — Get Relay Proxy status
/status
GET
Evaluateallflagsforcontext — Evaluate all flags for a context (GET)
/sdk/evalx/contexts/{contextBase64}
GET
Evaluateallflagsclientside — Evaluate all flags for a client-side context (GET)
/sdk/evalx/{envId}/contexts/{contextBase64}
GET
Streamallflags — Stream all flag data (server-side)
/all
GET
Streamflagsonly — Stream flag updates (server-side)
/flags
GET
Streamclientsideeval — Stream evaluated flags (client-side)
/eval/{envId}/{contextBase64}
GET
Getlatestallflags — Get latest all flags (PHP polling)
/sdk/latest-all

MCP Tools

getrelayproxystatus

Get Relay Proxy status

read-only idempotent
evaluateallflagsforcontext

Evaluate all flags for a context (GET)

read-only idempotent
evaluateallflagsclientside

Evaluate all flags for a client-side context (GET)

read-only idempotent
streamallflags

Stream all flag data (server-side)

read-only idempotent
streamflagsonly

Stream flag updates (server-side)

read-only idempotent
streamclientsideeval

Stream evaluated flags (client-side)

read-only idempotent
getlatestallflags

Get latest all flags (PHP polling)

read-only idempotent

Capability Spec

launchdarkly-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: LaunchDarkly Relay Proxy
  description: The LaunchDarkly Relay Proxy is a small Go application that connects to the LaunchDarkly streaming API and
    proxies that connection to SDK clients within an organization's network. It exposes endpoints for status monitoring, flag
    evaluation, and SDK streaming that mirror the LaunchDarkly service endpoints. Instead of each server making outbound connections
    to LaunchDarkly's streaming service, multiple servers connect to the local Relay Proxy which maintains a single upstream
    connection.
  tags:
  - Launchdarkly
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: launchdarkly
    baseUri: http://localhost:8030
    description: LaunchDarkly Relay Proxy HTTP API.
    authentication:
      type: apikey
      in: header
      name: Authorization
      value: '{{LAUNCHDARKLY_TOKEN}}'
    resources:
    - name: status
      path: /status
      operations:
      - name: getrelayproxystatus
        method: GET
        description: Get Relay Proxy status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sdk-evalx-contexts-contextbase64
      path: /sdk/evalx/contexts/{contextBase64}
      operations:
      - name: evaluateallflagsforcontext
        method: GET
        description: Evaluate all flags for a context (GET)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sdk-evalx-envid-contexts-contextbase64
      path: /sdk/evalx/{envId}/contexts/{contextBase64}
      operations:
      - name: evaluateallflagsclientside
        method: GET
        description: Evaluate all flags for a client-side context (GET)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: all
      path: /all
      operations:
      - name: streamallflags
        method: GET
        description: Stream all flag data (server-side)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: flags
      path: /flags
      operations:
      - name: streamflagsonly
        method: GET
        description: Stream flag updates (server-side)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: eval-envid-contextbase64
      path: /eval/{envId}/{contextBase64}
      operations:
      - name: streamclientsideeval
        method: GET
        description: Stream evaluated flags (client-side)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sdk-latest-all
      path: /sdk/latest-all
      operations:
      - name: getlatestallflags
        method: GET
        description: Get latest all flags (PHP polling)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: launchdarkly-rest
    description: REST adapter for LaunchDarkly Relay Proxy.
    resources:
    - path: /status
      name: getrelayproxystatus
      operations:
      - method: GET
        name: getrelayproxystatus
        description: Get Relay Proxy status
        call: launchdarkly.getrelayproxystatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /sdk/evalx/contexts/{contextBase64}
      name: evaluateallflagsforcontext
      operations:
      - method: GET
        name: evaluateallflagsforcontext
        description: Evaluate all flags for a context (GET)
        call: launchdarkly.evaluateallflagsforcontext
        outputParameters:
        - type: object
          mapping: $.
    - path: /sdk/evalx/{envId}/contexts/{contextBase64}
      name: evaluateallflagsclientside
      operations:
      - method: GET
        name: evaluateallflagsclientside
        description: Evaluate all flags for a client-side context (GET)
        call: launchdarkly.evaluateallflagsclientside
        outputParameters:
        - type: object
          mapping: $.
    - path: /all
      name: streamallflags
      operations:
      - method: GET
        name: streamallflags
        description: Stream all flag data (server-side)
        call: launchdarkly.streamallflags
        outputParameters:
        - type: object
          mapping: $.
    - path: /flags
      name: streamflagsonly
      operations:
      - method: GET
        name: streamflagsonly
        description: Stream flag updates (server-side)
        call: launchdarkly.streamflagsonly
        outputParameters:
        - type: object
          mapping: $.
    - path: /eval/{envId}/{contextBase64}
      name: streamclientsideeval
      operations:
      - method: GET
        name: streamclientsideeval
        description: Stream evaluated flags (client-side)
        call: launchdarkly.streamclientsideeval
        outputParameters:
        - type: object
          mapping: $.
    - path: /sdk/latest-all
      name: getlatestallflags
      operations:
      - method: GET
        name: getlatestallflags
        description: Get latest all flags (PHP polling)
        call: launchdarkly.getlatestallflags
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: launchdarkly-mcp
    transport: http
    description: MCP adapter for LaunchDarkly Relay Proxy for AI agent use.
    tools:
    - name: getrelayproxystatus
      description: Get Relay Proxy status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.getrelayproxystatus
      outputParameters:
      - type: object
        mapping: $.
    - name: evaluateallflagsforcontext
      description: Evaluate all flags for a context (GET)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.evaluateallflagsforcontext
      outputParameters:
      - type: object
        mapping: $.
    - name: evaluateallflagsclientside
      description: Evaluate all flags for a client-side context (GET)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.evaluateallflagsclientside
      outputParameters:
      - type: object
        mapping: $.
    - name: streamallflags
      description: Stream all flag data (server-side)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.streamallflags
      outputParameters:
      - type: object
        mapping: $.
    - name: streamflagsonly
      description: Stream flag updates (server-side)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.streamflagsonly
      outputParameters:
      - type: object
        mapping: $.
    - name: streamclientsideeval
      description: Stream evaluated flags (client-side)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.streamclientsideeval
      outputParameters:
      - type: object
        mapping: $.
    - name: getlatestallflags
      description: Get latest all flags (PHP polling)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: launchdarkly.getlatestallflags
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    LAUNCHDARKLY_TOKEN: LAUNCHDARKLY_TOKEN