Amazon EC2 · Capability

Amazon EC2 API — Instances

Amazon EC2 API — Instances. 7 operations. Lead operation: Amazon EC2 Describe Instance Status. Self-contained Naftiko capability covering one Amazon Ec2 business surface.

Run with Naftiko Amazon Ec2Instances

What You Can Do

GET
Describeinstancestatus — Amazon EC2 Describe Instance Status
/v1/action-describeinstancestatus
GET
Describeinstances — Amazon EC2 Describe EC2 Instances
/v1/action-describeinstances
GET
Rebootinstances — Amazon EC2 Reboot Instances
/v1/action-rebootinstances
GET
Runinstances — Amazon EC2 Launch EC2 Instances
/v1/action-runinstances
GET
Startinstances — Amazon EC2 Start Stopped Instances
/v1/action-startinstances
GET
Stopinstances — Amazon EC2 Stop Running Instances
/v1/action-stopinstances
GET
Terminateinstances — Amazon EC2 Terminate Instances
/v1/action-terminateinstances

MCP Tools

amazon-ec2-describe-instance-status

Amazon EC2 Describe Instance Status

read-only idempotent
amazon-ec2-describe-ec2-instances

Amazon EC2 Describe EC2 Instances

read-only idempotent
amazon-ec2-reboot-instances

Amazon EC2 Reboot Instances

read-only idempotent
amazon-ec2-launch-ec2-instances

Amazon EC2 Launch EC2 Instances

read-only idempotent
amazon-ec2-start-stopped-instances

Amazon EC2 Start Stopped Instances

read-only idempotent
amazon-ec2-stop-running-instances

Amazon EC2 Stop Running Instances

read-only idempotent
amazon-ec2-terminate-instances

Amazon EC2 Terminate Instances

read-only idempotent

Capability Spec

amazon-ec2-instances.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon EC2 API — Instances
  description: 'Amazon EC2 API — Instances. 7 operations. Lead operation: Amazon EC2 Describe Instance Status. Self-contained
    Naftiko capability covering one Amazon Ec2 business surface.'
  tags:
  - Amazon Ec2
  - Instances
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_EC2_API_KEY: AMAZON_EC2_API_KEY
capability:
  consumes:
  - type: http
    namespace: amazon-ec2-instances
    baseUri: https://ec2.{region}.amazonaws.com
    description: Amazon EC2 API — Instances business capability. Self-contained, no shared references.
    resources:
    - name: ?Action=DescribeInstanceStatus
      path: /?Action=DescribeInstanceStatus
      operations:
      - name: describeinstancestatus
        method: GET
        description: Amazon EC2 Describe Instance Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The instance IDs to describe
        - name: IncludeAllInstances
          in: query
          type: boolean
          description: Include all instances regardless of running state
    - name: ?Action=DescribeInstances
      path: /?Action=DescribeInstances
      operations:
      - name: describeinstances
        method: GET
        description: Amazon EC2 Describe EC2 Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The instance IDs to describe
        - name: Filter
          in: query
          type: array
          description: Filters to apply to the results
        - name: MaxResults
          in: query
          type: integer
          description: Maximum number of results to return
        - name: NextToken
          in: query
          type: string
          description: Token for the next page of results
    - name: ?Action=RebootInstances
      path: /?Action=RebootInstances
      operations:
      - name: rebootinstances
        method: GET
        description: Amazon EC2 Reboot Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The IDs of the instances to reboot
          required: true
    - name: ?Action=RunInstances
      path: /?Action=RunInstances
      operations:
      - name: runinstances
        method: GET
        description: Amazon EC2 Launch EC2 Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: MinCount
          in: query
          type: integer
          description: The minimum number of instances to launch
          required: true
        - name: MaxCount
          in: query
          type: integer
          description: The maximum number of instances to launch
          required: true
        - name: KeyName
          in: query
          type: string
          description: The name of the key pair to use for SSH access
        - name: SecurityGroupId
          in: query
          type: array
          description: The IDs of the security groups
        - name: SubnetId
          in: query
          type: string
          description: The ID of the subnet to launch the instance into
    - name: ?Action=StartInstances
      path: /?Action=StartInstances
      operations:
      - name: startinstances
        method: GET
        description: Amazon EC2 Start Stopped Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The IDs of the instances to start
          required: true
    - name: ?Action=StopInstances
      path: /?Action=StopInstances
      operations:
      - name: stopinstances
        method: GET
        description: Amazon EC2 Stop Running Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The IDs of the instances to stop
          required: true
        - name: Force
          in: query
          type: boolean
          description: Forces the instances to stop without graceful shutdown
    - name: ?Action=TerminateInstances
      path: /?Action=TerminateInstances
      operations:
      - name: terminateinstances
        method: GET
        description: Amazon EC2 Terminate Instances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: InstanceId
          in: query
          type: array
          description: The IDs of the instances to terminate
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_EC2_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: amazon-ec2-instances-rest
    port: 8080
    description: REST adapter for Amazon EC2 API — Instances. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/action-describeinstancestatus
      name: action-describeinstancestatus
      description: REST surface for ?Action=DescribeInstanceStatus.
      operations:
      - method: GET
        name: describeinstancestatus
        description: Amazon EC2 Describe Instance Status
        call: amazon-ec2-instances.describeinstancestatus
        with:
          InstanceId: rest.InstanceId
          IncludeAllInstances: rest.IncludeAllInstances
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-describeinstances
      name: action-describeinstances
      description: REST surface for ?Action=DescribeInstances.
      operations:
      - method: GET
        name: describeinstances
        description: Amazon EC2 Describe EC2 Instances
        call: amazon-ec2-instances.describeinstances
        with:
          InstanceId: rest.InstanceId
          Filter: rest.Filter
          MaxResults: rest.MaxResults
          NextToken: rest.NextToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-rebootinstances
      name: action-rebootinstances
      description: REST surface for ?Action=RebootInstances.
      operations:
      - method: GET
        name: rebootinstances
        description: Amazon EC2 Reboot Instances
        call: amazon-ec2-instances.rebootinstances
        with:
          InstanceId: rest.InstanceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-runinstances
      name: action-runinstances
      description: REST surface for ?Action=RunInstances.
      operations:
      - method: GET
        name: runinstances
        description: Amazon EC2 Launch EC2 Instances
        call: amazon-ec2-instances.runinstances
        with:
          MinCount: rest.MinCount
          MaxCount: rest.MaxCount
          KeyName: rest.KeyName
          SecurityGroupId: rest.SecurityGroupId
          SubnetId: rest.SubnetId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-startinstances
      name: action-startinstances
      description: REST surface for ?Action=StartInstances.
      operations:
      - method: GET
        name: startinstances
        description: Amazon EC2 Start Stopped Instances
        call: amazon-ec2-instances.startinstances
        with:
          InstanceId: rest.InstanceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-stopinstances
      name: action-stopinstances
      description: REST surface for ?Action=StopInstances.
      operations:
      - method: GET
        name: stopinstances
        description: Amazon EC2 Stop Running Instances
        call: amazon-ec2-instances.stopinstances
        with:
          InstanceId: rest.InstanceId
          Force: rest.Force
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/action-terminateinstances
      name: action-terminateinstances
      description: REST surface for ?Action=TerminateInstances.
      operations:
      - method: GET
        name: terminateinstances
        description: Amazon EC2 Terminate Instances
        call: amazon-ec2-instances.terminateinstances
        with:
          InstanceId: rest.InstanceId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-ec2-instances-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon EC2 API — Instances. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: amazon-ec2-describe-instance-status
      description: Amazon EC2 Describe Instance Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.describeinstancestatus
      with:
        InstanceId: tools.InstanceId
        IncludeAllInstances: tools.IncludeAllInstances
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-describe-ec2-instances
      description: Amazon EC2 Describe EC2 Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.describeinstances
      with:
        InstanceId: tools.InstanceId
        Filter: tools.Filter
        MaxResults: tools.MaxResults
        NextToken: tools.NextToken
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-reboot-instances
      description: Amazon EC2 Reboot Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.rebootinstances
      with:
        InstanceId: tools.InstanceId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-launch-ec2-instances
      description: Amazon EC2 Launch EC2 Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.runinstances
      with:
        MinCount: tools.MinCount
        MaxCount: tools.MaxCount
        KeyName: tools.KeyName
        SecurityGroupId: tools.SecurityGroupId
        SubnetId: tools.SubnetId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-start-stopped-instances
      description: Amazon EC2 Start Stopped Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.startinstances
      with:
        InstanceId: tools.InstanceId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-stop-running-instances
      description: Amazon EC2 Stop Running Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.stopinstances
      with:
        InstanceId: tools.InstanceId
        Force: tools.Force
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-ec2-terminate-instances
      description: Amazon EC2 Terminate Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-ec2-instances.terminateinstances
      with:
        InstanceId: tools.InstanceId
      outputParameters:
      - type: object
        mapping: $.