Arcade · Capability

Arcade Engine — Tools

Tools surface — 9 operations. Lead operation: List Formatted Static Tools. Self-contained Naftiko capability covering one Arcade business surface.

Run with Naftiko ArcadeEngineTools

What You Can Do

GET
Tools list formatted — List Formatted Static Tools
/v1/formatted-tools
GET
Tool spec formatted — Get Formatted Tool Specification
/v1/formatted-tools/{name}
GET
Tool scheduled list — List Scheduled Tool Executions
/v1/scheduled-tools
GET
Tool scheduled get — Get Scheduled Tool Execution Details
/v1/scheduled-tools/{id}
GET
Tools list static — List Static Tools
/v1/tools
POST
Tool authorize — Authorize Tool
/v1/tools/authorize
POST
Tool execute — Execute Tool
/v1/tools/execute
POST
Tool requirements — Check Tool Requirements
/v1/tools/requirements
GET
Tool spec — Get Arcade Tool Specification
/v1/tools/{name}

MCP Tools

list-formatted-static-tools

List Formatted Static Tools

read-only idempotent
get-formatted-tool-specification

Get Formatted Tool Specification

read-only idempotent
list-scheduled-tool-executions

List Scheduled Tool Executions

read-only idempotent
get-scheduled-tool-execution-details

Get Scheduled Tool Execution Details

read-only idempotent
list-static-tools

List Static Tools

read-only idempotent
authorize-tool

Authorize Tool

execute-tool

Execute Tool

check-tool-requirements

Check Tool Requirements

read-only
get-arcade-tool-specification

Get Arcade Tool Specification

read-only idempotent

Capability Spec

engine-tools.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Arcade Engine — Tools
  description: 'Tools surface — 9 operations. Lead operation: List Formatted Static Tools. Self-contained Naftiko capability covering one Arcade business surface.'
  tags:
    - Arcade
    - Engine
    - Tools
  created: '2026-05-22'
  modified: '2026-05-22'
binds:
  - namespace: env
    keys:
      ARCADE_API_KEY: ARCADE_API_KEY
capability:
  consumes:
    - type: http
      namespace: engine-tools
      baseUri: https://api.arcade.dev
      description: Arcade Engine — Tools business capability. Self-contained, no shared references.
      authentication:
        type: bearer
        token: '{{env.ARCADE_API_KEY}}'
      resources:
        - name: v1-formatted-tools
          path: /v1/formatted_tools
          operations:
            - name: tools-list-formatted
              method: GET
              description: List Formatted Static Tools
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: toolkit
                  in: query
                  type: string
                  required: false
                  description: Toolkit name
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: 'Number of items to return (default: 25, max: 100)'
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: 'Offset from the start of the list (default: 0)'
                - name: format
                  in: query
                  type: string
                  required: false
                  description: Provider format
                - name: user_id
                  in: query
                  type: string
                  required: false
                  description: User ID
                - name: include_all_versions
                  in: query
                  type: boolean
                  required: false
                  description: Include all versions of each tool
                - name: filter
                  in: query
                  type: string
                  required: false
                  description: 'JSON metadata filter. Array fields (service_domains, operations): shorthand array or object with any_of/all_of/none_of operators (case-insensitive). Boolean fields: read_only, destructive, idempotent, open_world. Extras: case-sensitive key-value subset match.'
        - name: v1-formatted-tools-name
          path: /v1/formatted_tools/{name}
          operations:
            - name: tool-spec-formatted
              method: GET
              description: Get Formatted Tool Specification
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: name
                  in: path
                  type: string
                  required: true
                  description: Tool name
                - name: format
                  in: query
                  type: string
                  required: false
                  description: Provider format
                - name: user_id
                  in: query
                  type: string
                  required: false
                  description: User ID
        - name: v1-scheduled-tools
          path: /v1/scheduled_tools
          operations:
            - name: tool-scheduled-list
              method: GET
              description: List Scheduled Tool Executions
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: 'Number of items to return (default: 25, max: 100)'
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: 'Offset from the start of the list (default: 0)'
        - name: v1-scheduled-tools-id
          path: /v1/scheduled_tools/{id}
          operations:
            - name: tool-scheduled-get
              method: GET
              description: Get Scheduled Tool Execution Details
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
                  description: Scheduled execution ID
        - name: v1-tools
          path: /v1/tools
          operations:
            - name: tools-list-static
              method: GET
              description: List Static Tools
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: toolkit
                  in: query
                  type: string
                  required: false
                  description: Toolkit name
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: 'Number of items to return (default: 25, max: 100)'
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: 'Offset from the start of the list (default: 0)'
                - name: include_format
                  in: query
                  type: array
                  required: false
                  description: Comma separated tool formats that will be included in the response.
                - name: user_id
                  in: query
                  type: string
                  required: false
                  description: User ID
                - name: include_all_versions
                  in: query
                  type: boolean
                  required: false
                  description: Include all versions of each tool
                - name: filter
                  in: query
                  type: string
                  required: false
                  description: 'JSON metadata filter. Array fields (service_domains, operations): shorthand array or object with any_of/all_of/none_of operators (case-insensitive). Boolean fields: read_only, destructive, idempotent, open_world. Extras: case-sensitive key-value subset match.'
        - name: v1-tools-authorize
          path: /v1/tools/authorize
          operations:
            - name: tool-authorize
              method: POST
              description: Authorize Tool
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body.
        - name: v1-tools-execute
          path: /v1/tools/execute
          operations:
            - name: tool-execute
              method: POST
              description: Execute Tool
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body.
        - name: v1-tools-requirements
          path: /v1/tools/requirements
          operations:
            - name: tool-requirements
              method: POST
              description: Check Tool Requirements
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body.
        - name: v1-tools-name
          path: /v1/tools/{name}
          operations:
            - name: tool-spec
              method: GET
              description: Get Arcade Tool Specification
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: name
                  in: path
                  type: string
                  required: true
                  description: Tool name
                - name: include_format
                  in: query
                  type: array
                  required: false
                  description: Comma separated tool formats that will be included in the response.
                - name: user_id
                  in: query
                  type: string
                  required: false
                  description: User ID
  exposes:
    - type: rest
      namespace: engine-tools-rest
      port: 8080
      description: REST adapter for Arcade Engine — Tools. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/formatted-tools
          name: v1-formatted-tools
          description: REST surface for /v1/formatted-tools.
          operations:
            - method: GET
              name: tools-list-formatted
              description: List Formatted Static Tools
              call: engine-tools.tools-list-formatted
              with:
                toolkit: rest.toolkit
                limit: rest.limit
                offset: rest.offset
                format: rest.format
                user_id: rest.user_id
                include_all_versions: rest.include_all_versions
                filter: rest.filter
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/formatted-tools/{name}
          name: v1-formatted-tools-name
          description: REST surface for /v1/formatted-tools/{name}.
          operations:
            - method: GET
              name: tool-spec-formatted
              description: Get Formatted Tool Specification
              call: engine-tools.tool-spec-formatted
              with:
                name: rest.name
                format: rest.format
                user_id: rest.user_id
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/scheduled-tools
          name: v1-scheduled-tools
          description: REST surface for /v1/scheduled-tools.
          operations:
            - method: GET
              name: tool-scheduled-list
              description: List Scheduled Tool Executions
              call: engine-tools.tool-scheduled-list
              with:
                limit: rest.limit
                offset: rest.offset
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/scheduled-tools/{id}
          name: v1-scheduled-tools-id
          description: REST surface for /v1/scheduled-tools/{id}.
          operations:
            - method: GET
              name: tool-scheduled-get
              description: Get Scheduled Tool Execution Details
              call: engine-tools.tool-scheduled-get
              with:
                id: rest.id
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/tools
          name: v1-tools
          description: REST surface for /v1/tools.
          operations:
            - method: GET
              name: tools-list-static
              description: List Static Tools
              call: engine-tools.tools-list-static
              with:
                toolkit: rest.toolkit
                limit: rest.limit
                offset: rest.offset
                include_format: rest.include_format
                user_id: rest.user_id
                include_all_versions: rest.include_all_versions
                filter: rest.filter
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/tools/authorize
          name: v1-tools-authorize
          description: REST surface for /v1/tools/authorize.
          operations:
            - method: POST
              name: tool-authorize
              description: Authorize Tool
              call: engine-tools.tool-authorize
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/tools/execute
          name: v1-tools-execute
          description: REST surface for /v1/tools/execute.
          operations:
            - method: POST
              name: tool-execute
              description: Execute Tool
              call: engine-tools.tool-execute
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/tools/requirements
          name: v1-tools-requirements
          description: REST surface for /v1/tools/requirements.
          operations:
            - method: POST
              name: tool-requirements
              description: Check Tool Requirements
              call: engine-tools.tool-requirements
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/tools/{name}
          name: v1-tools-name
          description: REST surface for /v1/tools/{name}.
          operations:
            - method: GET
              name: tool-spec
              description: Get Arcade Tool Specification
              call: engine-tools.tool-spec
              with:
                name: rest.name
                include_format: rest.include_format
                user_id: rest.user_id
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: engine-tools-mcp
      port: 9090
      transport: http
      description: MCP adapter for Arcade Engine — Tools. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: list-formatted-static-tools
          description: List Formatted Static Tools
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tools-list-formatted
          with:
            toolkit: tools.toolkit
            limit: tools.limit
            offset: tools.offset
            format: tools.format
            user_id: tools.user_id
            include_all_versions: tools.include_all_versions
            filter: tools.filter
          outputParameters:
            - type: object
              mapping: $.
        - name: get-formatted-tool-specification
          description: Get Formatted Tool Specification
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tool-spec-formatted
          with:
            name: tools.name
            format: tools.format
            user_id: tools.user_id
          outputParameters:
            - type: object
              mapping: $.
        - name: list-scheduled-tool-executions
          description: List Scheduled Tool Executions
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tool-scheduled-list
          with:
            limit: tools.limit
            offset: tools.offset
          outputParameters:
            - type: object
              mapping: $.
        - name: get-scheduled-tool-execution-details
          description: Get Scheduled Tool Execution Details
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tool-scheduled-get
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: list-static-tools
          description: List Static Tools
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tools-list-static
          with:
            toolkit: tools.toolkit
            limit: tools.limit
            offset: tools.offset
            include_format: tools.include_format
            user_id: tools.user_id
            include_all_versions: tools.include_all_versions
            filter: tools.filter
          outputParameters:
            - type: object
              mapping: $.
        - name: authorize-tool
          description: Authorize Tool
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: engine-tools.tool-authorize
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: execute-tool
          description: Execute Tool
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: engine-tools.tool-execute
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: check-tool-requirements
          description: Check Tool Requirements
          hints:
            readOnly: true
            destructive: false
            idempotent: false
          call: engine-tools.tool-requirements
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: get-arcade-tool-specification
          description: Get Arcade Tool Specification
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: engine-tools.tool-spec
          with:
            name: tools.name
            include_format: tools.include_format
            user_id: tools.user_id
          outputParameters:
            - type: object
              mapping: $.