OpenFeature · Capability

OpenFeature Remote Evaluation Protocol (OFREP)

--- The **OpenFeature Remote Evaluation Protocol (OFREP)** is an API specification for feature flagging that enables vendor-agnostic communication between applications and flag management systems. OFREP defines a standard API layer between OpenFeature providers and flag management systems, allowing any flag management system to implement the protocol and be compatible with community-maintained providers. For more information, see the [OFREP documentation](https://openfeature.dev/docs/reference/other-technologies/ofrep/).

Run with Naftiko OpenfeatureAPI

What You Can Do

POST
Evaluateflag — Evaluate A Single Feature Flag
/ofrep/v1/evaluate/flags/{key}
POST
Evaluateflagsbulk — Bulk Evaluate All Feature Flags
/ofrep/v1/evaluate/flags

MCP Tools

evaluateflag

Evaluate A Single Feature Flag

evaluateflagsbulk

Bulk Evaluate All Feature Flags

Capability Spec

openfeature-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenFeature Remote Evaluation Protocol (OFREP)
  description: '--- The **OpenFeature Remote Evaluation Protocol (OFREP)** is an API specification for feature flagging that
    enables vendor-agnostic communication between applications and flag management systems. OFREP defines a standard API layer
    between OpenFeature providers and flag management systems, allowing any flag management system to implement the protocol
    and be compatible with community-maintained providers. For more information, see the [OFREP documentation](https://openfeature.dev/docs/reference/other-technologies/ofrep/).'
  tags:
  - Openfeature
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: openfeature
    baseUri: ''
    description: OpenFeature Remote Evaluation Protocol (OFREP) HTTP API.
    authentication:
      type: bearer
      token: '{{OPENFEATURE_TOKEN}}'
    resources:
    - name: ofrep-v1-evaluate-flags-key
      path: /ofrep/v1/evaluate/flags/{key}
      operations:
      - name: evaluateflag
        method: POST
        description: Evaluate A Single Feature Flag
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
          description: The unique identifier (key) of the feature flag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: ofrep-v1-evaluate-flags
      path: /ofrep/v1/evaluate/flags
      operations:
      - name: evaluateflagsbulk
        method: POST
        description: Bulk Evaluate All Feature Flags
        inputParameters:
        - name: If-None-Match
          in: header
          type: string
          description: Optional ETag value from a previous bulk evaluation response. If provided and the ETag matches the
            current flag set, the server will return a 304 Not Modified r
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: openfeature-rest
    description: REST adapter for OpenFeature Remote Evaluation Protocol (OFREP).
    resources:
    - path: /ofrep/v1/evaluate/flags/{key}
      name: evaluateflag
      operations:
      - method: POST
        name: evaluateflag
        description: Evaluate A Single Feature Flag
        call: openfeature.evaluateflag
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /ofrep/v1/evaluate/flags
      name: evaluateflagsbulk
      operations:
      - method: POST
        name: evaluateflagsbulk
        description: Bulk Evaluate All Feature Flags
        call: openfeature.evaluateflagsbulk
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: openfeature-mcp
    transport: http
    description: MCP adapter for OpenFeature Remote Evaluation Protocol (OFREP) for AI agent use.
    tools:
    - name: evaluateflag
      description: Evaluate A Single Feature Flag
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openfeature.evaluateflag
      with:
        key: tools.key
      inputParameters:
      - name: key
        type: string
        description: The unique identifier (key) of the feature flag
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: evaluateflagsbulk
      description: Bulk Evaluate All Feature Flags
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openfeature.evaluateflagsbulk
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    OPENFEATURE_TOKEN: OPENFEATURE_TOKEN