Citrix NetScaler · Capability

Citrix NetScaler NITRO REST API — CS Virtual Server

Citrix NetScaler NITRO REST API — CS Virtual Server. 7 operations. Lead operation: Citrix Netscaler List Content Switching Virtual Servers. Self-contained Naftiko capability covering one Citrix Netscaler business surface.

Run with Naftiko Citrix NetscalerCS Virtual Server

What You Can Do

GET
Listcsvservers — Citrix Netscaler List Content Switching Virtual Servers
/v1/config/csvserver
POST
Createcsvserver — Citrix Netscaler Create a Content Switching Virtual Server
/v1/config/csvserver
GET
Getcsvserver — Citrix Netscaler Get a Specific Content Switching Virtual Server
/v1/config/csvserver/{name}
PUT
Updatecsvserver — Citrix Netscaler Update a Content Switching Virtual Server
/v1/config/csvserver/{name}
DELETE
Deletecsvserver — Citrix Netscaler Delete a Content Switching Virtual Server
/v1/config/csvserver/{name}
PUT
Bindcspolicytocsvserver — Citrix Netscaler Bind a Content Switching Policy to a Virtual Server
/v1/config/csvserver-cspolicy-binding
GET
Getcsvserverpolicybindings — Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server
/v1/config/csvserver-cspolicy-binding/{name}

MCP Tools

citrix-netscaler-list-content-switching

Citrix Netscaler List Content Switching Virtual Servers

read-only idempotent
citrix-netscaler-create-content-switching

Citrix Netscaler Create a Content Switching Virtual Server

citrix-netscaler-get-specific-content

Citrix Netscaler Get a Specific Content Switching Virtual Server

read-only idempotent
citrix-netscaler-update-content-switching

Citrix Netscaler Update a Content Switching Virtual Server

idempotent
citrix-netscaler-delete-content-switching

Citrix Netscaler Delete a Content Switching Virtual Server

idempotent
citrix-netscaler-bind-content-switching

Citrix Netscaler Bind a Content Switching Policy to a Virtual Server

idempotent
citrix-netscaler-get-policy-bindings

Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server

read-only idempotent

Capability Spec

nitro-cs-virtual-server.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Citrix NetScaler NITRO REST API — CS Virtual Server
  description: 'Citrix NetScaler NITRO REST API — CS Virtual Server. 7 operations. Lead operation: Citrix Netscaler List Content
    Switching Virtual Servers. Self-contained Naftiko capability covering one Citrix Netscaler business surface.'
  tags:
  - Citrix Netscaler
  - CS Virtual Server
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CITRIX_NETSCALER_API_KEY: CITRIX_NETSCALER_API_KEY
capability:
  consumes:
  - type: http
    namespace: nitro-cs-virtual-server
    baseUri: https://{nsip}/nitro/v1
    description: Citrix NetScaler NITRO REST API — CS Virtual Server business capability. Self-contained, no shared references.
    resources:
    - name: config-csvserver
      path: /config/csvserver
      operations:
      - name: listcsvservers
        method: GET
        description: Citrix Netscaler List Content Switching Virtual Servers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcsvserver
        method: POST
        description: Citrix Netscaler Create a Content Switching Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: config-csvserver-name
      path: /config/csvserver/{name}
      operations:
      - name: getcsvserver
        method: GET
        description: Citrix Netscaler Get a Specific Content Switching Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name of the content switching virtual server.
          required: true
      - name: updatecsvserver
        method: PUT
        description: Citrix Netscaler Update a Content Switching Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name of the content switching virtual server to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletecsvserver
        method: DELETE
        description: Citrix Netscaler Delete a Content Switching Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name of the content switching virtual server to delete.
          required: true
    - name: config-csvserver_cspolicy_binding
      path: /config/csvserver_cspolicy_binding
      operations:
      - name: bindcspolicytocsvserver
        method: PUT
        description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: config-csvserver_cspolicy_binding-name
      path: /config/csvserver_cspolicy_binding/{name}
      operations:
      - name: getcsvserverpolicybindings
        method: GET
        description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Name of the content switching virtual server.
          required: true
    authentication:
      type: apikey
      key: NITRO_AUTH_TOKEN
      value: '{{env.CITRIX_NETSCALER_API_KEY}}'
      placement: cookie
  exposes:
  - type: rest
    namespace: nitro-cs-virtual-server-rest
    port: 8080
    description: REST adapter for Citrix NetScaler NITRO REST API — CS Virtual Server. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/config/csvserver
      name: config-csvserver
      description: REST surface for config-csvserver.
      operations:
      - method: GET
        name: listcsvservers
        description: Citrix Netscaler List Content Switching Virtual Servers
        call: nitro-cs-virtual-server.listcsvservers
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcsvserver
        description: Citrix Netscaler Create a Content Switching Virtual Server
        call: nitro-cs-virtual-server.createcsvserver
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/config/csvserver/{name}
      name: config-csvserver-name
      description: REST surface for config-csvserver-name.
      operations:
      - method: GET
        name: getcsvserver
        description: Citrix Netscaler Get a Specific Content Switching Virtual Server
        call: nitro-cs-virtual-server.getcsvserver
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecsvserver
        description: Citrix Netscaler Update a Content Switching Virtual Server
        call: nitro-cs-virtual-server.updatecsvserver
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecsvserver
        description: Citrix Netscaler Delete a Content Switching Virtual Server
        call: nitro-cs-virtual-server.deletecsvserver
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/config/csvserver-cspolicy-binding
      name: config-csvserver-cspolicy-binding
      description: REST surface for config-csvserver_cspolicy_binding.
      operations:
      - method: PUT
        name: bindcspolicytocsvserver
        description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server
        call: nitro-cs-virtual-server.bindcspolicytocsvserver
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/config/csvserver-cspolicy-binding/{name}
      name: config-csvserver-cspolicy-binding-name
      description: REST surface for config-csvserver_cspolicy_binding-name.
      operations:
      - method: GET
        name: getcsvserverpolicybindings
        description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server
        call: nitro-cs-virtual-server.getcsvserverpolicybindings
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: nitro-cs-virtual-server-mcp
    port: 9090
    transport: http
    description: MCP adapter for Citrix NetScaler NITRO REST API — CS Virtual Server. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: citrix-netscaler-list-content-switching
      description: Citrix Netscaler List Content Switching Virtual Servers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nitro-cs-virtual-server.listcsvservers
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-create-content-switching
      description: Citrix Netscaler Create a Content Switching Virtual Server
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nitro-cs-virtual-server.createcsvserver
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-get-specific-content
      description: Citrix Netscaler Get a Specific Content Switching Virtual Server
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nitro-cs-virtual-server.getcsvserver
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-update-content-switching
      description: Citrix Netscaler Update a Content Switching Virtual Server
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nitro-cs-virtual-server.updatecsvserver
      with:
        name: tools.name
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-delete-content-switching
      description: Citrix Netscaler Delete a Content Switching Virtual Server
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: nitro-cs-virtual-server.deletecsvserver
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-bind-content-switching
      description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nitro-cs-virtual-server.bindcspolicytocsvserver
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: citrix-netscaler-get-policy-bindings
      description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nitro-cs-virtual-server.getcsvserverpolicybindings
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.