Mojang · Capability

Minecraft Services API — Profile

Minecraft Services API — Profile. 4 operations. Lead operation: Get Authenticated Profile. Self-contained Naftiko capability covering one Mojang business surface.

Run with Naftiko MojangMinecraftProfile

What You Can Do

GET
Getauthenticatedprofile — Get Authenticated Profile
/v1/minecraft/profile
GET
Getnamechangeinfo — Get Name Change Info
/v1/minecraft/profile/namechange
GET
Checknameavailability — Check Name Availability
/v1/minecraft/profile/name/{name}/available
PUT
Changename — Change Name
/v1/minecraft/profile/name/{name}

MCP Tools

get-authenticated-profile

Get Authenticated Profile

read-only idempotent
get-name-change-info

Get Name Change Info

read-only idempotent
check-name-availability

Check Name Availability

read-only idempotent
change-name

Change Name

idempotent

Capability Spec

mojang-minecraft-services-profile.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Minecraft Services API \u2014 Profile"
  description: "Minecraft Services API \u2014 Profile. 4 operations. Lead operation: Get Authenticated Profile. Self-contained Naftiko capability covering one Mojang business surface."
  tags:
  - Mojang
  - Minecraft
  - Profile
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
- namespace: env
  keys:
    MINECRAFT_ACCESS_TOKEN: MINECRAFT_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: mojang-minecraft-services-profile
    baseUri: https://api.minecraftservices.com
    description: "Minecraft Services API \u2014 profile. Self-contained, no shared references."
    authentication:
      type: bearer
      token: '{{env.MINECRAFT_ACCESS_TOKEN}}'
    resources:
    - name: minecraft-profile
      path: /minecraft/profile
      operations:
      - name: getAuthenticatedProfile
        method: GET
        description: Get Authenticated Profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: minecraft-profile-namechange
      path: /minecraft/profile/namechange
      operations:
      - name: getNameChangeInfo
        method: GET
        description: Get Name Change Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: minecraft-profile-name-name-available
      path: /minecraft/profile/name/{name}/available
      operations:
      - name: checkNameAvailability
        method: GET
        description: Check Name Availability
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
          description: Candidate username.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: minecraft-profile-name-name
      path: /minecraft/profile/name/{name}
      operations:
      - name: changeName
        method: PUT
        description: Change Name
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
          description: New username.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: mojang-minecraft-services-profile-rest
    port: 8080
    description: "REST adapter for Minecraft Services API \u2014 profile. One Spectral-compliant resource per consumed operation, prefixed with /v1."
    resources:
    - path: /v1/minecraft/profile
      name: minecraft-profile
      description: REST surface for /minecraft/profile.
      operations:
      - method: GET
        name: getAuthenticatedProfile
        description: Get Authenticated Profile
        call: mojang-minecraft-services-profile.getAuthenticatedProfile
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/minecraft/profile/namechange
      name: minecraft-profile-namechange
      description: REST surface for /minecraft/profile/namechange.
      operations:
      - method: GET
        name: getNameChangeInfo
        description: Get Name Change Info
        call: mojang-minecraft-services-profile.getNameChangeInfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/minecraft/profile/name/{name}/available
      name: minecraft-profile-name-name-available
      description: REST surface for /minecraft/profile/name/{name}/available.
      operations:
      - method: GET
        name: checkNameAvailability
        description: Check Name Availability
        call: mojang-minecraft-services-profile.checkNameAvailability
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/minecraft/profile/name/{name}
      name: minecraft-profile-name-name
      description: REST surface for /minecraft/profile/name/{name}.
      operations:
      - method: PUT
        name: changeName
        description: Change Name
        call: mojang-minecraft-services-profile.changeName
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: mojang-minecraft-services-profile-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Minecraft Services API \u2014 profile. One tool per consumed operation, routed inline through this capability's consumes block."
    tools:
    - name: get-authenticated-profile
      description: Get Authenticated Profile
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: mojang-minecraft-services-profile.getAuthenticatedProfile
      outputParameters:
      - type: object
        mapping: $.
    - name: get-name-change-info
      description: Get Name Change Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: mojang-minecraft-services-profile.getNameChangeInfo
      outputParameters:
      - type: object
        mapping: $.
    - name: check-name-availability
      description: Check Name Availability
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: mojang-minecraft-services-profile.checkNameAvailability
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: change-name
      description: Change Name
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: mojang-minecraft-services-profile.changeName
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.