Appium · Capability

Appium Server API — Appium Device

Appium Server API — Appium Device. 8 operations. Lead operation: Appium Activate App. Self-contained Naftiko capability covering one Appium business surface.

Run with Naftiko AppiumAppium Device

What You Can Do

POST
Activateapp — Appium Activate App
/v1/session/{sessionid}/appium/device/activate-app
POST
Installapp — Appium Install App
/v1/session/{sessionid}/appium/device/install-app
GET
Iskeyboardshown — Appium Is Keyboard Shown
/v1/session/{sessionid}/appium/device/is-keyboard-shown
POST
Removeapp — Appium Remove App
/v1/session/{sessionid}/appium/device/remove-app
GET
Getdevicetime — Appium Get Device Time
/v1/session/{sessionid}/appium/device/system-time
POST
Terminateapp — Appium Terminate App
/v1/session/{sessionid}/appium/device/terminate-app
GET
Getorientation — Appium Get Orientation
/v1/session/{sessionid}/orientation
POST
Setorientation — Appium Set Orientation
/v1/session/{sessionid}/orientation

MCP Tools

appium-activate-app

Appium Activate App

appium-install-app

Appium Install App

appium-is-keyboard-shown

Appium Is Keyboard Shown

read-only idempotent
appium-remove-app

Appium Remove App

appium-get-device-time

Appium Get Device Time

read-only idempotent
appium-terminate-app

Appium Terminate App

appium-get-orientation

Appium Get Orientation

read-only idempotent
appium-set-orientation

Appium Set Orientation

Capability Spec

server-appium-device.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Appium Server API — Appium Device
  description: 'Appium Server API — Appium Device. 8 operations. Lead operation: Appium Activate App. Self-contained Naftiko
    capability covering one Appium business surface.'
  tags:
  - Appium
  - Appium Device
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    APPIUM_API_KEY: APPIUM_API_KEY
capability:
  consumes:
  - type: http
    namespace: server-appium-device
    baseUri: http://localhost:4723
    description: Appium Server API — Appium Device business capability. Self-contained, no shared references.
    resources:
    - name: session-sessionId-appium-device-activate_app
      path: /session/{sessionId}/appium/device/activate_app
      operations:
      - name: activateapp
        method: POST
        description: Appium Activate App
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: session-sessionId-appium-device-install_app
      path: /session/{sessionId}/appium/device/install_app
      operations:
      - name: installapp
        method: POST
        description: Appium Install App
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: session-sessionId-appium-device-is_keyboard_shown
      path: /session/{sessionId}/appium/device/is_keyboard_shown
      operations:
      - name: iskeyboardshown
        method: GET
        description: Appium Is Keyboard Shown
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: session-sessionId-appium-device-remove_app
      path: /session/{sessionId}/appium/device/remove_app
      operations:
      - name: removeapp
        method: POST
        description: Appium Remove App
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: session-sessionId-appium-device-system_time
      path: /session/{sessionId}/appium/device/system_time
      operations:
      - name: getdevicetime
        method: GET
        description: Appium Get Device Time
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: session-sessionId-appium-device-terminate_app
      path: /session/{sessionId}/appium/device/terminate_app
      operations:
      - name: terminateapp
        method: POST
        description: Appium Terminate App
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: session-sessionId-orientation
      path: /session/{sessionId}/orientation
      operations:
      - name: getorientation
        method: GET
        description: Appium Get Orientation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setorientation
        method: POST
        description: Appium Set Orientation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: server-appium-device-rest
    port: 8080
    description: REST adapter for Appium Server API — Appium Device. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/session/{sessionid}/appium/device/activate-app
      name: session-sessionid-appium-device-activate-app
      description: REST surface for session-sessionId-appium-device-activate_app.
      operations:
      - method: POST
        name: activateapp
        description: Appium Activate App
        call: server-appium-device.activateapp
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/appium/device/install-app
      name: session-sessionid-appium-device-install-app
      description: REST surface for session-sessionId-appium-device-install_app.
      operations:
      - method: POST
        name: installapp
        description: Appium Install App
        call: server-appium-device.installapp
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/appium/device/is-keyboard-shown
      name: session-sessionid-appium-device-is-keyboard-shown
      description: REST surface for session-sessionId-appium-device-is_keyboard_shown.
      operations:
      - method: GET
        name: iskeyboardshown
        description: Appium Is Keyboard Shown
        call: server-appium-device.iskeyboardshown
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/appium/device/remove-app
      name: session-sessionid-appium-device-remove-app
      description: REST surface for session-sessionId-appium-device-remove_app.
      operations:
      - method: POST
        name: removeapp
        description: Appium Remove App
        call: server-appium-device.removeapp
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/appium/device/system-time
      name: session-sessionid-appium-device-system-time
      description: REST surface for session-sessionId-appium-device-system_time.
      operations:
      - method: GET
        name: getdevicetime
        description: Appium Get Device Time
        call: server-appium-device.getdevicetime
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/appium/device/terminate-app
      name: session-sessionid-appium-device-terminate-app
      description: REST surface for session-sessionId-appium-device-terminate_app.
      operations:
      - method: POST
        name: terminateapp
        description: Appium Terminate App
        call: server-appium-device.terminateapp
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/session/{sessionid}/orientation
      name: session-sessionid-orientation
      description: REST surface for session-sessionId-orientation.
      operations:
      - method: GET
        name: getorientation
        description: Appium Get Orientation
        call: server-appium-device.getorientation
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: setorientation
        description: Appium Set Orientation
        call: server-appium-device.setorientation
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: server-appium-device-mcp
    port: 9090
    transport: http
    description: MCP adapter for Appium Server API — Appium Device. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: appium-activate-app
      description: Appium Activate App
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: server-appium-device.activateapp
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-install-app
      description: Appium Install App
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: server-appium-device.installapp
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-is-keyboard-shown
      description: Appium Is Keyboard Shown
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: server-appium-device.iskeyboardshown
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-remove-app
      description: Appium Remove App
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: server-appium-device.removeapp
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-get-device-time
      description: Appium Get Device Time
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: server-appium-device.getdevicetime
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-terminate-app
      description: Appium Terminate App
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: server-appium-device.terminateapp
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-get-orientation
      description: Appium Get Orientation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: server-appium-device.getorientation
      outputParameters:
      - type: object
        mapping: $.
    - name: appium-set-orientation
      description: Appium Set Orientation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: server-appium-device.setorientation
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.