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: $.