EVE Online · Capability

EVE Online ESI — Mail

ESI — Mail. 9 operations. Lead operation: EVE Online Return Mail Headers. Self-contained Naftiko capability covering one EVE Online business surface.

Run with Naftiko EVE OnlineESIMail

What You Can Do

GET
Get_characters_character_id_mail — EVE Online Return Mail Headers
/v1/characters/{character-id}/mail
POST
Post_characters_character_id_mail — EVE Online Send a New Mail
/v1/characters/{character-id}/mail
GET
Get_characters_character_id_mail_labels — EVE Online Get Mail Labels and Unread Counts
/v1/characters/{character-id}/mail/labels
POST
Post_characters_character_id_mail_labels — EVE Online Create a Mail Label
/v1/characters/{character-id}/mail/labels
DELETE
Delete_characters_character_id_mail_labels_label_id — EVE Online Delete a Mail Label
/v1/characters/{character-id}/mail/labels/{label-id}
GET
Get_characters_character_id_mail_lists — EVE Online Return Mailing List Subscriptions
/v1/characters/{character-id}/mail/lists
DELETE
Delete_characters_character_id_mail_mail_id — EVE Online Delete a Mail
/v1/characters/{character-id}/mail/{mail-id}
GET
Get_characters_character_id_mail_mail_id — EVE Online Return a Mail
/v1/characters/{character-id}/mail/{mail-id}
PUT
Put_characters_character_id_mail_mail_id — EVE Online Update Metadata About a Mail
/v1/characters/{character-id}/mail/{mail-id}

MCP Tools

return-mail-headers

EVE Online Return Mail Headers

read-only idempotent
send-new-mail

EVE Online Send a New Mail

get-mail-labels-unread-counts

EVE Online Get Mail Labels and Unread Counts

read-only idempotent
create-mail-label

EVE Online Create a Mail Label

delete-mail-label

EVE Online Delete a Mail Label

idempotent
return-mailing-list-subscriptions

EVE Online Return Mailing List Subscriptions

read-only idempotent
delete-mail

EVE Online Delete a Mail

idempotent
return-mail

EVE Online Return a Mail

read-only idempotent
update-metadata-about-mail

EVE Online Update Metadata About a Mail

idempotent

Capability Spec

eve-online-mail.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: EVE Online ESI — Mail
  description: 'ESI — Mail. 9 operations. Lead operation: EVE Online Return Mail Headers. Self-contained Naftiko capability covering one EVE Online business surface.'
  tags:
    - EVE Online
    - ESI
    - Mail
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys:
      EVE_ONLINE_ACCESS_TOKEN: EVE_ONLINE_ACCESS_TOKEN
capability:
  consumes:
    - type: http
      namespace: eve-online-mail
      baseUri: https://esi.evetech.net/latest
      description: EVE Online ESI — Mail business capability. Self-contained, no shared references.
      authentication:
        type: bearer
        token: '{{env.EVE_ONLINE_ACCESS_TOKEN}}'
      resources:
        - name: characters-character-id-mail
          path: /characters/{character_id}/mail/
          operations:
            - name: get_characters_character_id_mail
              method: GET
              description: EVE Online Return Mail Headers
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: labels
                  in: query
                  type: array
                  required: false
                  description: Fetch only mails that match one or more of the given labels
                - name: last_mail_id
                  in: query
                  type: integer
                  required: false
                  description: List only mail with an ID lower than the given ID, if present
            - name: post_characters_character_id_mail
              method: POST
              description: EVE Online Send a New Mail
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body payload.
        - name: characters-character-id-mail-labels
          path: /characters/{character_id}/mail/labels/
          operations:
            - name: get_characters_character_id_mail_labels
              method: GET
              description: EVE Online Get Mail Labels and Unread Counts
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: post_characters_character_id_mail_labels
              method: POST
              description: EVE Online Create a Mail Label
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body payload.
        - name: characters-character-id-mail-labels-label-id
          path: /characters/{character_id}/mail/labels/{label_id}/
          operations:
            - name: delete_characters_character_id_mail_labels_label_id
              method: DELETE
              description: EVE Online Delete a Mail Label
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: label_id
                  in: path
                  type: integer
                  required: true
                  description: An EVE label id
        - name: characters-character-id-mail-lists
          path: /characters/{character_id}/mail/lists/
          operations:
            - name: get_characters_character_id_mail_lists
              method: GET
              description: EVE Online Return Mailing List Subscriptions
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: characters-character-id-mail-mail-id
          path: /characters/{character_id}/mail/{mail_id}/
          operations:
            - name: delete_characters_character_id_mail_mail_id
              method: DELETE
              description: EVE Online Delete a Mail
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: mail_id
                  in: path
                  type: integer
                  required: true
                  description: An EVE mail ID
            - name: get_characters_character_id_mail_mail_id
              method: GET
              description: EVE Online Return a Mail
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: mail_id
                  in: path
                  type: integer
                  required: true
                  description: An EVE mail ID
            - name: put_characters_character_id_mail_mail_id
              method: PUT
              description: EVE Online Update Metadata About a Mail
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: mail_id
                  in: path
                  type: integer
                  required: true
                  description: An EVE mail ID
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body payload.
  exposes:
    - type: rest
      namespace: eve-online-mail-rest
      port: 8080
      description: REST adapter for EVE Online ESI — Mail. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/characters/{character-id}/mail
          name: characters-character-id-mail
          description: REST surface for /characters/{character_id}/mail/.
          operations:
            - method: GET
              name: get_characters_character_id_mail
              description: EVE Online Return Mail Headers
              call: eve-online-mail.get_characters_character_id_mail
              with:
                labels: rest.labels
                last_mail_id: rest.last_mail_id
              outputParameters:
                - type: object
                  mapping: $.
            - method: POST
              name: post_characters_character_id_mail
              description: EVE Online Send a New Mail
              call: eve-online-mail.post_characters_character_id_mail
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/characters/{character-id}/mail/labels
          name: characters-character-id-mail-labels
          description: REST surface for /characters/{character_id}/mail/labels/.
          operations:
            - method: GET
              name: get_characters_character_id_mail_labels
              description: EVE Online Get Mail Labels and Unread Counts
              call: eve-online-mail.get_characters_character_id_mail_labels
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
            - method: POST
              name: post_characters_character_id_mail_labels
              description: EVE Online Create a Mail Label
              call: eve-online-mail.post_characters_character_id_mail_labels
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/characters/{character-id}/mail/labels/{label-id}
          name: characters-character-id-mail-labels-label-id
          description: REST surface for /characters/{character_id}/mail/labels/{label_id}/.
          operations:
            - method: DELETE
              name: delete_characters_character_id_mail_labels_label_id
              description: EVE Online Delete a Mail Label
              call: eve-online-mail.delete_characters_character_id_mail_labels_label_id
              with:
                label_id: rest.label_id
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/characters/{character-id}/mail/lists
          name: characters-character-id-mail-lists
          description: REST surface for /characters/{character_id}/mail/lists/.
          operations:
            - method: GET
              name: get_characters_character_id_mail_lists
              description: EVE Online Return Mailing List Subscriptions
              call: eve-online-mail.get_characters_character_id_mail_lists
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/characters/{character-id}/mail/{mail-id}
          name: characters-character-id-mail-mail-id
          description: REST surface for /characters/{character_id}/mail/{mail_id}/.
          operations:
            - method: DELETE
              name: delete_characters_character_id_mail_mail_id
              description: EVE Online Delete a Mail
              call: eve-online-mail.delete_characters_character_id_mail_mail_id
              with:
                mail_id: rest.mail_id
              outputParameters:
                - type: object
                  mapping: $.
            - method: GET
              name: get_characters_character_id_mail_mail_id
              description: EVE Online Return a Mail
              call: eve-online-mail.get_characters_character_id_mail_mail_id
              with:
                mail_id: rest.mail_id
              outputParameters:
                - type: object
                  mapping: $.
            - method: PUT
              name: put_characters_character_id_mail_mail_id
              description: EVE Online Update Metadata About a Mail
              call: eve-online-mail.put_characters_character_id_mail_mail_id
              with:
                mail_id: rest.mail_id
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: eve-online-mail-mcp
      port: 9090
      transport: http
      description: MCP adapter for EVE Online ESI — Mail. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: return-mail-headers
          description: EVE Online Return Mail Headers
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: eve-online-mail.get_characters_character_id_mail
          with:
            labels: tools.labels
            last_mail_id: tools.last_mail_id
          outputParameters:
            - type: object
              mapping: $.
        - name: send-new-mail
          description: EVE Online Send a New Mail
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: eve-online-mail.post_characters_character_id_mail
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: get-mail-labels-unread-counts
          description: EVE Online Get Mail Labels and Unread Counts
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: eve-online-mail.get_characters_character_id_mail_labels
          with: {}
          outputParameters:
            - type: object
              mapping: $.
        - name: create-mail-label
          description: EVE Online Create a Mail Label
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: eve-online-mail.post_characters_character_id_mail_labels
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: delete-mail-label
          description: EVE Online Delete a Mail Label
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: eve-online-mail.delete_characters_character_id_mail_labels_label_id
          with:
            label_id: tools.label_id
          outputParameters:
            - type: object
              mapping: $.
        - name: return-mailing-list-subscriptions
          description: EVE Online Return Mailing List Subscriptions
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: eve-online-mail.get_characters_character_id_mail_lists
          with: {}
          outputParameters:
            - type: object
              mapping: $.
        - name: delete-mail
          description: EVE Online Delete a Mail
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: eve-online-mail.delete_characters_character_id_mail_mail_id
          with:
            mail_id: tools.mail_id
          outputParameters:
            - type: object
              mapping: $.
        - name: return-mail
          description: EVE Online Return a Mail
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: eve-online-mail.get_characters_character_id_mail_mail_id
          with:
            mail_id: tools.mail_id
          outputParameters:
            - type: object
              mapping: $.
        - name: update-metadata-about-mail
          description: EVE Online Update Metadata About a Mail
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: eve-online-mail.put_characters_character_id_mail_mail_id
          with:
            mail_id: tools.mail_id
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.