naftiko: 1.0.0-alpha2 info: label: Toornament Tournament Management description: Workflow capability for full esports tournament lifecycle management using the Toornament Organizer API — covering tournament creation, participant management, bracket progression, match reporting, and final standings. tags: - Brackets - Competition - Esports - Gaming - Matches - Participants - Tournaments - Toornament created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: TOORNAMENT_API_KEY: TOORNAMENT_API_KEY TOORNAMENT_ACCESS_TOKEN: TOORNAMENT_ACCESS_TOKEN capability: consumes: - type: http namespace: toornament-organizer baseUri: https://api.toornament.com/organizer/v2 description: Toornament Organizer API for full tournament lifecycle management. authentication: type: apikey key: X-Api-Key value: '{{TOORNAMENT_API_KEY}}' placement: header resources: - name: tournaments path: /tournaments description: Manage esports tournaments. operations: - name: list-tournaments method: GET description: List tournaments organized by the authenticated user. inputParameters: - name: disciplines in: query type: string required: false description: Filter by discipline keys. - name: statuses in: query type: string required: false description: Filter by statuses. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: create-tournament method: POST description: Create a new esports tournament. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: discipline: '{{tools.discipline}}' name: '{{tools.name}}' participant_type: '{{tools.participant_type}}' size: '{{tools.size}}' timezone: '{{tools.timezone}}' platforms: '{{tools.platforms}}' - name: tournament path: /tournaments/{id} description: Manage a specific tournament. operations: - name: get-tournament method: GET description: Get full details of a specific tournament. inputParameters: - name: id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-tournament method: PATCH description: Partially update tournament fields. inputParameters: - name: id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' - name: delete-tournament method: DELETE description: Permanently delete a tournament. inputParameters: - name: id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: participants path: /tournaments/{tournament_id}/participants description: Manage tournament participants. operations: - name: list-participants method: GET description: List all participants in a tournament. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: create-participant method: POST description: Add a new participant to a tournament. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' - name: stages path: /tournaments/{tournament_id}/stages description: Manage tournament stages. operations: - name: list-stages method: GET description: List all stages for a tournament. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: matches path: /tournaments/{tournament_id}/stages/{stage_id}/matches description: Retrieve and report tournament matches. operations: - name: list-matches method: GET description: List all matches in a tournament stage. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. - name: stage_id in: path type: string required: true description: Stage identifier. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: match-report path: /tournaments/{tournament_id}/matches/{match_id} description: Report match results. operations: - name: report-match method: PATCH description: Submit or update results for a specific match. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. - name: match_id in: path type: string required: true description: Match identifier. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: status: '{{tools.status}}' opponents: '{{tools.opponents}}' - name: rankings path: /tournaments/{tournament_id}/stages/{stage_id}/ranking-items description: Retrieve tournament stage rankings. operations: - name: list-rankings method: GET description: Get ranking items (standings) for a stage. inputParameters: - name: tournament_id in: path type: string required: true description: Tournament identifier. - name: stage_id in: path type: string required: true description: Stage identifier. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: disciplines path: /disciplines description: Access supported esports disciplines. operations: - name: list-disciplines method: GET description: List all supported esports game disciplines. outputRawFormat: json outputParameters: - name: result type: array value: $. exposes: - type: rest port: 8080 namespace: toornament-tournament-management-api description: Unified REST API for esports tournament lifecycle management. resources: - path: /v1/tournaments name: tournaments description: Create and list tournaments. operations: - method: GET name: list-tournaments description: List all tournaments for the authenticated organizer. call: toornament-organizer.list-tournaments outputParameters: - type: array mapping: $. - method: POST name: create-tournament description: Create a new esports tournament. call: toornament-organizer.create-tournament with: discipline: rest.discipline name: rest.name participant_type: rest.participant_type size: rest.size outputParameters: - type: object mapping: $. - path: /v1/tournaments/{id} name: tournament description: Get or update a specific tournament. operations: - method: GET name: get-tournament description: Get full tournament details. call: toornament-organizer.get-tournament with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: update-tournament description: Update tournament configuration. call: toornament-organizer.update-tournament with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/tournaments/{tournament_id}/participants name: participants description: Manage tournament participants. operations: - method: GET name: list-participants description: List all tournament participants. call: toornament-organizer.list-participants with: tournament_id: rest.tournament_id outputParameters: - type: array mapping: $. - method: POST name: add-participant description: Add a participant to the tournament. call: toornament-organizer.create-participant with: tournament_id: rest.tournament_id name: rest.name outputParameters: - type: object mapping: $. - path: /v1/tournaments/{tournament_id}/stages name: stages description: Tournament stages and brackets. operations: - method: GET name: list-stages description: List all stages in a tournament. call: toornament-organizer.list-stages with: tournament_id: rest.tournament_id outputParameters: - type: array mapping: $. - path: /v1/tournaments/{tournament_id}/stages/{stage_id}/matches name: matches description: Tournament match schedule and results. operations: - method: GET name: list-matches description: List matches in a tournament stage. call: toornament-organizer.list-matches with: tournament_id: rest.tournament_id stage_id: rest.stage_id outputParameters: - type: array mapping: $. - path: /v1/tournaments/{tournament_id}/matches/{match_id} name: match description: Report and view a specific match. operations: - method: PATCH name: report-match description: Submit match result. call: toornament-organizer.report-match with: tournament_id: rest.tournament_id match_id: rest.match_id outputParameters: - type: object mapping: $. - path: /v1/tournaments/{tournament_id}/stages/{stage_id}/rankings name: rankings description: Tournament stage rankings and standings. operations: - method: GET name: list-rankings description: Get rankings for a tournament stage. call: toornament-organizer.list-rankings with: tournament_id: rest.tournament_id stage_id: rest.stage_id outputParameters: - type: array mapping: $. - path: /v1/disciplines name: disciplines description: Supported esports disciplines. operations: - method: GET name: list-disciplines description: List all supported esports games and disciplines. call: toornament-organizer.list-disciplines outputParameters: - type: array mapping: $. - type: mcp port: 9090 namespace: toornament-tournament-management-mcp transport: http description: MCP server for AI-assisted esports tournament management on Toornament. tools: - name: list-tournaments description: List all esports tournaments organized by the authenticated user. hints: readOnly: true idempotent: true call: toornament-organizer.list-tournaments outputParameters: - type: array mapping: $. - name: create-tournament description: Create a new esports tournament on Toornament with full configuration. hints: readOnly: false idempotent: false call: toornament-organizer.create-tournament with: discipline: tools.discipline name: tools.name participant_type: tools.participant_type size: tools.size timezone: tools.timezone platforms: tools.platforms outputParameters: - type: object mapping: $. - name: get-tournament description: Retrieve full details of a specific Toornament tournament. hints: readOnly: true idempotent: true call: toornament-organizer.get-tournament with: id: tools.id outputParameters: - type: object mapping: $. - name: update-tournament description: Update tournament settings such as name, dates, registration, and rules. hints: readOnly: false idempotent: true call: toornament-organizer.update-tournament with: id: tools.id outputParameters: - type: object mapping: $. - name: delete-tournament description: Permanently delete a tournament. hints: readOnly: false destructive: true idempotent: true call: toornament-organizer.delete-tournament with: id: tools.id outputParameters: - type: object mapping: $. - name: list-participants description: List all registered participants in a Toornament tournament. hints: readOnly: true idempotent: true call: toornament-organizer.list-participants with: tournament_id: tools.tournament_id outputParameters: - type: array mapping: $. - name: add-participant description: Add a new participant (player or team) to a tournament. hints: readOnly: false idempotent: false call: toornament-organizer.create-participant with: tournament_id: tools.tournament_id name: tools.name outputParameters: - type: object mapping: $. - name: list-stages description: List all stages defined in a tournament (group stage, elimination rounds, etc.). hints: readOnly: true idempotent: true call: toornament-organizer.list-stages with: tournament_id: tools.tournament_id outputParameters: - type: array mapping: $. - name: list-matches description: List all matches in a tournament stage, including bracket display data. hints: readOnly: true idempotent: true call: toornament-organizer.list-matches with: tournament_id: tools.tournament_id stage_id: tools.stage_id outputParameters: - type: array mapping: $. - name: report-match-result description: Submit the final score and result for a completed tournament match. hints: readOnly: false idempotent: true call: toornament-organizer.report-match with: tournament_id: tools.tournament_id match_id: tools.match_id opponents: tools.opponents outputParameters: - type: object mapping: $. - name: get-stage-rankings description: Retrieve the current standings and rankings for a tournament stage. hints: readOnly: true idempotent: true call: toornament-organizer.list-rankings with: tournament_id: tools.tournament_id stage_id: tools.stage_id outputParameters: - type: array mapping: $. - name: list-disciplines description: List all supported esports game disciplines available on Toornament. hints: readOnly: true idempotent: true call: toornament-organizer.list-disciplines outputParameters: - type: array mapping: $.