Fortnite Tracker · Capability

Fortnite Tracker API — Profile

Profile — Per-player Fortnite lifetime and per-mode statistics. 2 operations. Lead operation: Fortnite Tracker Get Player Profile. Self-contained Naftiko capability covering one Fortnite Tracker business surface.

Run with Naftiko Fortnite TrackerPlayer StatisticsProfile

What You Can Do

GET
Getprofile — Retrieve a player's Fortnite profile.
/v1/profile/{platform}/{epic-nickname}
GET
Getprofilebyaccountid — Retrieve a player's Fortnite profile by account UUID.
/v1/profile/account/{account-id}

MCP Tools

get-player-profile

Retrieve a player's Fortnite profile with lifetime and per-mode statistics.

read-only idempotent
get-player-profile-by-account-id

Retrieve a player's Fortnite profile by Epic Games account UUID.

read-only idempotent

Who This Is For

👤
Community Developer
Builds Discord bots, stream overlays, or community websites on top of Fortnite player data.
👤
Esports Analyst
Tracks professional Fortnite competition for FNCS broadcasts, tournament recaps, and pro-player scouting.

Capability Spec

fortnite-tracker-profile.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Fortnite Tracker API — Profile"
  description: >-
    Profile — Per-player Fortnite lifetime and per-mode statistics. 2 operations.
    Lead operation: Fortnite Tracker Get Player Profile. Self-contained Naftiko
    capability covering one Fortnite Tracker business surface.
  tags:
    - Fortnite Tracker
    - Player Statistics
    - Profile
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      TRN_API_KEY: TRN_API_KEY

capability:

  # ── 1. Consumes — the upstream HTTP API this capability speaks to ─────
  consumes:
    - type: http
      namespace: "fortnite-tracker-profile"
      baseUri: "https://api.fortnitetracker.com/v1"
      description: "Fortnite Tracker API — Profile business capability. Self-contained, no shared references."
      authentication:
        type: apikey
        key: TRN-Api-Key
        value: "{{env.TRN_API_KEY}}"
        placement: header
      resources:
        - name: "profile-platform-epic-nickname"
          path: "/profile/{platform}/{epicNickname}"
          operations:
            - name: "getProfile"
              method: GET
              description: "Retrieve a player's Fortnite profile with lifetime and per-mode statistics."
              inputParameters:
                - name: "platform"
                  in: path
                  type: string
                  required: true
                  description: "Player platform (pc, xbl, psn)."
                - name: "epicNickname"
                  in: path
                  type: string
                  required: true
                  description: "Epic Games display name for the player."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "profile-account-account-id"
          path: "/profile/account/{accountId}"
          operations:
            - name: "getProfileByAccountId"
              method: GET
              description: "Retrieve a player's Fortnite profile by Epic Games account UUID."
              inputParameters:
                - name: "accountId"
                  in: path
                  type: string
                  required: true
                  description: "Epic Games account UUID."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  # ── 2. REST exposer — required default. ──
  exposes:
    - type: rest
      namespace: "fortnite-tracker-profile-rest"
      port: 8080
      description: "REST adapter for Fortnite Tracker API — Profile. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/profile/{platform}/{epic-nickname}"
          name: "player-profile"
          description: "REST surface for player profile by platform and display name."
          operations:
            - method: GET
              name: "getProfile"
              description: "Retrieve a player's Fortnite profile."
              call: "fortnite-tracker-profile.getProfile"
              with:
                "platform": "rest.platform"
                "epicNickname": "rest.epic-nickname"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/profile/account/{account-id}"
          name: "player-profile-by-account"
          description: "REST surface for player profile by Epic account UUID."
          operations:
            - method: GET
              name: "getProfileByAccountId"
              description: "Retrieve a player's Fortnite profile by account UUID."
              call: "fortnite-tracker-profile.getProfileByAccountId"
              with:
                "accountId": "rest.account-id"
              outputParameters:
                - type: object
                  mapping: "$."

  # ── 3. MCP exposer — required default. ──
    - type: mcp
      namespace: "fortnite-tracker-profile-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Fortnite Tracker API — Profile. One tool per consumed operation."
      tools:
        - name: "get-player-profile"
          description: "Retrieve a player's Fortnite profile with lifetime and per-mode statistics."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "fortnite-tracker-profile.getProfile"
          with:
            "platform": "tools.platform"
            "epicNickname": "tools.epicNickname"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-player-profile-by-account-id"
          description: "Retrieve a player's Fortnite profile by Epic Games account UUID."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "fortnite-tracker-profile.getProfileByAccountId"
          with:
            "accountId": "tools.accountId"
          outputParameters:
            - type: object
              mapping: "$."