Riot Games Capabilities

Naftiko 0.5 capability definitions for Riot Games - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

Retrieves employee payroll information from ADP for a pay period.

naftiko: "0.5"
info:
  label: "ADP Payroll Lookup"
  description: "Retrieves employee payroll information from ADP for a pay period."
  tags:
    - hr
    - payroll
    - adp
capability:
  exposes:
    - type: mcp
      namespace: hr-payroll
      port: 8080
      tools:
        - name: get-payroll-info
          description: "Look up ADP payroll information for an employee and pay period."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The ADP employee ID."
            - name: pay_period
              in: body
              type: string
              description: "The pay period (YYYY-MM-DD)."
          call: "adp.get-payroll"
          with:
            employee_id: "{{employee_id}}"
            pay_period: "{{pay_period}}"
  consumes:
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/hr/v2"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: payroll
          path: "/workers/{{employee_id}}/pay-distributions?pay-period={{pay_period}}"
          inputParameters:
            - name: employee_id
              in: path
            - name: pay_period
              in: path
          operations:
            - name: get-payroll
              method: GET

Uploads a game asset to Amazon S3 for content delivery and build storage.

naftiko: "0.5"
info:
  label: "Amazon S3 Asset Upload"
  description: "Uploads a game asset to Amazon S3 for content delivery and build storage."
  tags:
    - infrastructure
    - storage
    - amazon-s3
capability:
  exposes:
    - type: mcp
      namespace: infra-s3
      port: 8080
      tools:
        - name: upload-asset
          description: "Upload a file to an S3 bucket. Returns the S3 object URL."
          inputParameters:
            - name: bucket
              in: body
              type: string
              description: "The S3 bucket name."
            - name: key
              in: body
              type: string
              description: "The S3 object key."
          call: "s3.put-object"
          with:
            bucket: "{{bucket}}"
            key: "{{key}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: aws
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: objects
          path: "/{{bucket}}/{{key}}"
          inputParameters:
            - name: bucket
              in: path
            - name: key
              in: path
          operations:
            - name: put-object
              method: PUT

Uses Anthropic Claude to analyze player-submitted text content for toxicity and policy violations.

naftiko: "0.5"
info:
  label: "Anthropic AI Content Moderation"
  description: "Uses Anthropic Claude to analyze player-submitted text content for toxicity and policy violations."
  tags:
    - moderation
    - ai
    - anthropic
capability:
  exposes:
    - type: mcp
      namespace: moderation-ai
      port: 8080
      tools:
        - name: analyze-content
          description: "Submit text content to Anthropic Claude for toxicity analysis."
          inputParameters:
            - name: content
              in: body
              type: string
              description: "The text content to analyze."
            - name: context
              in: body
              type: string
              description: "Context for the analysis (chat, username, report)."
          call: "anthropic.analyze"
          with:
            content: "{{content}}"
            context: "{{context}}"
  consumes:
    - type: http
      namespace: anthropic
      baseUri: "https://api.anthropic.com/v1"
      authentication:
        type: apiKey
        key: "$secrets.anthropic_api_key"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: analyze
              method: POST

When a cheat detection exceeds confidence threshold, bans the player account, logs the action in ServiceNow, notifies the anti-cheat team via Microsoft Teams, and records the metric in Datadog.

naftiko: "0.5"
info:
  label: "Anti-Cheat Ban Orchestrator"
  description: "When a cheat detection exceeds confidence threshold, bans the player account, logs the action in ServiceNow, notifies the anti-cheat team via Microsoft Teams, and records the metric in Datadog."
  tags:
    - anti-cheat
    - security
    - player-systems
    - servicenow
    - microsoft-teams
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: anticheat-enforcement
      port: 8080
      tools:
        - name: enforce-ban
          description: "Given a report ID and player PUUID, ban the account, log in ServiceNow, notify team, and record metrics."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The anti-cheat report ID."
            - name: puuid
              in: body
              type: string
              description: "The player PUUID to ban."
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: ban_reason
              in: body
              type: string
              description: "The ban reason code."
          steps:
            - name: get-report
              type: call
              call: "anticheat-api.get-report"
              with:
                report_id: "{{report_id}}"
            - name: ban-player
              type: call
              call: "player-api.ban-account"
              with:
                puuid: "{{puuid}}"
                reason: "{{ban_reason}}"
                game: "{{game_title}}"
                duration: "permanent"
            - name: log-action
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Anti-cheat ban: {{puuid}} in {{game_title}}"
                description: "Report: {{report_id}}. Detection: {{get-report.detection_type}}. Confidence: {{get-report.confidence_score}}. Ban reason: {{ban_reason}}."
                category: "anti_cheat"
                assigned_group: "AntiCheat_Team"
            - name: notify-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "anticheat_team"
                channel: "Enforcements"
                text: "Ban enforced: {{puuid}} in {{game_title}}. Detection: {{get-report.detection_type}} (confidence: {{get-report.confidence_score}}). Report: {{report_id}}."
            - name: record-metric
              type: call
              call: "datadog.send-event"
              with:
                title: "Anti-cheat ban: {{game_title}}"
                text: "PUUID: {{puuid}}, Detection: {{get-report.detection_type}}, Confidence: {{get-report.confidence_score}}"
                tags: "game:{{game_title}},type:ban,detection:{{get-report.detection_type}}"
  consumes:
    - type: http
      namespace: anticheat-api
      baseUri: "https://anticheat.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.anticheat_api_token"
      resources:
        - name: reports
          path: "/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-report
              method: GET
    - type: http
      namespace: player-api
      baseUri: "https://player.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.player_api_token"
      resources:
        - name: bans
          path: "/accounts/{{puuid}}/bans"
          inputParameters:
            - name: puuid
              in: path
          operations:
            - name: ban-account
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: events
          path: "/events"
          operations:
            - name: send-event
              method: POST

Orchestrates anti cheat detection pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Anti Cheat Detection Pipeline"
  description: "Orchestrates anti cheat detection pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - anti
    - riot-games
    - jira
    - datadog
    - discord
capability:
  exposes:
    - type: mcp
      namespace: anti
      port: 8080
      tools:
        - name: anti-cheat-detection-pipeline
          description: "Orchestrates anti cheat detection pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "discord.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/anti"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/anti"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/anti"
          operations:
            - name: execute-3
              method: POST

Retrieves an anti-cheat report by report ID, returning detection type, confidence score, and player details.

naftiko: "0.5"
info:
  label: "Anti-Cheat Report Lookup"
  description: "Retrieves an anti-cheat report by report ID, returning detection type, confidence score, and player details."
  tags:
    - anti-cheat
    - security
    - player-systems
capability:
  exposes:
    - type: mcp
      namespace: anticheat
      port: 8080
      tools:
        - name: get-cheat-report
          description: "Look up an anti-cheat report by ID. Returns detection type, confidence, and player info."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The anti-cheat report ID."
          call: "anticheat-api.get-report"
          with:
            report_id: "{{report_id}}"
  consumes:
    - type: http
      namespace: anticheat-api
      baseUri: "https://anticheat.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.anticheat_api_token"
      resources:
        - name: reports
          path: "/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-report
              method: GET

Retrieves an Asana task by GID, returning name, status, assignee, and due date.

naftiko: "0.5"
info:
  label: "Asana Task Lookup"
  description: "Retrieves an Asana task by GID, returning name, status, assignee, and due date."
  tags:
    - project-management
    - tasks
    - asana
capability:
  exposes:
    - type: mcp
      namespace: pm-asana
      port: 8080
      tools:
        - name: get-task
          description: "Look up an Asana task by GID."
          inputParameters:
            - name: task_gid
              in: body
              type: string
              description: "The Asana task GID."
          call: "asana.get-task"
          with:
            task_gid: "{{task_gid}}"
  consumes:
    - type: http
      namespace: asana
      baseUri: "https://app.asana.com/api/1.0"
      authentication:
        type: bearer
        token: "$secrets.asana_token"
      resources:
        - name: tasks
          path: "/tasks/{{task_gid}}"
          inputParameters:
            - name: task_gid
              in: path
          operations:
            - name: get-task
              method: GET

Retrieves a user profile from Azure AD by UPN.

naftiko: "0.5"
info:
  label: "Azure Active Directory User Lookup"
  description: "Retrieves a user profile from Azure AD by UPN."
  tags:
    - identity
    - directory
    - azure-active-directory
capability:
  exposes:
    - type: mcp
      namespace: identity-aad
      port: 8080
      tools:
        - name: get-user
          description: "Look up an Azure AD user by UPN."
          inputParameters:
            - name: user_upn
              in: body
              type: string
              description: "The user principal name."
          call: "aad.get-user"
          with:
            upn: "{{user_upn}}"
  consumes:
    - type: http
      namespace: aad
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: users
          path: "/users/{{upn}}"
          inputParameters:
            - name: upn
              in: path
          operations:
            - name: get-user
              method: GET

Retrieves a secret value from Azure Key Vault for secure configuration management.

naftiko: "0.5"
info:
  label: "Azure Key Vault Secret Retrieval"
  description: "Retrieves a secret value from Azure Key Vault for secure configuration management."
  tags:
    - security
    - infrastructure
    - azure-key-vault
capability:
  exposes:
    - type: mcp
      namespace: security-keyvault
      port: 8080
      tools:
        - name: get-secret
          description: "Retrieve a secret from Azure Key Vault by name."
          inputParameters:
            - name: vault_name
              in: body
              type: string
              description: "The Key Vault name."
            - name: secret_name
              in: body
              type: string
              description: "The secret name."
          call: "keyvault.get-secret"
          with:
            vault_name: "{{vault_name}}"
            secret_name: "{{secret_name}}"
  consumes:
    - type: http
      namespace: keyvault
      baseUri: "https://{{vault_name}}.vault.azure.net"
      authentication:
        type: bearer
        token: "$secrets.azure_keyvault_token"
      resources:
        - name: secrets
          path: "/secrets/{{secret_name}}?api-version=7.4"
          inputParameters:
            - name: secret_name
              in: path
          operations:
            - name: get-secret
              method: GET

Retrieves service catalog entries from Backstage developer portal for service discovery and ownership tracking.

naftiko: "0.5"
info:
  label: "Backstage Developer Portal Catalog"
  description: "Retrieves service catalog entries from Backstage developer portal for service discovery and ownership tracking."
  tags:
    - devops
    - developer-portal
    - backstage
capability:
  exposes:
    - type: mcp
      namespace: devops-backstage
      port: 8080
      tools:
        - name: get-catalog-entity
          description: "Look up a Backstage catalog entity by kind and name."
          inputParameters:
            - name: kind
              in: body
              type: string
              description: "The entity kind (Component, API, System)."
            - name: name
              in: body
              type: string
              description: "The entity name."
          call: "backstage.get-entity"
          with:
            kind: "{{kind}}"
            name: "{{name}}"
  consumes:
    - type: http
      namespace: backstage
      baseUri: "https://backstage.riotgames.com/api"
      authentication:
        type: bearer
        token: "$secrets.backstage_token"
      resources:
        - name: entities
          path: "/catalog/entities/by-name/{{kind}}/default/{{name}}"
          inputParameters:
            - name: kind
              in: path
            - name: name
              in: path
          operations:
            - name: get-entity
              method: GET

Retrieves champion balance data lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Champion Balance Data Lookup"
  description: "Retrieves champion balance data lookup data from the Riot Games video game development and esports systems."
  tags:
    - champion
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: champion
      port: 8080
      tools:
        - name: champion-balance-data-lookup
          description: "Retrieves champion balance data lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.champion-balance-data-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/champion/balance/data/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: champion-balance-data-lookup
              method: GET

Retrieves CDN analytics from Cloudflare for game asset delivery performance.

naftiko: "0.5"
info:
  label: "Cloudflare CDN Analytics"
  description: "Retrieves CDN analytics from Cloudflare for game asset delivery performance."
  tags:
    - infrastructure
    - cdn
    - cloudflare
capability:
  exposes:
    - type: mcp
      namespace: infra-cdn
      port: 8080
      tools:
        - name: get-cdn-analytics
          description: "Query Cloudflare CDN analytics. Returns requests, bandwidth, and cache hit ratio."
          inputParameters:
            - name: zone_id
              in: body
              type: string
              description: "The Cloudflare zone ID."
            - name: since
              in: body
              type: string
              description: "Start time in ISO 8601."
          call: "cloudflare.get-analytics"
          with:
            zone_id: "{{zone_id}}"
            since: "{{since}}"
  consumes:
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: analytics
          path: "/zones/{{zone_id}}/analytics/dashboard?since={{since}}"
          inputParameters:
            - name: zone_id
              in: path
            - name: since
              in: path
          operations:
            - name: get-analytics
              method: GET

Searches Confluence for articles matching a query.

naftiko: "0.5"
info:
  label: "Confluence Knowledge Base Search"
  description: "Searches Confluence for articles matching a query."
  tags:
    - knowledge-management
    - collaboration
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: knowledge-base
      port: 8080
      tools:
        - name: search-articles
          description: "Search Confluence for knowledge base articles."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query."
          call: "confluence.search"
          with:
            cql: "text ~ '{{query}}'"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/search?cql={{cql}}"
          inputParameters:
            - name: cql
              in: path
          operations:
            - name: search
              method: GET

Queries Datadog for the health status of a monitored game service.

naftiko: "0.5"
info:
  label: "Datadog Service Health Check"
  description: "Queries Datadog for the health status of a monitored game service."
  tags:
    - monitoring
    - observability
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: ops-monitoring
      port: 8080
      tools:
        - name: get-service-health
          description: "Query Datadog for a game service health summary."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "The Datadog service name tag."
          call: "datadog.get-monitors"
          with:
            service_name: "{{service_name}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: monitors
          path: "/monitor?tag=service:{{service_name}}"
          inputParameters:
            - name: service_name
              in: path
          operations:
            - name: get-monitors
              method: GET

Sends a message to a Discord channel via webhook for community announcements.

naftiko: "0.5"
info:
  label: "Discord Community Alert"
  description: "Sends a message to a Discord channel via webhook for community announcements."
  tags:
    - community
    - messaging
    - discord
capability:
  exposes:
    - type: mcp
      namespace: comms-discord
      port: 8080
      tools:
        - name: send-discord-message
          description: "Send a message to a Discord channel via webhook."
          inputParameters:
            - name: webhook_id
              in: body
              type: string
              description: "The Discord webhook ID."
            - name: message
              in: body
              type: string
              description: "The message content."
          call: "discord.send-webhook"
          with:
            webhook_id: "{{webhook_id}}"
            content: "{{message}}"
  consumes:
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: webhooks
          path: "/webhooks/{{webhook_id}}/{{webhook_token}}"
          inputParameters:
            - name: webhook_id
              in: path
          operations:
            - name: send-webhook
              method: POST

On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
  tags:
    - hr
    - onboarding
    - workday
    - servicenow
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Given a Workday employee ID and start date, orchestrate onboarding across ServiceNow, SharePoint, and Microsoft Teams."
          inputParameters:
            - name: workday_employee_id
              in: body
              type: string
              description: "The Workday worker ID for the new hire."
            - name: start_date
              in: body
              type: string
              description: "The employee start date in YYYY-MM-DD format."
            - name: team_name
              in: body
              type: string
              description: "The game team or studio the new hire is joining."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{workday_employee_id}}"
            - name: open-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New hire onboarding: {{get-employee.full_name}}"
                category: "hr_onboarding"
                assigned_group: "IT_Onboarding"
                description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} on {{team_name}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "hr_onboarding_site"
                folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-employee.work_email}}"
                text: "Welcome to Riot Games, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. Documents: {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates esports broadcast quality pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Broadcast Quality Pipeline"
  description: "Orchestrates esports broadcast quality pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-broadcast-quality-pipeline
          description: "Orchestrates esports broadcast quality pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Retrieves esports broadcast schedule data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Esports Broadcast Schedule"
  description: "Retrieves esports broadcast schedule data from the Riot Games video game development and esports systems."
  tags:
    - esports
    - riot-games
    - schedule
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-broadcast-schedule
          description: "Retrieves esports broadcast schedule data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.esports-broadcast-schedule"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/esports/broadcast/schedule/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: esports-broadcast-schedule
              method: GET

Orchestrates esports event production pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Event Production Pipeline"
  description: "Orchestrates esports event production pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-event-production-pipeline
          description: "Orchestrates esports event production pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates esports fantasy league pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Fantasy League Pipeline"
  description: "Orchestrates esports fantasy league pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - datadog
    - discord
    - twitch
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-fantasy-league-pipeline
          description: "Orchestrates esports fantasy league pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "discord.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "twitch.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Sets up an esports match by configuring the game server, verifying player eligibility, notifying broadcast teams via Microsoft Teams, and creating a Jira tracking ticket.

naftiko: "0.5"
info:
  label: "Esports Match Setup Orchestrator"
  description: "Sets up an esports match by configuring the game server, verifying player eligibility, notifying broadcast teams via Microsoft Teams, and creating a Jira tracking ticket."
  tags:
    - esports
    - game-ops
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: esports-match-setup
      port: 8080
      tools:
        - name: setup-match
          description: "Given a match ID and tournament ID, configure server, verify players, notify broadcast, and create Jira ticket."
          inputParameters:
            - name: match_id
              in: body
              type: string
              description: "The esports match ID."
            - name: tournament_id
              in: body
              type: string
              description: "The tournament ID."
            - name: game_title
              in: body
              type: string
              description: "The game title."
          steps:
            - name: get-match
              type: call
              call: "esports-api.get-match"
              with:
                match_id: "{{match_id}}"
            - name: configure-server
              type: call
              call: "gameserver-api.create-instance"
              with:
                game: "{{game_title}}"
                region: "{{get-match.region}}"
                tournament_mode: true
                match_id: "{{match_id}}"
            - name: notify-broadcast
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "esports_broadcast"
                channel: "Match-Setup"
                text: "Match {{match_id}} configured: {{get-match.team1}} vs {{get-match.team2}}. Server: {{configure-server.server_id}}. Region: {{get-match.region}}. Scheduled: {{get-match.scheduled_time}}."
            - name: create-jira
              type: call
              call: "jira.create-issue"
              with:
                project: "ESPORTS"
                summary: "Match {{match_id}}: {{get-match.team1}} vs {{get-match.team2}}"
                description: "Tournament: {{tournament_id}}. Server: {{configure-server.server_id}}. Time: {{get-match.scheduled_time}}."
                issue_type: "Task"
  consumes:
    - type: http
      namespace: esports-api
      baseUri: "https://esports.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.esports_api_token"
      resources:
        - name: matches
          path: "/matches/{{match_id}}"
          inputParameters:
            - name: match_id
              in: path
          operations:
            - name: get-match
              method: GET
    - type: http
      namespace: gameserver-api
      baseUri: "https://gameserver.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.gameserver_api_token"
      resources:
        - name: instances
          path: "/instances"
          operations:
            - name: create-instance
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Orchestrates esports player contract pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Player Contract Pipeline"
  description: "Orchestrates esports player contract pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - twitch
    - confluence
    - pagerduty
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-player-contract-pipeline
          description: "Orchestrates esports player contract pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "twitch.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "pagerduty.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates esports prize distribution pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Prize Distribution Pipeline"
  description: "Orchestrates esports prize distribution pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - datadog
    - discord
    - twitch
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-prize-distribution-pipeline
          description: "Orchestrates esports prize distribution pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "discord.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "twitch.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates esports sponsorship tracking pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Sponsorship Tracking Pipeline"
  description: "Orchestrates esports sponsorship tracking pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - slack
    - jira
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-sponsorship-tracking-pipeline
          description: "Orchestrates esports sponsorship tracking pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates esports talent scouting pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Talent Scouting Pipeline"
  description: "Orchestrates esports talent scouting pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - twitch
    - confluence
    - pagerduty
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-talent-scouting-pipeline
          description: "Orchestrates esports talent scouting pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "twitch.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "pagerduty.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Retrieves esports team roster lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Esports Team Roster Lookup"
  description: "Retrieves esports team roster lookup data from the Riot Games video game development and esports systems."
  tags:
    - esports
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-team-roster-lookup
          description: "Retrieves esports team roster lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.esports-team-roster-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/esports/team/roster/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: esports-team-roster-lookup
              method: GET

Retrieves the status and schedule of an esports tournament from the esports platform.

naftiko: "0.5"
info:
  label: "Esports Tournament Status Lookup"
  description: "Retrieves the status and schedule of an esports tournament from the esports platform."
  tags:
    - esports
    - tournaments
    - game-ops
capability:
  exposes:
    - type: mcp
      namespace: esports-tournaments
      port: 8080
      tools:
        - name: get-tournament-status
          description: "Look up an esports tournament by ID. Returns schedule, teams, and current stage."
          inputParameters:
            - name: tournament_id
              in: body
              type: string
              description: "The esports tournament ID."
          call: "esports-api.get-tournament"
          with:
            tournament_id: "{{tournament_id}}"
  consumes:
    - type: http
      namespace: esports-api
      baseUri: "https://esports.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.esports_api_token"
      resources:
        - name: tournaments
          path: "/tournaments/{{tournament_id}}"
          inputParameters:
            - name: tournament_id
              in: path
          operations:
            - name: get-tournament
              method: GET

Orchestrates esports venue logistics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Venue Logistics Pipeline"
  description: "Orchestrates esports venue logistics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - pagerduty
    - riot
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-venue-logistics-pipeline
          description: "Orchestrates esports venue logistics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "pagerduty.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "riot.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates esports viewer engagement pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esports Viewer Engagement Pipeline"
  description: "Orchestrates esports viewer engagement pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esports
    - riot-games
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: esports
      port: 8080
      tools:
        - name: esports-viewer-engagement-pipeline
          description: "Orchestrates esports viewer engagement pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/esports"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/esports"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/esports"
          operations:
            - name: execute-3
              method: POST

Orchestrates game accessibility testing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Accessibility Testing Pipeline"
  description: "Orchestrates game accessibility testing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - riot
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-accessibility-testing-pipeline
          description: "Orchestrates game accessibility testing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "riot.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game asset pipeline optimizer across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Asset Pipeline Optimizer"
  description: "Orchestrates game asset pipeline optimizer across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - confluence
    - pagerduty
    - riot
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-asset-pipeline-optimizer
          description: "Orchestrates game asset pipeline optimizer across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "pagerduty.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "riot.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game balance patch pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Balance Patch Pipeline"
  description: "Orchestrates game balance patch pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - riot
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-balance-patch-pipeline
          description: "Orchestrates game balance patch pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "riot.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game client crash analysis pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Client Crash Analysis Pipeline"
  description: "Orchestrates game client crash analysis pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - confluence
    - pagerduty
    - riot
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-client-crash-analysis-pipeline
          description: "Orchestrates game client crash analysis pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "pagerduty.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "riot.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Retrieves game client version status data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Game Client Version Status"
  description: "Retrieves game client version status data from the Riot Games video game development and esports systems."
  tags:
    - game
    - riot-games
    - status
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-client-version-status
          description: "Retrieves game client version status data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.game-client-version-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/game/client/version/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: game-client-version-status
              method: GET

Orchestrates game content localization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Content Localization Pipeline"
  description: "Orchestrates game content localization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - riot
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-content-localization-pipeline
          description: "Orchestrates game content localization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "riot.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Coordinates a content release by updating the content delivery system, clearing CDN cache via Cloudflare, notifying community via Discord, and posting to social media.

naftiko: "0.5"
info:
  label: "Game Content Release Orchestrator"
  description: "Coordinates a content release by updating the content delivery system, clearing CDN cache via Cloudflare, notifying community via Discord, and posting to social media."
  tags:
    - game-ops
    - content
    - cloudflare
    - discord
    - twitter
capability:
  exposes:
    - type: mcp
      namespace: gameops-content
      port: 8080
      tools:
        - name: release-content
          description: "Given game title and content details, update CDS, purge CDN, notify Discord, and post to Twitter."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: content_id
              in: body
              type: string
              description: "The content bundle ID."
            - name: release_notes
              in: body
              type: string
              description: "The release notes summary."
          steps:
            - name: activate-content
              type: call
              call: "content-api.activate-bundle"
              with:
                game: "{{game_title}}"
                bundle_id: "{{content_id}}"
            - name: purge-cdn
              type: call
              call: "cloudflare.purge-cache"
              with:
                zone_id: "$secrets.cloudflare_zone_id"
                prefixes: "/{{game_title}}/content/"
            - name: notify-discord
              type: call
              call: "discord.send-webhook"
              with:
                webhook_id: "$secrets.discord_announcements_webhook"
                content: "New content available in {{game_title}}! {{release_notes}}"
            - name: post-twitter
              type: call
              call: "twitter.create-tweet"
              with:
                text: "New content just dropped in {{game_title}}! {{release_notes}}"
  consumes:
    - type: http
      namespace: content-api
      baseUri: "https://content.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.content_api_token"
      resources:
        - name: bundles
          path: "/bundles/{{bundle_id}}/activate"
          inputParameters:
            - name: bundle_id
              in: path
          operations:
            - name: activate-bundle
              method: POST
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: cache
          path: "/zones/{{zone_id}}/purge_cache"
          inputParameters:
            - name: zone_id
              in: path
          operations:
            - name: purge-cache
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: webhooks
          path: "/webhooks/{{webhook_id}}/{{webhook_token}}"
          inputParameters:
            - name: webhook_id
              in: path
          operations:
            - name: send-webhook
              method: POST
    - type: http
      namespace: twitter
      baseUri: "https://api.twitter.com/2"
      authentication:
        type: bearer
        token: "$secrets.twitter_bearer_token"
      resources:
        - name: tweets
          path: "/tweets"
          operations:
            - name: create-tweet
              method: POST

Orchestrates game cross platform sync pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Cross Platform Sync Pipeline"
  description: "Orchestrates game cross platform sync pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - discord
    - twitch
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-cross-platform-sync-pipeline
          description: "Orchestrates game cross platform sync pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "discord.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "twitch.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game economy inflation monitor across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Economy Inflation Monitor"
  description: "Orchestrates game economy inflation monitor across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - discord
    - twitch
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-economy-inflation-monitor
          description: "Orchestrates game economy inflation monitor across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "discord.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "twitch.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Retrieves game event pass progress data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Game Event Pass Progress"
  description: "Retrieves game event pass progress data from the Riot Games video game development and esports systems."
  tags:
    - game
    - riot-games
    - progress
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-event-pass-progress
          description: "Retrieves game event pass progress data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.game-event-pass-progress"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/game/event/pass/progress/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: game-event-pass-progress
              method: GET

Orchestrates game feature experimentation pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Feature Experimentation Pipeline"
  description: "Orchestrates game feature experimentation pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-feature-experimentation-pipeline
          description: "Orchestrates game feature experimentation pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Retrieves leaderboard data for a game title and region from the rankings service.

naftiko: "0.5"
info:
  label: "Game Leaderboard Lookup"
  description: "Retrieves leaderboard data for a game title and region from the rankings service."
  tags:
    - player-systems
    - game-ops
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: player-leaderboard
      port: 8080
      tools:
        - name: get-leaderboard
          description: "Query the leaderboard for a game, region, and queue type."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: region
              in: body
              type: string
              description: "The game region."
            - name: queue
              in: body
              type: string
              description: "The queue type (ranked, unranked)."
          call: "rankings-api.get-leaderboard"
          with:
            game: "{{game_title}}"
            region: "{{region}}"
            queue: "{{queue}}"
  consumes:
    - type: http
      namespace: rankings-api
      baseUri: "https://rankings.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.rankings_api_token"
      resources:
        - name: leaderboards
          path: "/leaderboards?game={{game}}&region={{region}}&queue={{queue}}"
          inputParameters:
            - name: game
              in: path
            - name: region
              in: path
            - name: queue
              in: path
          operations:
            - name: get-leaderboard
              method: GET

Orchestrates game live ops event pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Live Ops Event Pipeline"
  description: "Orchestrates game live ops event pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-live-ops-event-pipeline
          description: "Orchestrates game live ops event pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game lore content publishing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Lore Content Publishing Pipeline"
  description: "Orchestrates game lore content publishing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - jira
    - datadog
    - discord
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-lore-content-publishing-pipeline
          description: "Orchestrates game lore content publishing pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "discord.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Retrieves a player's match history from the match data service.

naftiko: "0.5"
info:
  label: "Game Match History Lookup"
  description: "Retrieves a player's match history from the match data service."
  tags:
    - player-systems
    - match-data
    - game-ops
capability:
  exposes:
    - type: mcp
      namespace: match-history
      port: 8080
      tools:
        - name: get-match-history
          description: "Look up a player's recent match history by PUUID and game title."
          inputParameters:
            - name: puuid
              in: body
              type: string
              description: "The player PUUID."
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: count
              in: body
              type: number
              description: "Number of recent matches to return."
          call: "match-api.get-history"
          with:
            puuid: "{{puuid}}"
            game: "{{game_title}}"
            count: "{{count}}"
  consumes:
    - type: http
      namespace: match-api
      baseUri: "https://match.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.match_api_token"
      resources:
        - name: history
          path: "/players/{{puuid}}/matches?game={{game}}&count={{count}}"
          inputParameters:
            - name: puuid
              in: path
            - name: game
              in: path
            - name: count
              in: path
          operations:
            - name: get-history
              method: GET

Retrieves the current status of matchmaking queues for a game and region including queue times and player counts.

naftiko: "0.5"
info:
  label: "Game Matchmaking Queue Status"
  description: "Retrieves the current status of matchmaking queues for a game and region including queue times and player counts."
  tags:
    - game-ops
    - matchmaking
    - player-systems
capability:
  exposes:
    - type: mcp
      namespace: gameops-matchmaking
      port: 8080
      tools:
        - name: get-queue-status
          description: "Query matchmaking queue status. Returns queue times and player counts."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: region
              in: body
              type: string
              description: "The game region."
          call: "matchmaking-api.get-queues"
          with:
            game: "{{game_title}}"
            region: "{{region}}"
  consumes:
    - type: http
      namespace: matchmaking-api
      baseUri: "https://matchmaking.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.matchmaking_api_token"
      resources:
        - name: queues
          path: "/queues?game={{game}}&region={{region}}"
          inputParameters:
            - name: game
              in: path
            - name: region
              in: path
          operations:
            - name: get-queues
              method: GET

Retrieves game mode queue time lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Game Mode Queue Time Lookup"
  description: "Retrieves game mode queue time lookup data from the Riot Games video game development and esports systems."
  tags:
    - game
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-mode-queue-time-lookup
          description: "Retrieves game mode queue time lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.game-mode-queue-time-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/game/mode/queue/time/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: game-mode-queue-time-lookup
              method: GET

Orchestrates game monetization analytics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Monetization Analytics Pipeline"
  description: "Orchestrates game monetization analytics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - confluence
    - pagerduty
    - riot
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-monetization-analytics-pipeline
          description: "Orchestrates game monetization analytics pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "pagerduty.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "riot.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game network optimization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Network Optimization Pipeline"
  description: "Orchestrates game network optimization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - jira
    - datadog
    - discord
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-network-optimization-pipeline
          description: "Orchestrates game network optimization pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "discord.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Coordinates a game patch deployment by creating a Jira release ticket, triggering the GitHub Actions build, notifying QA and game ops via Microsoft Teams, and posting status update.

naftiko: "0.5"
info:
  label: "Game Patch Deployment Orchestrator"
  description: "Coordinates a game patch deployment by creating a Jira release ticket, triggering the GitHub Actions build, notifying QA and game ops via Microsoft Teams, and posting status update."
  tags:
    - game-ops
    - deployment
    - jira
    - github-actions
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: gameops-deployment
      port: 8080
      tools:
        - name: deploy-patch
          description: "Given a game title, patch version, and target region, create Jira ticket, trigger build, notify teams, and update status."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: patch_version
              in: body
              type: string
              description: "The patch version (e.g. 14.5.1)."
            - name: target_region
              in: body
              type: string
              description: "The target deployment region."
          steps:
            - name: create-release-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "DEPLOY"
                summary: "{{game_title}} patch {{patch_version}} — {{target_region}}"
                description: "Deploying patch {{patch_version}} to {{target_region}}."
                issue_type: "Release"
            - name: trigger-build
              type: call
              call: "github.trigger-workflow"
              with:
                owner: "riotgames"
                repo: "{{game_title}}-deploy"
                workflow_id: "deploy.yml"
                ref: "release/{{patch_version}}"
            - name: notify-qa
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "qa_{{game_title}}"
                channel: "Deployments"
                text: "Patch {{patch_version}} deployment initiated for {{game_title}} in {{target_region}}. Jira: {{create-release-ticket.key}}. Build triggered."
            - name: notify-ops
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "gameops_{{game_title}}"
                channel: "Deployments"
                text: "Patch {{patch_version}} deploying to {{target_region}}. Jira: {{create-release-ticket.key}}. Monitor for issues."
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-dispatch
          path: "/repos/{{owner}}/{{repo}}/actions/workflows/{{workflow_id}}/dispatches"
          inputParameters:
            - name: owner
              in: path
            - name: repo
              in: path
            - name: workflow_id
              in: path
          operations:
            - name: trigger-workflow
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST

Orchestrates game performance regression pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Performance Regression Pipeline"
  description: "Orchestrates game performance regression pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - jira
    - datadog
    - discord
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-performance-regression-pipeline
          description: "Orchestrates game performance regression pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "discord.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game rating compliance pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Rating Compliance Pipeline"
  description: "Orchestrates game rating compliance pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - discord
    - twitch
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-rating-compliance-pipeline
          description: "Orchestrates game rating compliance pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "discord.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "twitch.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Scales game server capacity for a region by adjusting cloud infrastructure, updating the load balancer, notifying ops via Teams, and recording the scaling event in Datadog.

naftiko: "0.5"
info:
  label: "Game Region Scaling Orchestrator"
  description: "Scales game server capacity for a region by adjusting cloud infrastructure, updating the load balancer, notifying ops via Teams, and recording the scaling event in Datadog."
  tags:
    - game-ops
    - infrastructure
    - scaling
    - microsoft-teams
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: gameops-scaling
      port: 8080
      tools:
        - name: scale-region
          description: "Given a game, region, and target capacity, scale servers, update LB, notify ops, and record in Datadog."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: region
              in: body
              type: string
              description: "The game region."
            - name: target_capacity
              in: body
              type: number
              description: "Target server instance count."
            - name: reason
              in: body
              type: string
              description: "Reason for scaling (event, peak, incident)."
          steps:
            - name: scale-servers
              type: call
              call: "gameserver-api.scale-region"
              with:
                game: "{{game_title}}"
                region: "{{region}}"
                target: "{{target_capacity}}"
            - name: notify-ops
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "gameops_{{game_title}}"
                channel: "Infrastructure"
                text: "Scaling {{game_title}} {{region}} to {{target_capacity}} instances. Reason: {{reason}}. Status: {{scale-servers.status}}."
            - name: record-event
              type: call
              call: "datadog.send-event"
              with:
                title: "Region scaling: {{game_title}} {{region}}"
                text: "Target: {{target_capacity}}, Reason: {{reason}}"
                tags: "game:{{game_title}},region:{{region}},type:scaling"
  consumes:
    - type: http
      namespace: gameserver-api
      baseUri: "https://gameserver.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.gameserver_api_token"
      resources:
        - name: scaling
          path: "/regions/{{region}}/scale"
          inputParameters:
            - name: region
              in: path
          operations:
            - name: scale-region
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: events
          path: "/events"
          operations:
            - name: send-event
              method: POST

Queries revenue analytics for a game title including microtransaction revenue and regional breakdown.

naftiko: "0.5"
info:
  label: "Game Revenue Analytics"
  description: "Queries revenue analytics for a game title including microtransaction revenue and regional breakdown."
  tags:
    - analytics
    - finance
    - game-ops
capability:
  exposes:
    - type: mcp
      namespace: analytics-revenue
      port: 8080
      tools:
        - name: get-revenue-metrics
          description: "Query game revenue analytics. Returns revenue by source and region."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: period
              in: body
              type: string
              description: "The reporting period (YYYY-MM)."
          call: "analytics-api.get-revenue"
          with:
            game: "{{game_title}}"
            period: "{{period}}"
  consumes:
    - type: http
      namespace: analytics-api
      baseUri: "https://analytics.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_api_token"
      resources:
        - name: revenue
          path: "/revenue?game={{game}}&period={{period}}"
          inputParameters:
            - name: game
              in: path
            - name: period
              in: path
          operations:
            - name: get-revenue
              method: GET

Orchestrates game seasonal content pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Seasonal Content Pipeline"
  description: "Orchestrates game seasonal content pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - riot
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-seasonal-content-pipeline
          description: "Orchestrates game seasonal content pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "riot.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game security vulnerability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Security Vulnerability Pipeline"
  description: "Orchestrates game security vulnerability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - discord
    - twitch
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-security-vulnerability-pipeline
          description: "Orchestrates game security vulnerability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "discord.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "twitch.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Orchestrates game server auto scaling pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Server Auto Scaling Pipeline"
  description: "Orchestrates game server auto scaling pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - slack
    - jira
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-server-auto-scaling-pipeline
          description: "Orchestrates game server auto scaling pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Forecasts server capacity needs by analyzing player engagement trends, current server utilization via Datadog, and creating a planning report in Confluence.

naftiko: "0.5"
info:
  label: "Game Server Capacity Planning Orchestrator"
  description: "Forecasts server capacity needs by analyzing player engagement trends, current server utilization via Datadog, and creating a planning report in Confluence."
  tags:
    - game-ops
    - infrastructure
    - datadog
    - confluence
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: gameops-capacity
      port: 8080
      tools:
        - name: forecast-capacity
          description: "Given a game title and forecast period, analyze trends, check utilization, and create a planning report."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: forecast_period
              in: body
              type: string
              description: "The forecast period (e.g. next_30d)."
          steps:
            - name: get-engagement-trends
              type: call
              call: "analytics-api.get-engagement-trends"
              with:
                game: "{{game_title}}"
                period: "{{forecast_period}}"
            - name: get-utilization
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:server.cpu.usage{game:{{game_title}}}"
            - name: create-report
              type: call
              call: "confluence.create-page"
              with:
                space_key: "GAMEOPS"
                title: "Capacity Forecast: {{game_title}} — {{forecast_period}}"
                body: "Peak DAU trend: {{get-engagement-trends.peak_dau}}. Avg CPU: {{get-utilization.avg_value}}%. Recommended capacity: {{get-engagement-trends.recommended_instances}}."
  consumes:
    - type: http
      namespace: analytics-api
      baseUri: "https://analytics.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_api_token"
      resources:
        - name: trends
          path: "/engagement/trends?game={{game}}&period={{period}}"
          inputParameters:
            - name: game
              in: path
            - name: period
              in: path
          operations:
            - name: get-engagement-trends
              method: GET
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: query
          path: "/query?query={{query}}"
          inputParameters:
            - name: query
              in: path
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

When a game server incident is detected, creates a ServiceNow P1, notifies the game ops team via Microsoft Teams, sends a Datadog event, and posts a player notification via the status API.

naftiko: "0.5"
info:
  label: "Game Server Incident Orchestrator"
  description: "When a game server incident is detected, creates a ServiceNow P1, notifies the game ops team via Microsoft Teams, sends a Datadog event, and posts a player notification via the status API."
  tags:
    - game-ops
    - incident
    - servicenow
    - microsoft-teams
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: gameops-incidents
      port: 8080
      tools:
        - name: handle-server-incident
          description: "Given a game region and incident details, create ServiceNow P1, alert ops, log in Datadog, and post player status."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title (e.g. VALORANT, League of Legends)."
            - name: region
              in: body
              type: string
              description: "The affected game region (NA, EUW, KR, etc.)."
            - name: severity
              in: body
              type: string
              description: "Incident severity (critical, major, minor)."
            - name: description
              in: body
              type: string
              description: "Description of the issue."
          steps:
            - name: create-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "{{game_title}} server incident in {{region}}: {{severity}}"
                priority: "1"
                category: "game_operations"
                assigned_group: "GameOps_{{game_title}}"
                description: "Game: {{game_title}}. Region: {{region}}. Severity: {{severity}}. Details: {{description}}."
            - name: notify-ops
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "gameops_{{game_title}}"
                channel: "Incidents"
                text: "SERVER INCIDENT: {{game_title}} {{region}} ({{severity}}). {{description}}. Incident: {{create-incident.number}}."
            - name: log-datadog
              type: call
              call: "datadog.send-event"
              with:
                title: "Game incident: {{game_title}} {{region}}"
                text: "Severity: {{severity}}. {{description}}"
                alert_type: "error"
                tags: "game:{{game_title}},region:{{region}},severity:{{severity}}"
            - name: post-status
              type: call
              call: "status-api.create-incident"
              with:
                game: "{{game_title}}"
                region: "{{region}}"
                title: "Service disruption in {{region}}"
                message: "We are aware of issues affecting {{game_title}} in {{region}} and are investigating."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: events
          path: "/events"
          operations:
            - name: send-event
              method: POST
    - type: http
      namespace: status-api
      baseUri: "https://status.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.status_api_token"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: create-incident
              method: POST

Retrieves the status of a game server instance including region, player count, and health metrics.

naftiko: "0.5"
info:
  label: "Game Server Instance Status"
  description: "Retrieves the status of a game server instance including region, player count, and health metrics."
  tags:
    - game-ops
    - infrastructure
    - servers
capability:
  exposes:
    - type: mcp
      namespace: gameops-servers
      port: 8080
      tools:
        - name: get-server-status
          description: "Query a game server instance status. Returns region, player count, and health."
          inputParameters:
            - name: server_id
              in: body
              type: string
              description: "The game server instance ID."
          call: "gameserver-api.get-instance"
          with:
            server_id: "{{server_id}}"
  consumes:
    - type: http
      namespace: gameserver-api
      baseUri: "https://gameserver.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.gameserver_api_token"
      resources:
        - name: instances
          path: "/instances/{{server_id}}"
          inputParameters:
            - name: server_id
              in: path
          operations:
            - name: get-instance
              method: GET

Retrieves game server latency check data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Game Server Latency Check"
  description: "Retrieves game server latency check data from the Riot Games video game development and esports systems."
  tags:
    - game
    - riot-games
    - check
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-server-latency-check
          description: "Retrieves game server latency check data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.game-server-latency-check"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/game/server/latency/check/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: game-server-latency-check
              method: GET

Orchestrates game social feature pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Game Social Feature Pipeline"
  description: "Orchestrates game social feature pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - game
    - riot-games
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: game
      port: 8080
      tools:
        - name: game-social-feature-pipeline
          description: "Orchestrates game social feature pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/game"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/game"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/game"
          operations:
            - name: execute-3
              method: POST

Retrieves the current store catalog for a game, including items, prices, and availability.

naftiko: "0.5"
info:
  label: "Game Store Catalog Lookup"
  description: "Retrieves the current store catalog for a game, including items, prices, and availability."
  tags:
    - game-ops
    - store
    - commerce
capability:
  exposes:
    - type: mcp
      namespace: store-catalog
      port: 8080
      tools:
        - name: get-store-catalog
          description: "Query the game store catalog. Returns items, prices, and availability."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: region
              in: body
              type: string
              description: "The store region."
          call: "store-api.get-catalog"
          with:
            game: "{{game_title}}"
            region: "{{region}}"
  consumes:
    - type: http
      namespace: store-api
      baseUri: "https://store.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.store_api_token"
      resources:
        - name: catalogs
          path: "/catalogs?game={{game}}&region={{region}}"
          inputParameters:
            - name: game
              in: path
            - name: region
              in: path
          operations:
            - name: get-catalog
              method: GET

Retrieves the latest GitHub Actions workflow run status for a repository.

naftiko: "0.5"
info:
  label: "GitHub Actions Pipeline Status"
  description: "Retrieves the latest GitHub Actions workflow run status for a repository."
  tags:
    - devops
    - ci-cd
    - github-actions
capability:
  exposes:
    - type: mcp
      namespace: devops-github
      port: 8080
      tools:
        - name: get-workflow-status
          description: "Get the latest GitHub Actions workflow run for a repo."
          inputParameters:
            - name: owner
              in: body
              type: string
              description: "The GitHub repo owner."
            - name: repo
              in: body
              type: string
              description: "The repository name."
            - name: workflow_id
              in: body
              type: string
              description: "The workflow file name or ID."
          call: "github.get-workflow-runs"
          with:
            owner: "{{owner}}"
            repo: "{{repo}}"
            workflow_id: "{{workflow_id}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-runs
          path: "/repos/{{owner}}/{{repo}}/actions/workflows/{{workflow_id}}/runs?per_page=1"
          inputParameters:
            - name: owner
              in: path
            - name: repo
              in: path
            - name: workflow_id
              in: path
          operations:
            - name: get-workflow-runs
              method: GET

Pulls web analytics from Google Analytics for Riot Games web properties.

naftiko: "0.5"
info:
  label: "Google Analytics Web Report"
  description: "Pulls web analytics from Google Analytics for Riot Games web properties."
  tags:
    - marketing
    - analytics
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: marketing-analytics
      port: 8080
      tools:
        - name: get-web-report
          description: "Retrieve Google Analytics metrics for a date range."
          inputParameters:
            - name: property_id
              in: body
              type: string
              description: "The GA4 property ID."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD."
            - name: end_date
              in: body
              type: string
              description: "End date in YYYY-MM-DD."
          call: "ga.run-report"
          with:
            property_id: "{{property_id}}"
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
  consumes:
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/{{property_id}}:runReport"
          inputParameters:
            - name: property_id
              in: path
          operations:
            - name: run-report
              method: POST

When an employee leaves, deactivates Azure AD, closes ServiceNow tickets, and notifies via Teams.

naftiko: "0.5"
info:
  label: "IT Asset Offboarding Orchestrator"
  description: "When an employee leaves, deactivates Azure AD, closes ServiceNow tickets, and notifies via Teams."
  tags:
    - hr
    - offboarding
    - workday
    - azure-active-directory
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-offboarding
      port: 8080
      tools:
        - name: offboard-employee
          description: "Given a Workday employee ID, deactivate Azure AD, close tickets, and notify."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee ID."
            - name: last_day
              in: body
              type: string
              description: "Last working day."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{employee_id}}"
            - name: disable-ad
              type: call
              call: "aad.disable-user"
              with:
                upn: "{{get-employee.work_email}}"
            - name: close-tickets
              type: call
              call: "servicenow.close-user-tickets"
              with:
                caller_id: "{{get-employee.work_email}}"
                close_notes: "Offboarding: {{get-employee.full_name}} last day {{last_day}}"
            - name: notify-hr
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "hr-team@riotgames.com"
                text: "Offboarding complete for {{get-employee.full_name}}. AD disabled, tickets closed."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: aad
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: users
          path: "/users/{{upn}}"
          inputParameters:
            - name: upn
              in: path
          operations:
            - name: disable-user
              method: PATCH
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident?sysparm_query=caller_id={{caller_id}}^state!=7"
          inputParameters:
            - name: caller_id
              in: path
          operations:
            - name: close-user-tickets
              method: PATCH
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves a Jira issue by key, returning summary, status, assignee, and priority.

naftiko: "0.5"
info:
  label: "Jira Issue Lookup"
  description: "Retrieves a Jira issue by key, returning summary, status, assignee, and priority."
  tags:
    - project-management
    - development
    - jira
capability:
  exposes:
    - type: mcp
      namespace: pm-jira
      port: 8080
      tools:
        - name: get-issue
          description: "Look up a Jira issue by key. Returns summary, status, assignee, and priority."
          inputParameters:
            - name: issue_key
              in: body
              type: string
              description: "The Jira issue key (e.g. GAME-1234)."
          call: "jira.get-issue"
          with:
            issue_key: "{{issue_key}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue/{{issue_key}}"
          inputParameters:
            - name: issue_key
              in: path
          operations:
            - name: get-issue
              method: GET

Sends an email via Microsoft Graph.

naftiko: "0.5"
info:
  label: "Microsoft Outlook Email Notification"
  description: "Sends an email via Microsoft Graph."
  tags:
    - communications
    - email
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: comms-email
      port: 8080
      tools:
        - name: send-email
          description: "Send an email via Microsoft Graph."
          inputParameters:
            - name: to_email
              in: body
              type: string
              description: "Recipient email."
            - name: subject
              in: body
              type: string
              description: "Email subject."
            - name: body
              in: body
              type: string
              description: "Email body."
          call: "outlook.send-mail"
          with:
            to: "{{to_email}}"
            subject: "{{subject}}"
            body: "{{body}}"
  consumes:
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-mail
              method: POST

Sends a message to a Microsoft Teams channel.

naftiko: "0.5"
info:
  label: "Microsoft Teams Channel Notification"
  description: "Sends a message to a Microsoft Teams channel."
  tags:
    - collaboration
    - messaging
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: comms-teams
      port: 8080
      tools:
        - name: send-channel-message
          description: "Send a message to a Microsoft Teams channel."
          inputParameters:
            - name: team_id
              in: body
              type: string
              description: "The Teams team ID."
            - name: channel_id
              in: body
              type: string
              description: "The channel ID."
            - name: message
              in: body
              type: string
              description: "The message content."
          call: "msteams.post-channel-message"
          with:
            team_id: "{{team_id}}"
            channel_id: "{{channel_id}}"
            text: "{{message}}"
  consumes:
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-channel-message
              method: POST

Retrieves a Perforce changelist status for game asset version control.

naftiko: "0.5"
info:
  label: "Perforce Changelist Status"
  description: "Retrieves a Perforce changelist status for game asset version control."
  tags:
    - devops
    - version-control
    - perforce
capability:
  exposes:
    - type: mcp
      namespace: devops-perforce
      port: 8080
      tools:
        - name: get-changelist
          description: "Look up a Perforce changelist by number. Returns description, author, and file count."
          inputParameters:
            - name: changelist_number
              in: body
              type: string
              description: "The Perforce changelist number."
          call: "perforce.get-changelist"
          with:
            changelist: "{{changelist_number}}"
  consumes:
    - type: http
      namespace: perforce
      baseUri: "https://perforce.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.perforce_token"
      resources:
        - name: changelists
          path: "/changelists/{{changelist}}"
          inputParameters:
            - name: changelist
              in: path
          operations:
            - name: get-changelist
              method: GET

Retrieves a player account from the Riot player platform by PUUID, returning account status, region, and game entitlements.

naftiko: "0.5"
info:
  label: "Player Account Lookup"
  description: "Retrieves a player account from the Riot player platform by PUUID, returning account status, region, and game entitlements."
  tags:
    - player-systems
    - accounts
    - game-ops
capability:
  exposes:
    - type: mcp
      namespace: player-accounts
      port: 8080
      tools:
        - name: get-player-account
          description: "Look up a player account by PUUID. Returns account status, region, and entitlements."
          inputParameters:
            - name: puuid
              in: body
              type: string
              description: "The player universally unique identifier."
          call: "player-api.get-account"
          with:
            puuid: "{{puuid}}"
  consumes:
    - type: http
      namespace: player-api
      baseUri: "https://player.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.player_api_token"
      resources:
        - name: accounts
          path: "/accounts/{{puuid}}"
          inputParameters:
            - name: puuid
              in: path
          operations:
            - name: get-account
              method: GET

Orchestrates player behavior reward pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Behavior Reward Pipeline"
  description: "Orchestrates player behavior reward pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - twitch
    - confluence
    - pagerduty
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-behavior-reward-pipeline
          description: "Orchestrates player behavior reward pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "twitch.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "pagerduty.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://riotgames.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Retrieves player chat log lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Chat Log Lookup"
  description: "Retrieves player chat log lookup data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-chat-log-lookup
          description: "Retrieves player chat log lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-chat-log-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/chat/log/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-chat-log-lookup
              method: GET

Orchestrates player churn prediction pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Churn Prediction Pipeline"
  description: "Orchestrates player churn prediction pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - datadog
    - discord
    - twitch
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-churn-prediction-pipeline
          description: "Orchestrates player churn prediction pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "discord.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "twitch.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Retrieves player club membership lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Club Membership Lookup"
  description: "Retrieves player club membership lookup data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-club-membership-lookup
          description: "Retrieves player club membership lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-club-membership-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/club/membership/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-club-membership-lookup
              method: GET

Orchestrates player community management pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Community Management Pipeline"
  description: "Orchestrates player community management pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - datadog
    - discord
    - twitch
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-community-management-pipeline
          description: "Orchestrates player community management pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "discord.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "twitch.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api/v10"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: discord-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      resources:
        - name: twitch-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Orchestrates player competitive integrity pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Competitive Integrity Pipeline"
  description: "Orchestrates player competitive integrity pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - slack
    - jira
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-competitive-integrity-pipeline
          description: "Orchestrates player competitive integrity pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Orchestrates player data portability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Data Portability Pipeline"
  description: "Orchestrates player data portability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-data-portability-pipeline
          description: "Orchestrates player data portability pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Queries player engagement metrics from the analytics platform including DAU, session length, and retention rate.

naftiko: "0.5"
info:
  label: "Player Engagement Analytics"
  description: "Queries player engagement metrics from the analytics platform including DAU, session length, and retention rate."
  tags:
    - analytics
    - player-systems
    - game-ops
capability:
  exposes:
    - type: mcp
      namespace: analytics-engagement
      port: 8080
      tools:
        - name: get-engagement-metrics
          description: "Query player engagement metrics for a game and region. Returns DAU, session length, and retention."
          inputParameters:
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: region
              in: body
              type: string
              description: "The game region."
            - name: date
              in: body
              type: string
              description: "The date in YYYY-MM-DD format."
          call: "analytics-api.get-engagement"
          with:
            game: "{{game_title}}"
            region: "{{region}}"
            date: "{{date}}"
  consumes:
    - type: http
      namespace: analytics-api
      baseUri: "https://analytics.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_api_token"
      resources:
        - name: engagement
          path: "/engagement?game={{game}}&region={{region}}&date={{date}}"
          inputParameters:
            - name: game
              in: path
            - name: region
              in: path
            - name: date
              in: path
          operations:
            - name: get-engagement
              method: GET

Retrieves player honor level lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Honor Level Lookup"
  description: "Retrieves player honor level lookup data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-honor-level-lookup
          description: "Retrieves player honor level lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-honor-level-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/honor/level/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-honor-level-lookup
              method: GET

Retrieves player match replay status data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Match Replay Status"
  description: "Retrieves player match replay status data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - status
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-match-replay-status
          description: "Retrieves player match replay status data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-match-replay-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/match/replay/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-match-replay-status
              method: GET

Orchestrates player onboarding tutorial pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Onboarding Tutorial Pipeline"
  description: "Orchestrates player onboarding tutorial pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - pagerduty
    - riot
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-onboarding-tutorial-pipeline
          description: "Orchestrates player onboarding tutorial pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "pagerduty.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "riot.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Retrieves player purchase history data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Purchase History"
  description: "Retrieves player purchase history data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - history
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-purchase-history
          description: "Retrieves player purchase history data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-purchase-history"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/purchase/history/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-purchase-history
              method: GET

Retrieves player ranked stats data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Player Ranked Stats"
  description: "Retrieves player ranked stats data from the Riot Games video game development and esports systems."
  tags:
    - player
    - riot-games
    - stats
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-ranked-stats
          description: "Retrieves player ranked stats data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.player-ranked-stats"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/player/ranked/stats/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: player-ranked-stats
              method: GET

When a player behavior report is submitted, fetches match data, analyzes chat logs, creates a moderation case, and notifies the player behavior team.

naftiko: "0.5"
info:
  label: "Player Report Investigation Orchestrator"
  description: "When a player behavior report is submitted, fetches match data, analyzes chat logs, creates a moderation case, and notifies the player behavior team."
  tags:
    - player-systems
    - moderation
    - game-ops
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: player-moderation
      port: 8080
      tools:
        - name: investigate-player-report
          description: "Given a report ID, fetch match data, analyze chat, create moderation case, and notify team."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The player report ID."
            - name: game_title
              in: body
              type: string
              description: "The game title."
          steps:
            - name: get-report
              type: call
              call: "moderation-api.get-report"
              with:
                report_id: "{{report_id}}"
            - name: get-match-data
              type: call
              call: "match-api.get-match"
              with:
                match_id: "{{get-report.match_id}}"
                game: "{{game_title}}"
            - name: create-case
              type: call
              call: "moderation-api.create-case"
              with:
                reported_puuid: "{{get-report.reported_puuid}}"
                reporter_puuid: "{{get-report.reporter_puuid}}"
                match_id: "{{get-report.match_id}}"
                reason: "{{get-report.reason}}"
                evidence: "{{get-match-data.chat_log}}"
            - name: notify-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "player_behavior"
                channel: "Reports"
                text: "New moderation case: Report {{report_id}} in {{game_title}}. Reported: {{get-report.reported_puuid}}. Reason: {{get-report.reason}}. Case: {{create-case.case_id}}."
  consumes:
    - type: http
      namespace: moderation-api
      baseUri: "https://moderation.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.moderation_api_token"
      resources:
        - name: reports
          path: "/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-report
              method: GET
        - name: cases
          path: "/cases"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: match-api
      baseUri: "https://match.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.match_api_token"
      resources:
        - name: matches
          path: "/matches/{{match_id}}?game={{game}}"
          inputParameters:
            - name: match_id
              in: path
            - name: game
              in: path
          operations:
            - name: get-match
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST

Orchestrates player report investigation workflow across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Report Investigation Workflow"
  description: "Orchestrates player report investigation workflow across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - pagerduty
    - riot
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-report-investigation-workflow
          description: "Orchestrates player report investigation workflow across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "pagerduty.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "riot.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: pagerduty-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: riot-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Orchestrates player support ticket classification across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Support Ticket Classification"
  description: "Orchestrates player support ticket classification across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - slack
    - jira
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-support-ticket-classification
          description: "Orchestrates player support ticket classification across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

When a severe toxicity report is confirmed, restricts the player account, creates a Jira escalation ticket, notifies the player behavior team via Teams, and sends a Discord mod alert.

naftiko: "0.5"
info:
  label: "Player Toxicity Escalation Orchestrator"
  description: "When a severe toxicity report is confirmed, restricts the player account, creates a Jira escalation ticket, notifies the player behavior team via Teams, and sends a Discord mod alert."
  tags:
    - player-systems
    - moderation
    - jira
    - microsoft-teams
    - discord
capability:
  exposes:
    - type: mcp
      namespace: player-toxicity
      port: 8080
      tools:
        - name: escalate-toxicity
          description: "Given a case ID and player PUUID, restrict account, create Jira ticket, notify behavior team, and alert Discord mods."
          inputParameters:
            - name: case_id
              in: body
              type: string
              description: "The moderation case ID."
            - name: puuid
              in: body
              type: string
              description: "The player PUUID."
            - name: game_title
              in: body
              type: string
              description: "The game title."
            - name: violation_type
              in: body
              type: string
              description: "The type of toxicity violation."
          steps:
            - name: restrict-account
              type: call
              call: "player-api.restrict-account"
              with:
                puuid: "{{puuid}}"
                restriction_type: "chat_restrict"
                game: "{{game_title}}"
                duration: "14d"
            - name: create-escalation
              type: call
              call: "jira.create-issue"
              with:
                project: "BEHAVIOR"
                summary: "Toxicity escalation: {{puuid}} in {{game_title}}"
                description: "Case: {{case_id}}. Violation: {{violation_type}}. Restriction: chat_restrict 14d."
                issue_type: "Bug"
                priority: "High"
            - name: notify-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "player_behavior"
                channel: "Escalations"
                text: "Toxicity escalation: {{puuid}} in {{game_title}}. Violation: {{violation_type}}. Restricted 14d. Jira: {{create-escalation.key}}."
            - name: alert-discord
              type: call
              call: "discord.send-webhook"
              with:
                webhook_id: "$secrets.discord_mod_webhook_id"
                content: "Mod alert: Player {{puuid}} restricted in {{game_title}} for {{violation_type}}. Case: {{case_id}}."
  consumes:
    - type: http
      namespace: player-api
      baseUri: "https://player.riotgames.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.player_api_token"
      resources:
        - name: restrictions
          path: "/accounts/{{puuid}}/restrictions"
          inputParameters:
            - name: puuid
              in: path
          operations:
            - name: restrict-account
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://riotgames.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: discord
      baseUri: "https://discord.com/api"
      authentication:
        type: bearer
        token: "$secrets.discord_bot_token"
      resources:
        - name: webhooks
          path: "/webhooks/{{webhook_id}}/{{webhook_token}}"
          inputParameters:
            - name: webhook_id
              in: path
          operations:
            - name: send-webhook
              method: POST

Orchestrates player toxicity machine learning pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Player Toxicity Machine Learning Pipeline"
  description: "Orchestrates player toxicity machine learning pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
  tags:
    - player
    - riot-games
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: player
      port: 8080
      tools:
        - name: player-toxicity-machine-learning-pipeline
          description: "Orchestrates player toxicity machine learning pipeline across video game development and esports systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/player"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://riotgames.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/player"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/player"
          operations:
            - name: execute-3
              method: POST

Retrieves a ServiceNow incident by number, returning priority, state, and assigned group.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Status"
  description: "Retrieves a ServiceNow incident by number, returning priority, state, and assigned group."
  tags:
    - it-support
    - itsm
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: itsm
      port: 8080
      tools:
        - name: get-incident
          description: "Look up a ServiceNow incident by number."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number."
          call: "servicenow.get-incident"
          with:
            incident_number: "{{incident_number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://riotgames.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident?sysparm_query=number={{incident_number}}"
          inputParameters:
            - name: incident_number
              in: path
          operations:
            - name: get-incident
              method: GET

Retrieves document metadata from a SharePoint site.

naftiko: "0.5"
info:
  label: "SharePoint Document Retrieval"
  description: "Retrieves document metadata from a SharePoint site."
  tags:
    - collaboration
    - documents
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: docs-sharepoint
      port: 8080
      tools:
        - name: get-document
          description: "Retrieve a SharePoint document by site and path."
          inputParameters:
            - name: site_id
              in: body
              type: string
              description: "The SharePoint site ID."
            - name: file_path
              in: body
              type: string
              description: "The file path."
          call: "sharepoint.get-file"
          with:
            site_id: "{{site_id}}"
            file_path: "{{file_path}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: files
          path: "/{{site_id}}/drive/root:/{{file_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: get-file
              method: GET

Retrieves skin catalog lookup data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Skin Catalog Lookup"
  description: "Retrieves skin catalog lookup data from the Riot Games video game development and esports systems."
  tags:
    - skin
    - riot-games
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: skin
      port: 8080
      tools:
        - name: skin-catalog-lookup
          description: "Retrieves skin catalog lookup data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.skin-catalog-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/skin/catalog/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: skin-catalog-lookup
              method: GET

Sends a message to a Slack channel for team notifications.

naftiko: "0.5"
info:
  label: "Slack Channel Notification"
  description: "Sends a message to a Slack channel for team notifications."
  tags:
    - collaboration
    - messaging
    - slack
capability:
  exposes:
    - type: mcp
      namespace: comms-slack
      port: 8080
      tools:
        - name: send-slack-message
          description: "Post a message to a Slack channel."
          inputParameters:
            - name: channel
              in: body
              type: string
              description: "The Slack channel ID."
            - name: message
              in: body
              type: string
              description: "The message text."
          call: "slack.post-message"
          with:
            channel: "{{channel}}"
            text: "{{message}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Runs a search query against Splunk for game server and application log analysis.

naftiko: "0.5"
info:
  label: "Splunk Log Query"
  description: "Runs a search query against Splunk for game server and application log analysis."
  tags:
    - monitoring
    - log-analysis
    - splunk
capability:
  exposes:
    - type: mcp
      namespace: ops-splunk
      port: 8080
      tools:
        - name: search-logs
          description: "Run a Splunk search query. Returns matching log events."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The Splunk search query (SPL)."
            - name: earliest
              in: body
              type: string
              description: "The earliest time for the search."
            - name: latest
              in: body
              type: string
              description: "The latest time for the search."
          call: "splunk.create-search"
          with:
            search: "{{query}}"
            earliest_time: "{{earliest}}"
            latest_time: "{{latest}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.riotgames.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search
          path: "/search/jobs"
          operations:
            - name: create-search
              method: POST

Retrieves tournament bracket status data from the Riot Games video game development and esports systems.

naftiko: "0.5"
info:
  label: "Tournament Bracket Status"
  description: "Retrieves tournament bracket status data from the Riot Games video game development and esports systems."
  tags:
    - tournament
    - riot-games
    - status
capability:
  exposes:
    - type: mcp
      namespace: tournament
      port: 8080
      tools:
        - name: tournament-bracket-status
          description: "Retrieves tournament bracket status data from the Riot Games video game development and esports systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "riot.tournament-bracket-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: riot
      baseUri: "https://api.riotgames.com/v2"
      authentication:
        type: bearer
        token: "$secrets.riot_api_token"
      resources:
        - name: resource
          path: "/tournament/bracket/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: tournament-bracket-status
              method: GET

Retrieves the live status of a Twitch stream for esports broadcast monitoring.

naftiko: "0.5"
info:
  label: "Twitch Stream Status"
  description: "Retrieves the live status of a Twitch stream for esports broadcast monitoring."
  tags:
    - esports
    - streaming
    - twitch
capability:
  exposes:
    - type: mcp
      namespace: esports-twitch
      port: 8080
      tools:
        - name: get-stream-status
          description: "Check if a Twitch channel is live. Returns viewer count, title, and game."
          inputParameters:
            - name: channel_name
              in: body
              type: string
              description: "The Twitch channel name."
          call: "twitch.get-stream"
          with:
            channel_name: "{{channel_name}}"
  consumes:
    - type: http
      namespace: twitch
      baseUri: "https://api.twitch.tv/helix"
      authentication:
        type: bearer
        token: "$secrets.twitch_token"
      inputParameters:
        - name: Client-ID
          in: header
          value: "$secrets.twitch_client_id"
      resources:
        - name: streams
          path: "/streams?user_login={{channel_name}}"
          inputParameters:
            - name: channel_name
              in: path
          operations:
            - name: get-stream
              method: GET

Posts a tweet to the official game account for community announcements.

naftiko: "0.5"
info:
  label: "Twitter Social Post"
  description: "Posts a tweet to the official game account for community announcements."
  tags:
    - community
    - social-media
    - twitter
capability:
  exposes:
    - type: mcp
      namespace: comms-twitter
      port: 8080
      tools:
        - name: create-tweet
          description: "Post a tweet to the official account."
          inputParameters:
            - name: text
              in: body
              type: string
              description: "The tweet text."
          call: "twitter.create-tweet"
          with:
            text: "{{text}}"
  consumes:
    - type: http
      namespace: twitter
      baseUri: "https://api.twitter.com/2"
      authentication:
        type: bearer
        token: "$secrets.twitter_bearer_token"
      resources:
        - name: tweets
          path: "/tweets"
          operations:
            - name: create-tweet
              method: POST

Looks up an employee in Workday by ID, returning name, department, title, and manager.

naftiko: "0.5"
info:
  label: "Workday Employee Directory Lookup"
  description: "Looks up an employee in Workday by ID, returning name, department, title, and manager."
  tags:
    - hr
    - directory
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-directory
      port: 8080
      tools:
        - name: get-employee
          description: "Look up a Workday employee by ID."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{employee_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET

Retrieves YouTube channel analytics for esports and game trailer performance.

naftiko: "0.5"
info:
  label: "YouTube Channel Analytics"
  description: "Retrieves YouTube channel analytics for esports and game trailer performance."
  tags:
    - marketing
    - analytics
    - youtube
capability:
  exposes:
    - type: mcp
      namespace: marketing-youtube
      port: 8080
      tools:
        - name: get-channel-analytics
          description: "Query YouTube Analytics for a channel. Returns views, watch time, and subscriber growth."
          inputParameters:
            - name: channel_id
              in: body
              type: string
              description: "The YouTube channel ID."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD."
            - name: end_date
              in: body
              type: string
              description: "End date in YYYY-MM-DD."
          call: "youtube.get-analytics"
          with:
            channel_id: "{{channel_id}}"
            startDate: "{{start_date}}"
            endDate: "{{end_date}}"
  consumes:
    - type: http
      namespace: youtube
      baseUri: "https://youtubeanalytics.googleapis.com/v2"
      authentication:
        type: bearer
        token: "$secrets.youtube_token"
      resources:
        - name: reports
          path: "/reports?ids=channel=={{channel_id}}&startDate={{startDate}}&endDate={{endDate}}&metrics=views,estimatedMinutesWatched,subscribersGained"
          inputParameters:
            - name: channel_id
              in: path
            - name: startDate
              in: path
            - name: endDate
              in: path
          operations:
            - name: get-analytics
              method: GET

Retrieves a Zendesk support ticket by ID for player support workflows.

naftiko: "0.5"
info:
  label: "Zendesk Support Ticket Lookup"
  description: "Retrieves a Zendesk support ticket by ID for player support workflows."
  tags:
    - customer-support
    - support
    - zendesk
capability:
  exposes:
    - type: mcp
      namespace: support-zendesk
      port: 8080
      tools:
        - name: get-ticket
          description: "Look up a Zendesk support ticket by ID."
          inputParameters:
            - name: ticket_id
              in: body
              type: string
              description: "The Zendesk ticket ID."
          call: "zendesk.get-ticket"
          with:
            ticket_id: "{{ticket_id}}"
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://riotgames.zendesk.com/api/v2"
      authentication:
        type: basic
        username: "$secrets.zendesk_user"
        password: "$secrets.zendesk_api_token"
      resources:
        - name: tickets
          path: "/tickets/{{ticket_id}}"
          inputParameters:
            - name: ticket_id
              in: path
          operations:
            - name: get-ticket
              method: GET

Creates a Zoom meeting and returns the join URL.

naftiko: "0.5"
info:
  label: "Zoom Meeting Scheduler"
  description: "Creates a Zoom meeting and returns the join URL."
  tags:
    - collaboration
    - meetings
    - zoom
capability:
  exposes:
    - type: mcp
      namespace: comms-zoom
      port: 8080
      tools:
        - name: create-meeting
          description: "Create a Zoom meeting. Returns meeting ID and join URL."
          inputParameters:
            - name: topic
              in: body
              type: string
              description: "The meeting topic."
            - name: start_time
              in: body
              type: string
              description: "Start time in ISO 8601."
            - name: duration
              in: body
              type: number
              description: "Duration in minutes."
          call: "zoom.create-meeting"
          with:
            topic: "{{topic}}"
            start_time: "{{start_time}}"
            duration: "{{duration}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST