Amazon SQS · Capability

Amazon SQS Amazon Simple Queue Service (SQS) API — Messages

Amazon SQS Amazon Simple Queue Service (SQS) API — Messages. 10 operations. Lead operation: Amazon Sqs Receive Messages From a Queue. Self-contained Naftiko capability covering one Amazon Sqs business surface.

Run with Naftiko Amazon SqsMessages

What You Can Do

GET
Receivemessage — Amazon Sqs Receive Messages From a Queue
/v1/{accountid}/{queuename}
POST
Sendmessage — Amazon Sqs Send a Message to a Queue
/v1/{accountid}/{queuename}
POST
Cancelmessagemovetask — Amazon Sqs Cancel a Message Move Task
/v1/{accountid}/{queuename}/cancel-message-move-task
POST
Changemessagevisibility — Amazon Sqs Change the Visibility Timeout of a Message
/v1/{accountid}/{queuename}/change-message-visibility
POST
Changemessagevisibilitybatch — Amazon Sqs Change the Visibility Timeout of Multiple Messages
/v1/{accountid}/{queuename}/change-message-visibility-batch
POST
Deletemessage — Amazon Sqs Delete a Message From a Queue
/v1/{accountid}/{queuename}/delete-message
POST
Deletemessagebatch — Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request
/v1/{accountid}/{queuename}/delete-message-batch
GET
Listmessagemovetasks — Amazon Sqs List Message Move Tasks
/v1/{accountid}/{queuename}/list-message-move-tasks
POST
Sendmessagebatch — Amazon Sqs Send up to 10 Messages to a Queue in a Single Request
/v1/{accountid}/{queuename}/send-message-batch
POST
Startmessagemovetask — Amazon Sqs Start an Asynchronous Task to Move Messages
/v1/{accountid}/{queuename}/start-message-move-task

MCP Tools

amazon-sqs-receive-messages-queue

Amazon Sqs Receive Messages From a Queue

read-only idempotent
amazon-sqs-send-message-queue

Amazon Sqs Send a Message to a Queue

amazon-sqs-cancel-message-move

Amazon Sqs Cancel a Message Move Task

amazon-sqs-change-visibility-timeout

Amazon Sqs Change the Visibility Timeout of a Message

amazon-sqs-change-visibility-timeout-2

Amazon Sqs Change the Visibility Timeout of Multiple Messages

amazon-sqs-delete-message-queue

Amazon Sqs Delete a Message From a Queue

amazon-sqs-delete-up-10

Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request

amazon-sqs-list-message-move

Amazon Sqs List Message Move Tasks

read-only idempotent
amazon-sqs-send-up-10

Amazon Sqs Send up to 10 Messages to a Queue in a Single Request

amazon-sqs-start-asynchronous-task

Amazon Sqs Start an Asynchronous Task to Move Messages

Capability Spec

amazon-sqs-messages.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Amazon SQS Amazon Simple Queue Service (SQS) API — Messages
  description: 'Amazon SQS Amazon Simple Queue Service (SQS) API — Messages. 10 operations. Lead operation: Amazon Sqs Receive
    Messages From a Queue. Self-contained Naftiko capability covering one Amazon Sqs business surface.'
  tags:
  - Amazon Sqs
  - Messages
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AMAZON_SQS_API_KEY: AMAZON_SQS_API_KEY
capability:
  consumes:
  - type: http
    namespace: amazon-sqs-messages
    baseUri: https://sqs.{region}.amazonaws.com
    description: Amazon SQS Amazon Simple Queue Service (SQS) API — Messages business capability. Self-contained, no shared
      references.
    resources:
    - name: accountId-queueName
      path: /{accountId}/{queueName}
      operations:
      - name: receivemessage
        method: GET
        description: Amazon Sqs Receive Messages From a Queue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Action
          in: query
          type: string
          required: true
        - name: MaxNumberOfMessages
          in: query
          type: integer
          description: The maximum number of messages to return. Amazon SQS never returns more messages than this value. Valid
            values are 1 to 10. Default is 1.
        - name: VisibilityTimeout
          in: query
          type: integer
          description: The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after
            being retrieved by a ReceiveMessage request.
        - name: WaitTimeSeconds
          in: query
          type: integer
          description: The duration (in seconds) for which the call waits for a message to arrive in the queue before returning.
            If a message is available, the call returns sooner tha
        - name: AttributeName.1
          in: query
          type: string
          description: A list of attributes that need to be returned along with each message.
        - name: MessageAttributeName.1
          in: query
          type: string
          description: The name of the message attribute to include. Use All or .* to return all message attributes.
        - name: MessageSystemAttributeName.1
          in: query
          type: string
          description: The name of the message system attribute to include.
        - name: ReceiveRequestAttemptId
          in: query
          type: string
          description: Used for FIFO queues. The token used for deduplication of ReceiveMessage calls.
      - name: sendmessage
        method: POST
        description: Amazon Sqs Send a Message to a Queue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-cancel-message-move-task
      path: /{accountId}/{queueName}/cancel-message-move-task
      operations:
      - name: cancelmessagemovetask
        method: POST
        description: Amazon Sqs Cancel a Message Move Task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-change-message-visibility
      path: /{accountId}/{queueName}/change-message-visibility
      operations:
      - name: changemessagevisibility
        method: POST
        description: Amazon Sqs Change the Visibility Timeout of a Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-change-message-visibility-batch
      path: /{accountId}/{queueName}/change-message-visibility-batch
      operations:
      - name: changemessagevisibilitybatch
        method: POST
        description: Amazon Sqs Change the Visibility Timeout of Multiple Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-delete-message
      path: /{accountId}/{queueName}/delete-message
      operations:
      - name: deletemessage
        method: POST
        description: Amazon Sqs Delete a Message From a Queue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-delete-message-batch
      path: /{accountId}/{queueName}/delete-message-batch
      operations:
      - name: deletemessagebatch
        method: POST
        description: Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-list-message-move-tasks
      path: /{accountId}/{queueName}/list-message-move-tasks
      operations:
      - name: listmessagemovetasks
        method: GET
        description: Amazon Sqs List Message Move Tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Action
          in: query
          type: string
          required: true
        - name: MaxResults
          in: query
          type: integer
          description: The maximum number of results to include in the response
    - name: accountId-queueName-send-message-batch
      path: /{accountId}/{queueName}/send-message-batch
      operations:
      - name: sendmessagebatch
        method: POST
        description: Amazon Sqs Send up to 10 Messages to a Queue in a Single Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: accountId-queueName-start-message-move-task
      path: /{accountId}/{queueName}/start-message-move-task
      operations:
      - name: startmessagemovetask
        method: POST
        description: Amazon Sqs Start an Asynchronous Task to Move Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.AMAZON_SQS_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: amazon-sqs-messages-rest
    port: 8080
    description: REST adapter for Amazon SQS Amazon Simple Queue Service (SQS) API — Messages. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/{accountid}/{queuename}
      name: accountid-queuename
      description: REST surface for accountId-queueName.
      operations:
      - method: GET
        name: receivemessage
        description: Amazon Sqs Receive Messages From a Queue
        call: amazon-sqs-messages.receivemessage
        with:
          Action: rest.Action
          MaxNumberOfMessages: rest.MaxNumberOfMessages
          VisibilityTimeout: rest.VisibilityTimeout
          WaitTimeSeconds: rest.WaitTimeSeconds
          AttributeName.1: rest.AttributeName.1
          MessageAttributeName.1: rest.MessageAttributeName.1
          MessageSystemAttributeName.1: rest.MessageSystemAttributeName.1
          ReceiveRequestAttemptId: rest.ReceiveRequestAttemptId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: sendmessage
        description: Amazon Sqs Send a Message to a Queue
        call: amazon-sqs-messages.sendmessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/cancel-message-move-task
      name: accountid-queuename-cancel-message-move-task
      description: REST surface for accountId-queueName-cancel-message-move-task.
      operations:
      - method: POST
        name: cancelmessagemovetask
        description: Amazon Sqs Cancel a Message Move Task
        call: amazon-sqs-messages.cancelmessagemovetask
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/change-message-visibility
      name: accountid-queuename-change-message-visibility
      description: REST surface for accountId-queueName-change-message-visibility.
      operations:
      - method: POST
        name: changemessagevisibility
        description: Amazon Sqs Change the Visibility Timeout of a Message
        call: amazon-sqs-messages.changemessagevisibility
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/change-message-visibility-batch
      name: accountid-queuename-change-message-visibility-batch
      description: REST surface for accountId-queueName-change-message-visibility-batch.
      operations:
      - method: POST
        name: changemessagevisibilitybatch
        description: Amazon Sqs Change the Visibility Timeout of Multiple Messages
        call: amazon-sqs-messages.changemessagevisibilitybatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/delete-message
      name: accountid-queuename-delete-message
      description: REST surface for accountId-queueName-delete-message.
      operations:
      - method: POST
        name: deletemessage
        description: Amazon Sqs Delete a Message From a Queue
        call: amazon-sqs-messages.deletemessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/delete-message-batch
      name: accountid-queuename-delete-message-batch
      description: REST surface for accountId-queueName-delete-message-batch.
      operations:
      - method: POST
        name: deletemessagebatch
        description: Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request
        call: amazon-sqs-messages.deletemessagebatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/list-message-move-tasks
      name: accountid-queuename-list-message-move-tasks
      description: REST surface for accountId-queueName-list-message-move-tasks.
      operations:
      - method: GET
        name: listmessagemovetasks
        description: Amazon Sqs List Message Move Tasks
        call: amazon-sqs-messages.listmessagemovetasks
        with:
          Action: rest.Action
          MaxResults: rest.MaxResults
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/send-message-batch
      name: accountid-queuename-send-message-batch
      description: REST surface for accountId-queueName-send-message-batch.
      operations:
      - method: POST
        name: sendmessagebatch
        description: Amazon Sqs Send up to 10 Messages to a Queue in a Single Request
        call: amazon-sqs-messages.sendmessagebatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{accountid}/{queuename}/start-message-move-task
      name: accountid-queuename-start-message-move-task
      description: REST surface for accountId-queueName-start-message-move-task.
      operations:
      - method: POST
        name: startmessagemovetask
        description: Amazon Sqs Start an Asynchronous Task to Move Messages
        call: amazon-sqs-messages.startmessagemovetask
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: amazon-sqs-messages-mcp
    port: 9090
    transport: http
    description: MCP adapter for Amazon SQS Amazon Simple Queue Service (SQS) API — Messages. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: amazon-sqs-receive-messages-queue
      description: Amazon Sqs Receive Messages From a Queue
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-sqs-messages.receivemessage
      with:
        Action: tools.Action
        MaxNumberOfMessages: tools.MaxNumberOfMessages
        VisibilityTimeout: tools.VisibilityTimeout
        WaitTimeSeconds: tools.WaitTimeSeconds
        AttributeName.1: tools.AttributeName.1
        MessageAttributeName.1: tools.MessageAttributeName.1
        MessageSystemAttributeName.1: tools.MessageSystemAttributeName.1
        ReceiveRequestAttemptId: tools.ReceiveRequestAttemptId
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-send-message-queue
      description: Amazon Sqs Send a Message to a Queue
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.sendmessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-cancel-message-move
      description: Amazon Sqs Cancel a Message Move Task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.cancelmessagemovetask
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-change-visibility-timeout
      description: Amazon Sqs Change the Visibility Timeout of a Message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.changemessagevisibility
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-change-visibility-timeout-2
      description: Amazon Sqs Change the Visibility Timeout of Multiple Messages
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.changemessagevisibilitybatch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-delete-message-queue
      description: Amazon Sqs Delete a Message From a Queue
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.deletemessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-delete-up-10
      description: Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.deletemessagebatch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-list-message-move
      description: Amazon Sqs List Message Move Tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: amazon-sqs-messages.listmessagemovetasks
      with:
        Action: tools.Action
        MaxResults: tools.MaxResults
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-send-up-10
      description: Amazon Sqs Send up to 10 Messages to a Queue in a Single Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.sendmessagebatch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: amazon-sqs-start-asynchronous-task
      description: Amazon Sqs Start an Asynchronous Task to Move Messages
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: amazon-sqs-messages.startmessagemovetask
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.