Nacos · Capability

Nacos Open API

Nacos Open API for service discovery, configuration management, and namespace management. Nacos supports dynamic service discovery, service configuration, service metadata, and traffic management.

Run with Naftiko NacosAPI

What You Can Do

POST
Login — User login
/v1/auth/login
GET
Getconfig — Get configuration
/v1/cs/configs
POST
Publishconfig — Publish configuration
/v1/cs/configs
DELETE
Deleteconfig — Delete configuration
/v1/cs/configs
POST
Listenconfig — Listen for configuration changes
/v1/cs/configs/listener
GET
Getconfighistory — Get configuration history
/v1/cs/history
GET
Getpreviousconfig — Get previous configuration version
/v1/cs/history/previous
POST
Registerinstance — Register an instance
/v1/ns/instance
DELETE
Deregisterinstance — Deregister an instance
/v1/ns/instance
PUT
Updateinstance — Update instance
/v1/ns/instance
GET
Listinstances — List instances
/v1/ns/instance/list
PUT
Sendbeat — Send instance heartbeat
/v1/ns/instance/beat
POST
Createservice — Create a service
/v1/ns/service
DELETE
Deleteservice — Delete a service
/v1/ns/service
PUT
Updateservice — Update a service
/v1/ns/service
GET
Getservice — Get a service
/v1/ns/service
GET
Listservices — List services
/v1/ns/service/list
GET
Getswitches — Get system switches
/v1/ns/operator/switches
PUT
Updateswitches — Update system switches
/v1/ns/operator/switches
GET
Getmetrics — Get server metrics
/v1/ns/operator/metrics
GET
Listservers — List cluster servers
/v1/ns/operator/servers
GET
Listnamespaces — List namespaces
/v1/console/namespaces
POST
Createnamespace — Create a namespace
/v1/console/namespaces
PUT
Updatenamespace — Update a namespace
/v1/console/namespaces
DELETE
Deletenamespace — Delete a namespace
/v1/console/namespaces
PUT
Updateinstancehealth — Update instance health status
/v1/ns/health/instance

MCP Tools

login

User login

getconfig

Get configuration

read-only idempotent
publishconfig

Publish configuration

deleteconfig

Delete configuration

idempotent
listenconfig

Listen for configuration changes

getconfighistory

Get configuration history

read-only idempotent
getpreviousconfig

Get previous configuration version

read-only idempotent
registerinstance

Register an instance

deregisterinstance

Deregister an instance

idempotent
updateinstance

Update instance

idempotent
listinstances

List instances

read-only idempotent
sendbeat

Send instance heartbeat

idempotent
createservice

Create a service

deleteservice

Delete a service

idempotent
updateservice

Update a service

idempotent
getservice

Get a service

read-only idempotent
listservices

List services

read-only idempotent
getswitches

Get system switches

read-only idempotent
updateswitches

Update system switches

idempotent
getmetrics

Get server metrics

read-only idempotent
listservers

List cluster servers

read-only idempotent
listnamespaces

List namespaces

read-only idempotent
createnamespace

Create a namespace

updatenamespace

Update a namespace

idempotent
deletenamespace

Delete a namespace

idempotent
updateinstancehealth

Update instance health status

idempotent

Capability Spec

nacos-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Nacos Open API
  description: Nacos Open API for service discovery, configuration management, and namespace management. Nacos supports dynamic
    service discovery, service configuration, service metadata, and traffic management.
  tags:
  - Nacos
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: nacos
    baseUri: http://localhost:8848/nacos
    description: Nacos Open API HTTP API.
    authentication:
      type: apikey
      in: query
      name: accessToken
      value: '{{NACOS_TOKEN}}'
    resources:
    - name: v1-auth-login
      path: /v1/auth/login
      operations:
      - name: login
        method: POST
        description: User login
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-cs-configs
      path: /v1/cs/configs
      operations:
      - name: getconfig
        method: GET
        description: Get configuration
        inputParameters:
        - name: dataId
          in: query
          type: string
          required: true
          description: Configuration ID
        - name: group
          in: query
          type: string
          required: true
          description: Configuration group
        - name: tenant
          in: query
          type: string
          description: Tenant/namespace ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: publishconfig
        method: POST
        description: Publish configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteconfig
        method: DELETE
        description: Delete configuration
        inputParameters:
        - name: dataId
          in: query
          type: string
          required: true
        - name: group
          in: query
          type: string
          required: true
        - name: tenant
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-cs-configs-listener
      path: /v1/cs/configs/listener
      operations:
      - name: listenconfig
        method: POST
        description: Listen for configuration changes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-cs-history
      path: /v1/cs/history
      operations:
      - name: getconfighistory
        method: GET
        description: Get configuration history
        inputParameters:
        - name: dataId
          in: query
          type: string
          required: true
        - name: group
          in: query
          type: string
          required: true
        - name: tenant
          in: query
          type: string
        - name: pageNo
          in: query
          type: integer
        - name: pageSize
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-cs-history-previous
      path: /v1/cs/history/previous
      operations:
      - name: getpreviousconfig
        method: GET
        description: Get previous configuration version
        inputParameters:
        - name: id
          in: query
          type: integer
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-instance
      path: /v1/ns/instance
      operations:
      - name: registerinstance
        method: POST
        description: Register an instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deregisterinstance
        method: DELETE
        description: Deregister an instance
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        - name: ip
          in: query
          type: string
          required: true
        - name: port
          in: query
          type: integer
          required: true
        - name: clusterName
          in: query
          type: string
        - name: ephemeral
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateinstance
        method: PUT
        description: Update instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-instance-list
      path: /v1/ns/instance/list
      operations:
      - name: listinstances
        method: GET
        description: List instances
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        - name: clusters
          in: query
          type: string
          description: Comma-separated cluster names
        - name: healthyOnly
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-instance-beat
      path: /v1/ns/instance/beat
      operations:
      - name: sendbeat
        method: PUT
        description: Send instance heartbeat
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        - name: beat
          in: query
          type: string
          required: true
          description: Beat info (JSON string)
        - name: ephemeral
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-service
      path: /v1/ns/service
      operations:
      - name: createservice
        method: POST
        description: Create a service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteservice
        method: DELETE
        description: Delete a service
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateservice
        method: PUT
        description: Update a service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getservice
        method: GET
        description: Get a service
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-service-list
      path: /v1/ns/service/list
      operations:
      - name: listservices
        method: GET
        description: List services
        inputParameters:
        - name: pageNo
          in: query
          type: integer
          required: true
        - name: pageSize
          in: query
          type: integer
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-operator-switches
      path: /v1/ns/operator/switches
      operations:
      - name: getswitches
        method: GET
        description: Get system switches
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateswitches
        method: PUT
        description: Update system switches
        inputParameters:
        - name: entry
          in: query
          type: string
          required: true
          description: Switch entry key
        - name: value
          in: query
          type: string
          required: true
          description: Switch entry value
        - name: debug
          in: query
          type: boolean
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-operator-metrics
      path: /v1/ns/operator/metrics
      operations:
      - name: getmetrics
        method: GET
        description: Get server metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-operator-servers
      path: /v1/ns/operator/servers
      operations:
      - name: listservers
        method: GET
        description: List cluster servers
        inputParameters:
        - name: healthy
          in: query
          type: boolean
          description: Filter by health status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-console-namespaces
      path: /v1/console/namespaces
      operations:
      - name: listnamespaces
        method: GET
        description: List namespaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createnamespace
        method: POST
        description: Create a namespace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatenamespace
        method: PUT
        description: Update a namespace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletenamespace
        method: DELETE
        description: Delete a namespace
        inputParameters:
        - name: namespaceId
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-ns-health-instance
      path: /v1/ns/health/instance
      operations:
      - name: updateinstancehealth
        method: PUT
        description: Update instance health status
        inputParameters:
        - name: serviceName
          in: query
          type: string
          required: true
        - name: groupName
          in: query
          type: string
        - name: namespaceId
          in: query
          type: string
        - name: ip
          in: query
          type: string
          required: true
        - name: port
          in: query
          type: integer
          required: true
        - name: healthy
          in: query
          type: boolean
          required: true
        - name: clusterName
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: nacos-rest
    description: REST adapter for Nacos Open API.
    resources:
    - path: /v1/auth/login
      name: login
      operations:
      - method: POST
        name: login
        description: User login
        call: nacos.login
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/configs
      name: getconfig
      operations:
      - method: GET
        name: getconfig
        description: Get configuration
        call: nacos.getconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/configs
      name: publishconfig
      operations:
      - method: POST
        name: publishconfig
        description: Publish configuration
        call: nacos.publishconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/configs
      name: deleteconfig
      operations:
      - method: DELETE
        name: deleteconfig
        description: Delete configuration
        call: nacos.deleteconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/configs/listener
      name: listenconfig
      operations:
      - method: POST
        name: listenconfig
        description: Listen for configuration changes
        call: nacos.listenconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/history
      name: getconfighistory
      operations:
      - method: GET
        name: getconfighistory
        description: Get configuration history
        call: nacos.getconfighistory
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cs/history/previous
      name: getpreviousconfig
      operations:
      - method: GET
        name: getpreviousconfig
        description: Get previous configuration version
        call: nacos.getpreviousconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/instance
      name: registerinstance
      operations:
      - method: POST
        name: registerinstance
        description: Register an instance
        call: nacos.registerinstance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/instance
      name: deregisterinstance
      operations:
      - method: DELETE
        name: deregisterinstance
        description: Deregister an instance
        call: nacos.deregisterinstance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/instance
      name: updateinstance
      operations:
      - method: PUT
        name: updateinstance
        description: Update instance
        call: nacos.updateinstance
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/instance/list
      name: listinstances
      operations:
      - method: GET
        name: listinstances
        description: List instances
        call: nacos.listinstances
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/instance/beat
      name: sendbeat
      operations:
      - method: PUT
        name: sendbeat
        description: Send instance heartbeat
        call: nacos.sendbeat
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/service
      name: createservice
      operations:
      - method: POST
        name: createservice
        description: Create a service
        call: nacos.createservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/service
      name: deleteservice
      operations:
      - method: DELETE
        name: deleteservice
        description: Delete a service
        call: nacos.deleteservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/service
      name: updateservice
      operations:
      - method: PUT
        name: updateservice
        description: Update a service
        call: nacos.updateservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/service
      name: getservice
      operations:
      - method: GET
        name: getservice
        description: Get a service
        call: nacos.getservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/service/list
      name: listservices
      operations:
      - method: GET
        name: listservices
        description: List services
        call: nacos.listservices
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/operator/switches
      name: getswitches
      operations:
      - method: GET
        name: getswitches
        description: Get system switches
        call: nacos.getswitches
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/operator/switches
      name: updateswitches
      operations:
      - method: PUT
        name: updateswitches
        description: Update system switches
        call: nacos.updateswitches
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/operator/metrics
      name: getmetrics
      operations:
      - method: GET
        name: getmetrics
        description: Get server metrics
        call: nacos.getmetrics
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/operator/servers
      name: listservers
      operations:
      - method: GET
        name: listservers
        description: List cluster servers
        call: nacos.listservers
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/console/namespaces
      name: listnamespaces
      operations:
      - method: GET
        name: listnamespaces
        description: List namespaces
        call: nacos.listnamespaces
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/console/namespaces
      name: createnamespace
      operations:
      - method: POST
        name: createnamespace
        description: Create a namespace
        call: nacos.createnamespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/console/namespaces
      name: updatenamespace
      operations:
      - method: PUT
        name: updatenamespace
        description: Update a namespace
        call: nacos.updatenamespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/console/namespaces
      name: deletenamespace
      operations:
      - method: DELETE
        name: deletenamespace
        description: Delete a namespace
        call: nacos.deletenamespace
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ns/health/instance
      name: updateinstancehealth
      operations:
      - method: PUT
        name: updateinstancehealth
        description: Update instance health status
        call: nacos.updateinstancehealth
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: nacos-mcp
    transport: http
    description: MCP adapter for Nacos Open API for AI agent use.
    tools:
    - name: login
      description: User login
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.login
      outputParameters:
      - type: object
        mapping: $.
    - name: getconfig
      description: Get configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getconfig
      with:
        dataId: tools.dataId
        group: tools.group
        tenant: tools.tenant
      inputParameters:
      - name: dataId
        type: string
        description: Configuration ID
        required: true
      - name: group
        type: string
        description: Configuration group
        required: true
      - name: tenant
        type: string
        description: Tenant/namespace ID
      outputParameters:
      - type: object
        mapping: $.
    - name: publishconfig
      description: Publish configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.publishconfig
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteconfig
      description: Delete configuration
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: nacos.deleteconfig
      with:
        dataId: tools.dataId
        group: tools.group
        tenant: tools.tenant
      inputParameters:
      - name: dataId
        type: string
        description: dataId
        required: true
      - name: group
        type: string
        description: group
        required: true
      - name: tenant
        type: string
        description: tenant
      outputParameters:
      - type: object
        mapping: $.
    - name: listenconfig
      description: Listen for configuration changes
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.listenconfig
      outputParameters:
      - type: object
        mapping: $.
    - name: getconfighistory
      description: Get configuration history
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getconfighistory
      with:
        dataId: tools.dataId
        group: tools.group
        tenant: tools.tenant
        pageNo: tools.pageNo
        pageSize: tools.pageSize
      inputParameters:
      - name: dataId
        type: string
        description: dataId
        required: true
      - name: group
        type: string
        description: group
        required: true
      - name: tenant
        type: string
        description: tenant
      - name: pageNo
        type: integer
        description: pageNo
      - name: pageSize
        type: integer
        description: pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: getpreviousconfig
      description: Get previous configuration version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getpreviousconfig
      with:
        id: tools.id
      inputParameters:
      - name: id
        type: integer
        description: id
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: registerinstance
      description: Register an instance
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.registerinstance
      outputParameters:
      - type: object
        mapping: $.
    - name: deregisterinstance
      description: Deregister an instance
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: nacos.deregisterinstance
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
        ip: tools.ip
        port: tools.port
        clusterName: tools.clusterName
        ephemeral: tools.ephemeral
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      - name: ip
        type: string
        description: ip
        required: true
      - name: port
        type: integer
        description: port
        required: true
      - name: clusterName
        type: string
        description: clusterName
      - name: ephemeral
        type: boolean
        description: ephemeral
      outputParameters:
      - type: object
        mapping: $.
    - name: updateinstance
      description: Update instance
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.updateinstance
      outputParameters:
      - type: object
        mapping: $.
    - name: listinstances
      description: List instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.listinstances
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
        clusters: tools.clusters
        healthyOnly: tools.healthyOnly
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      - name: clusters
        type: string
        description: Comma-separated cluster names
      - name: healthyOnly
        type: boolean
        description: healthyOnly
      outputParameters:
      - type: object
        mapping: $.
    - name: sendbeat
      description: Send instance heartbeat
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.sendbeat
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
        beat: tools.beat
        ephemeral: tools.ephemeral
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      - name: beat
        type: string
        description: Beat info (JSON string)
        required: true
      - name: ephemeral
        type: boolean
        description: ephemeral
      outputParameters:
      - type: object
        mapping: $.
    - name: createservice
      description: Create a service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.createservice
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteservice
      description: Delete a service
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: nacos.deleteservice
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: updateservice
      description: Update a service
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.updateservice
      outputParameters:
      - type: object
        mapping: $.
    - name: getservice
      description: Get a service
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getservice
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: listservices
      description: List services
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.listservices
      with:
        pageNo: tools.pageNo
        pageSize: tools.pageSize
        groupName: tools.groupName
        namespaceId: tools.namespaceId
      inputParameters:
      - name: pageNo
        type: integer
        description: pageNo
        required: true
      - name: pageSize
        type: integer
        description: pageSize
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: getswitches
      description: Get system switches
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getswitches
      outputParameters:
      - type: object
        mapping: $.
    - name: updateswitches
      description: Update system switches
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.updateswitches
      with:
        entry: tools.entry
        value: tools.value
        debug: tools.debug
      inputParameters:
      - name: entry
        type: string
        description: Switch entry key
        required: true
      - name: value
        type: string
        description: Switch entry value
        required: true
      - name: debug
        type: boolean
        description: debug
      outputParameters:
      - type: object
        mapping: $.
    - name: getmetrics
      description: Get server metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.getmetrics
      outputParameters:
      - type: object
        mapping: $.
    - name: listservers
      description: List cluster servers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.listservers
      with:
        healthy: tools.healthy
      inputParameters:
      - name: healthy
        type: boolean
        description: Filter by health status
      outputParameters:
      - type: object
        mapping: $.
    - name: listnamespaces
      description: List namespaces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nacos.listnamespaces
      outputParameters:
      - type: object
        mapping: $.
    - name: createnamespace
      description: Create a namespace
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: nacos.createnamespace
      outputParameters:
      - type: object
        mapping: $.
    - name: updatenamespace
      description: Update a namespace
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.updatenamespace
      outputParameters:
      - type: object
        mapping: $.
    - name: deletenamespace
      description: Delete a namespace
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: nacos.deletenamespace
      with:
        namespaceId: tools.namespaceId
      inputParameters:
      - name: namespaceId
        type: string
        description: namespaceId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updateinstancehealth
      description: Update instance health status
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: nacos.updateinstancehealth
      with:
        serviceName: tools.serviceName
        groupName: tools.groupName
        namespaceId: tools.namespaceId
        ip: tools.ip
        port: tools.port
        healthy: tools.healthy
        clusterName: tools.clusterName
      inputParameters:
      - name: serviceName
        type: string
        description: serviceName
        required: true
      - name: groupName
        type: string
        description: groupName
      - name: namespaceId
        type: string
        description: namespaceId
      - name: ip
        type: string
        description: ip
        required: true
      - name: port
        type: integer
        description: port
        required: true
      - name: healthy
        type: boolean
        description: healthy
        required: true
      - name: clusterName
        type: string
        description: clusterName
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    NACOS_TOKEN: NACOS_TOKEN