Couchbase · Capability

Couchbase XDCR REST API — Cluster References

Couchbase XDCR REST API — Cluster References. 4 operations. Lead operation: List remote cluster references. Self-contained Naftiko capability covering one Couchbase business surface.

Run with Naftiko CouchbaseCluster References

What You Can Do

GET
Listremoteclusters — List remote cluster references
/v1/pools/default/remoteclusters
POST
Createremotecluster — Create a remote cluster reference
/v1/pools/default/remoteclusters
PUT
Updateremotecluster — Update a remote cluster reference
/v1/pools/default/remoteclusters/{clustername}
DELETE
Deleteremotecluster — Delete a remote cluster reference
/v1/pools/default/remoteclusters/{clustername}

MCP Tools

list-remote-cluster-references

List remote cluster references

read-only idempotent
create-remote-cluster-reference

Create a remote cluster reference

update-remote-cluster-reference

Update a remote cluster reference

idempotent
delete-remote-cluster-reference

Delete a remote cluster reference

idempotent

Capability Spec

xdcr-rest-cluster-references.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Couchbase XDCR REST API — Cluster References
  description: 'Couchbase XDCR REST API — Cluster References. 4 operations. Lead operation: List remote cluster references.
    Self-contained Naftiko capability covering one Couchbase business surface.'
  tags:
  - Couchbase
  - Cluster References
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COUCHBASE_API_KEY: COUCHBASE_API_KEY
capability:
  consumes:
  - type: http
    namespace: xdcr-rest-cluster-references
    baseUri: https://localhost:8091
    description: Couchbase XDCR REST API — Cluster References business capability. Self-contained, no shared references.
    resources:
    - name: pools-default-remoteClusters
      path: /pools/default/remoteClusters
      operations:
      - name: listremoteclusters
        method: GET
        description: List remote cluster references
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createremotecluster
        method: POST
        description: Create a remote cluster reference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: pools-default-remoteClusters-clusterName
      path: /pools/default/remoteClusters/{clusterName}
      operations:
      - name: updateremotecluster
        method: PUT
        description: Update a remote cluster reference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteremotecluster
        method: DELETE
        description: Delete a remote cluster reference
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: basic
      username: '{{env.COUCHBASE_USER}}'
      password: '{{env.COUCHBASE_PASS}}'
  exposes:
  - type: rest
    namespace: xdcr-rest-cluster-references-rest
    port: 8080
    description: REST adapter for Couchbase XDCR REST API — Cluster References. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/pools/default/remoteclusters
      name: pools-default-remoteclusters
      description: REST surface for pools-default-remoteClusters.
      operations:
      - method: GET
        name: listremoteclusters
        description: List remote cluster references
        call: xdcr-rest-cluster-references.listremoteclusters
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createremotecluster
        description: Create a remote cluster reference
        call: xdcr-rest-cluster-references.createremotecluster
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pools/default/remoteclusters/{clustername}
      name: pools-default-remoteclusters-clustername
      description: REST surface for pools-default-remoteClusters-clusterName.
      operations:
      - method: PUT
        name: updateremotecluster
        description: Update a remote cluster reference
        call: xdcr-rest-cluster-references.updateremotecluster
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteremotecluster
        description: Delete a remote cluster reference
        call: xdcr-rest-cluster-references.deleteremotecluster
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: xdcr-rest-cluster-references-mcp
    port: 9090
    transport: http
    description: MCP adapter for Couchbase XDCR REST API — Cluster References. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-remote-cluster-references
      description: List remote cluster references
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: xdcr-rest-cluster-references.listremoteclusters
      outputParameters:
      - type: object
        mapping: $.
    - name: create-remote-cluster-reference
      description: Create a remote cluster reference
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: xdcr-rest-cluster-references.createremotecluster
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-remote-cluster-reference
      description: Update a remote cluster reference
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: xdcr-rest-cluster-references.updateremotecluster
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-remote-cluster-reference
      description: Delete a remote cluster reference
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: xdcr-rest-cluster-references.deleteremotecluster
      outputParameters:
      - type: object
        mapping: $.