Samsung Capabilities

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

Sort
Expand

Retrieves a firmware build artifact from Amazon S3 for Samsung consumer electronics OTA update pipelines.

naftiko: "0.5"
info:
  label: "Amazon S3 Firmware Artifact Retrieval"
  description: "Retrieves a firmware build artifact from Amazon S3 for Samsung consumer electronics OTA update pipelines."
  tags:
    - firmware
    - consumer-electronics
    - amazon-s3
capability:
  exposes:
    - type: mcp
      namespace: firmware-artifacts
      port: 8080
      tools:
        - name: get-firmware-artifact
          description: "Fetch firmware artifact metadata from S3 by bucket and key. Returns object size, last modified, and pre-signed URL."
          inputParameters:
            - name: bucket_name
              in: body
              type: string
              description: "The S3 bucket name (e.g., samsung-firmware-releases)."
            - name: object_key
              in: body
              type: string
              description: "The S3 object key path for the firmware artifact."
          call: "s3.head-object"
          with:
            bucket: "{{bucket_name}}"
            key: "{{object_key}}"
          outputParameters:
            - name: content_length
              type: string
              mapping: "$.ContentLength"
            - name: last_modified
              type: string
              mapping: "$.LastModified"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_s3_token"
      resources:
        - name: objects
          path: "/{{bucket}}/{{key}}"
          inputParameters:
            - name: bucket
              in: path
            - name: key
              in: path
          operations:
            - name: head-object
              method: HEAD

Queries Azure DevOps for work items related to Samsung embedded software and IoT firmware development backlogs.

naftiko: "0.5"
info:
  label: "Azure DevOps Work Item Query"
  description: "Queries Azure DevOps for work items related to Samsung embedded software and IoT firmware development backlogs."
  tags:
    - software-engineering
    - iot
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: iot-backlog
      port: 8080
      tools:
        - name: query-work-items
          description: "Execute a WIQL query against Azure DevOps to retrieve IoT firmware work items. Returns matching item IDs, titles, and states."
          inputParameters:
            - name: wiql_query
              in: body
              type: string
              description: "The WIQL query string."
          call: "azdo.run-wiql"
          with:
            query: "{{wiql_query}}"
  consumes:
    - type: http
      namespace: azdo
      baseUri: "https://dev.azure.com/samsung-iot/_apis/wit"
      authentication:
        type: basic
        username: "$secrets.azdo_user"
        password: "$secrets.azdo_pat"
      resources:
        - name: wiql
          path: "/wiql?api-version=7.0"
          operations:
            - name: run-wiql
              method: POST

# --- ORCHESTRATED CAPABILITIES (16–50) ---

Creates a Jira change request for semiconductor chip design changes, attaches CAD documentation from SharePoint, and notifies the design review board via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Chip Design Change Request Workflow"
  description: "Creates a Jira change request for semiconductor chip design changes, attaches CAD documentation from SharePoint, and notifies the design review board via Microsoft Teams."
  tags:
    - semiconductor
    - design
    - jira
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: chip-design-change
      port: 8080
      tools:
        - name: submit-design-change
          description: "Given design change details, create a Jira CR, link SharePoint CAD files, and notify the review board via Teams."
          inputParameters:
            - name: chip_project
              in: body
              type: string
              description: "The chip design project code (e.g., EXYNOS-2600)."
            - name: change_summary
              in: body
              type: string
              description: "Summary of the design change."
            - name: cad_folder_path
              in: body
              type: string
              description: "SharePoint folder path containing CAD documentation."
            - name: requestor_email
              in: body
              type: string
              description: "Email of the engineer submitting the change."
          steps:
            - name: create-change-request
              type: call
              call: "jira.create-issue"
              with:
                project: "CHIPDESIGN"
                issuetype: "Story"
                summary: "Design Change: {{chip_project}} — {{change_summary}}"
                description: "Project: {{chip_project}}\nRequestor: {{requestor_email}}\nCAD Docs: {{cad_folder_path}}\n\n{{change_summary}}"
            - name: get-cad-folder
              type: call
              call: "sharepoint.get-folder"
              with:
                site_id: "chip_design_site"
                folder_path: "{{cad_folder_path}}"
            - name: notify-review-board
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "chip-design-review@samsung.com"
                text: "Design Change Request: {{chip_project}}\nJira: {{create-change-request.key}}\nSummary: {{change_summary}}\nCAD Docs: {{get-cad-folder.webUrl}}\nRequestor: {{requestor_email}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: 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: get-folder
              method: GET
    - 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 chip design verification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Chip Design Verification Pipeline"
  description: "Orchestrates chip design verification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - chip
    - samsung
    - servicenow
    - sap
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: chip
      port: 8080
      tools:
        - name: chip-design-verification-pipeline
          description: "Orchestrates chip design verification pipeline across consumer electronics and semiconductors 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: "sap.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/chip"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/chip"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/chip"
          operations:
            - name: execute-3
              method: POST

Orchestrates chip packaging qualification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Chip Packaging Qualification Pipeline"
  description: "Orchestrates chip packaging qualification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - chip
    - samsung
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: chip
      port: 8080
      tools:
        - name: chip-packaging-qualification-pipeline
          description: "Orchestrates chip packaging qualification pipeline across consumer electronics and semiconductors 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://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/chip"
          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/chip"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/chip"
          operations:
            - name: execute-3
              method: POST

Retrieves chip power consumption report data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Chip Power Consumption Report"
  description: "Retrieves chip power consumption report data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - chip
    - samsung
    - report
capability:
  exposes:
    - type: mcp
      namespace: chip
      port: 8080
      tools:
        - name: chip-power-consumption-report
          description: "Retrieves chip power consumption report data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.chip-power-consumption-report"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/chip/power/consumption/report/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: chip-power-consumption-report
              method: GET

Queries Snowflake for process compliance data, pulls calibration records from SAP, and stores the audit evidence package in SharePoint for ISO auditors.

naftiko: "0.5"
info:
  label: "Compliance Audit Evidence Collector"
  description: "Queries Snowflake for process compliance data, pulls calibration records from SAP, and stores the audit evidence package in SharePoint for ISO auditors."
  tags:
    - compliance
    - audit
    - snowflake
    - sap
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: compliance-audit
      port: 8080
      tools:
        - name: collect-audit-evidence
          description: "Given an audit scope and date range, collect process compliance data, calibration records, and package evidence for auditors."
          inputParameters:
            - name: audit_id
              in: body
              type: string
              description: "The audit identifier."
            - name: fab_site
              in: body
              type: string
              description: "The fab site under audit."
            - name: start_date
              in: body
              type: string
              description: "Audit period start date (YYYY-MM-DD)."
            - name: end_date
              in: body
              type: string
              description: "Audit period end date (YYYY-MM-DD)."
          steps:
            - name: get-compliance-data
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT process_step, compliance_status, deviation_count, corrective_action_count FROM FAB_COMPLIANCE.PUBLIC.PROCESS_COMPLIANCE WHERE fab_site = '{{fab_site}}' AND audit_date BETWEEN '{{start_date}}' AND '{{end_date}}'"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_COMPLIANCE"
                schema: "PUBLIC"
            - name: get-calibration-records
              type: call
              call: "sap.get-calibration-summary"
              with:
                plant: "{{fab_site}}"
                date_from: "{{start_date}}"
                date_to: "{{end_date}}"
            - name: store-evidence
              type: call
              call: "sharepoint.create-file"
              with:
                site_id: "compliance_audit_site"
                folder_path: "Audits/{{audit_id}}/{{fab_site}}"
                file_name: "evidence_package_{{audit_id}}.json"
                content: "{\"audit_id\":\"{{audit_id}}\",\"fab_site\":\"{{fab_site}}\",\"period\":\"{{start_date}} to {{end_date}}\",\"compliance_data\":{{get-compliance-data.data}},\"calibration_records\":{{get-calibration-records.data}}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/PM_CALIBRATION_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: calibrations
          path: "/CalibrationSummarySet?$filter=Plant eq '{{plant}}' and DateFrom ge '{{date_from}}' and DateTo le '{{date_to}}'"
          inputParameters:
            - name: plant
              in: path
            - name: date_from
              in: path
            - name: date_to
              in: path
          operations:
            - name: get-calibration-summary
              method: GET
    - 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}}/{{file_name}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
            - name: file_name
              in: path
          operations:
            - name: create-file
              method: PUT

Searches Samsung Confluence for semiconductor fabrication process documentation by keyword. Returns matching page titles and links.

naftiko: "0.5"
info:
  label: "Confluence Fab Process Wiki Lookup"
  description: "Searches Samsung Confluence for semiconductor fabrication process documentation by keyword. Returns matching page titles and links."
  tags:
    - documentation
    - semiconductor
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: fab-docs
      port: 8080
      tools:
        - name: search-fab-wiki
          description: "Search Confluence for fabrication process documentation by keyword. Returns top matching pages."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The search keyword or phrase for fab process docs."
          call: "confluence.search-content"
          with:
            cql: "type=page AND space=FABPROC AND text~\"{{search_query}}\""
          outputParameters:
            - name: results
              type: array
              mapping: "$.results"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/content/search"
          inputParameters:
            - name: cql
              in: query
          operations:
            - name: search-content
              method: GET

Pulls return case data from Salesforce, queries Snowflake for product defect patterns, and creates a Jira investigation ticket for the consumer electronics quality team.

naftiko: "0.5"
info:
  label: "Consumer Electronics Return Analysis"
  description: "Pulls return case data from Salesforce, queries Snowflake for product defect patterns, and creates a Jira investigation ticket for the consumer electronics quality team."
  tags:
    - consumer-electronics
    - quality-assurance
    - salesforce
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: ce-returns-analysis
      port: 8080
      tools:
        - name: analyze-product-returns
          description: "Given a Salesforce case ID for a product return, pull case details, query defect patterns, and create a quality investigation ticket."
          inputParameters:
            - name: case_id
              in: body
              type: string
              description: "The Salesforce case ID for the product return."
            - name: product_sku
              in: body
              type: string
              description: "The Samsung product SKU."
          steps:
            - name: get-return-case
              type: call
              call: "salesforce.get-case"
              with:
                case_id: "{{case_id}}"
            - name: get-defect-patterns
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT defect_category, count(*) as occurrences, avg(days_to_failure) as avg_days FROM CE_QUALITY.PUBLIC.PRODUCT_RETURNS WHERE product_sku = '{{product_sku}}' AND return_date >= DATEADD(month, -3, CURRENT_DATE()) GROUP BY defect_category ORDER BY occurrences DESC"
                warehouse: "SAMSUNG_CE_WH"
                database: "CE_QUALITY"
                schema: "PUBLIC"
            - name: create-investigation
              type: call
              call: "jira.create-issue"
              with:
                project: "CEQUAL"
                issuetype: "Bug"
                summary: "Return Pattern Investigation: {{product_sku}} — Case {{case_id}}"
                description: "Customer Case: {{get-return-case.Subject}}\nStatus: {{get-return-case.Status}}\nProduct: {{product_sku}}\nTop Defect Category: {{get-defect-patterns.data[0][0]}} ({{get-defect-patterns.data[0][1]}} occurrences, avg {{get-defect-patterns.data[0][2]}} days to failure)"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case/{{case_id}}"
          inputParameters:
            - name: case_id
              in: path
          operations:
            - name: get-case
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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

When a Salesforce case is escalated, pulls customer account details, creates a Jira priority ticket for engineering, and notifies the account manager and support lead via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Customer Escalation Orchestrator"
  description: "When a Salesforce case is escalated, pulls customer account details, creates a Jira priority ticket for engineering, and notifies the account manager and support lead via Microsoft Teams."
  tags:
    - customer-service
    - escalation
    - salesforce
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: customer-escalation
      port: 8080
      tools:
        - name: handle-customer-escalation
          description: "Given an escalated Salesforce case ID, pull customer info, create an engineering ticket, and notify key stakeholders."
          inputParameters:
            - name: case_id
              in: body
              type: string
              description: "The Salesforce case ID."
            - name: account_manager_email
              in: body
              type: string
              description: "The account manager's email for notification."
          steps:
            - name: get-case
              type: call
              call: "salesforce.get-case"
              with:
                case_id: "{{case_id}}"
            - name: get-account
              type: call
              call: "salesforce.get-account"
              with:
                account_id: "{{get-case.AccountId}}"
            - name: create-eng-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "CUSTSUP"
                issuetype: "Bug"
                summary: "Customer Escalation: {{get-account.Name}} — {{get-case.Subject}}"
                description: "Escalated case {{case_id}} from {{get-account.Name}}.\nSubject: {{get-case.Subject}}\nDescription: {{get-case.Description}}\nPriority: Critical"
                priority: "Highest"
            - name: notify-stakeholders
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{account_manager_email}}"
                text: "CUSTOMER ESCALATION: {{get-account.Name}}\nCase: {{case_id}} — {{get-case.Subject}}\nEngineering Ticket: {{create-eng-ticket.key}}\nPlease coordinate resolution."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case/{{case_id}}"
          inputParameters:
            - name: case_id
              in: path
          operations:
            - name: get-case
              method: GET
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates customer experience analytics pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Experience Analytics Pipeline"
  description: "Orchestrates customer experience analytics pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - samsung
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-experience-analytics-pipeline
          description: "Orchestrates customer experience analytics pipeline across consumer electronics and semiconductors 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: "teams.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/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Queries Datadog for real-time semiconductor fabrication line metrics such as wafer throughput, defect rate, and equipment utilization.

naftiko: "0.5"
info:
  label: "Datadog Fab Line Metric Query"
  description: "Queries Datadog for real-time semiconductor fabrication line metrics such as wafer throughput, defect rate, and equipment utilization."
  tags:
    - monitoring
    - semiconductor
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: fab-monitoring
      port: 8080
      tools:
        - name: query-fab-metrics
          description: "Query Datadog for fab line metrics over a time range. Returns metric series data for the specified fab equipment."
          inputParameters:
            - name: metric_name
              in: body
              type: string
              description: "The Datadog metric name (e.g., samsung.fab.wafer_throughput)."
            - name: equipment_tag
              in: body
              type: string
              description: "The equipment tag filter (e.g., line:fab_7nm_a)."
            - name: time_range
              in: body
              type: string
              description: "Time range in seconds from now (e.g., 3600 for last hour)."
          call: "datadog.query-metrics"
          with:
            query: "avg:{{metric_name}}{{{equipment_tag}}}"
            from: "{{time_range}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET

Orchestrates display burn in testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Display Burn In Testing Pipeline"
  description: "Orchestrates display burn in testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - display
    - samsung
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: display
      port: 8080
      tools:
        - name: display-burn-in-testing-pipeline
          description: "Orchestrates display burn in testing pipeline across consumer electronics and semiconductors 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: "teams.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/display"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/display"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/display"
          operations:
            - name: execute-3
              method: POST

Retrieves display color calibration data data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Display Color Calibration Data"
  description: "Retrieves display color calibration data data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - display
    - samsung
    - data
capability:
  exposes:
    - type: mcp
      namespace: display
      port: 8080
      tools:
        - name: display-color-calibration-data
          description: "Retrieves display color calibration data data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.display-color-calibration-data"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/display/color/calibration/data/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: display-color-calibration-data
              method: GET

Orchestrates display manufacturing quality pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Display Manufacturing Quality Pipeline"
  description: "Orchestrates display manufacturing quality pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - display
    - samsung
    - sap
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: display
      port: 8080
      tools:
        - name: display-manufacturing-quality-pipeline
          description: "Orchestrates display manufacturing quality pipeline across consumer electronics and semiconductors 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: "sap.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: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/display"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/display"
          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/display"
          operations:
            - name: execute-3
              method: POST

Orchestrates display oled lifetime pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Display Oled Lifetime Pipeline"
  description: "Orchestrates display oled lifetime pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - display
    - samsung
    - teams
    - confluence
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: display
      port: 8080
      tools:
        - name: display-oled-lifetime-pipeline
          description: "Orchestrates display oled lifetime pipeline across consumer electronics and semiconductors 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: "teams.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: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/display"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/display"
          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/display"
          operations:
            - name: execute-3
              method: POST

Retrieves display panel defect rate data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Display Panel Defect Rate"
  description: "Retrieves display panel defect rate data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - display
    - samsung
    - rate
capability:
  exposes:
    - type: mcp
      namespace: display
      port: 8080
      tools:
        - name: display-panel-defect-rate
          description: "Retrieves display panel defect rate data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.display-panel-defect-rate"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/display/panel/defect/rate/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: display-panel-defect-rate
              method: GET

Queries Snowflake for display panel test results, checks the Salesforce customer spec against tolerance, and creates a Jira disposition ticket if out-of-spec panels are detected.

naftiko: "0.5"
info:
  label: "Display Panel Quality Gate"
  description: "Queries Snowflake for display panel test results, checks the Salesforce customer spec against tolerance, and creates a Jira disposition ticket if out-of-spec panels are detected."
  tags:
    - consumer-electronics
    - quality-assurance
    - display
    - snowflake
    - salesforce
    - jira
capability:
  exposes:
    - type: mcp
      namespace: display-quality
      port: 8080
      tools:
        - name: run-display-quality-gate
          description: "Given a panel lot ID and customer account, check test results against customer specs and create a disposition ticket if needed."
          inputParameters:
            - name: panel_lot_id
              in: body
              type: string
              description: "The display panel lot identifier."
            - name: customer_account_id
              in: body
              type: string
              description: "The Salesforce customer account ID."
          steps:
            - name: get-test-results
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT panel_id, brightness_nit, color_accuracy_delta_e, pixel_defect_count, test_result FROM DISPLAY_QC.PUBLIC.PANEL_TESTS WHERE lot_id = '{{panel_lot_id}}' AND test_result = 'FAIL'"
                warehouse: "SAMSUNG_DISPLAY_WH"
                database: "DISPLAY_QC"
                schema: "PUBLIC"
            - name: get-customer-spec
              type: call
              call: "salesforce.get-account"
              with:
                account_id: "{{customer_account_id}}"
            - name: create-disposition-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "DISPQUAL"
                issuetype: "Task"
                summary: "Display Panel Disposition: Lot {{panel_lot_id}} — {{get-customer-spec.Name}}"
                description: "Failed panels detected in lot {{panel_lot_id}} for customer {{get-customer-spec.Name}}.\nFailed panel count: {{get-test-results.rowCount}}\nReview test data and determine disposition (rework, scrap, or downgrade)."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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

Ingests DRAM test results from Snowflake, compares against Datadog real-time parametric data, and publishes a summary to Confluence for the memory engineering team.

naftiko: "0.5"
info:
  label: "DRAM Test Data Pipeline"
  description: "Ingests DRAM test results from Snowflake, compares against Datadog real-time parametric data, and publishes a summary to Confluence for the memory engineering team."
  tags:
    - semiconductor
    - memory
    - testing
    - snowflake
    - datadog
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: dram-testing
      port: 8080
      tools:
        - name: analyze-dram-test-data
          description: "Given a DRAM lot ID and test program, pull test results, compare with real-time parametric data, and publish analysis."
          inputParameters:
            - name: dram_lot_id
              in: body
              type: string
              description: "The DRAM lot identifier."
            - name: test_program
              in: body
              type: string
              description: "The test program name (e.g., DDR5-16GB-FINAL)."
          steps:
            - name: get-test-results
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT wafer_id, bin_code, pass_fail, test_time_sec, parametric_summary FROM MEMORY_TEST.PUBLIC.DRAM_RESULTS WHERE lot_id = '{{dram_lot_id}}' AND test_program = '{{test_program}}'"
                warehouse: "SAMSUNG_MEMORY_WH"
                database: "MEMORY_TEST"
                schema: "PUBLIC"
            - name: get-parametric-trends
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.memory.parametric.vdd{lot:{{dram_lot_id}}}"
                from: "86400"
            - name: publish-analysis
              type: call
              call: "confluence.create-page"
              with:
                space_key: "MEMENG"
                title: "DRAM Test Analysis: {{dram_lot_id}} — {{test_program}}"
                body: "Lot: {{dram_lot_id}} | Test Program: {{test_program}}\nTotal wafers tested: {{get-test-results.rowCount}}\nParametric VDD trend (24h): {{get-parametric-trends.series[0].pointlist[-1][1]}}V\nDetailed results available in Snowflake MEMORY_TEST database."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Creates an engineering change order in Jira, updates the BOM in SAP, stores updated design files in SharePoint, and notifies affected teams via Slack.

naftiko: "0.5"
info:
  label: "Engineering Change Order Processor"
  description: "Creates an engineering change order in Jira, updates the BOM in SAP, stores updated design files in SharePoint, and notifies affected teams via Slack."
  tags:
    - engineering
    - change-management
    - jira
    - sap
    - sharepoint
    - slack
capability:
  exposes:
    - type: mcp
      namespace: engineering-change
      port: 8080
      tools:
        - name: process-engineering-change
          description: "Given ECO details, create the change order, update the BOM, store design files, and notify affected teams."
          inputParameters:
            - name: eco_title
              in: body
              type: string
              description: "Title of the engineering change order."
            - name: affected_material
              in: body
              type: string
              description: "The SAP material number affected."
            - name: change_description
              in: body
              type: string
              description: "Detailed description of the change."
            - name: design_folder_path
              in: body
              type: string
              description: "SharePoint path for updated design files."
          steps:
            - name: create-eco
              type: call
              call: "jira.create-issue"
              with:
                project: "ECO"
                issuetype: "Story"
                summary: "ECO: {{eco_title}}"
                description: "Material: {{affected_material}}\n{{change_description}}\nDesign Files: {{design_folder_path}}"
            - name: update-bom
              type: call
              call: "sap.update-bom"
              with:
                material: "{{affected_material}}"
                eco_reference: "{{create-eco.key}}"
            - name: store-design-files
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "engineering_docs_site"
                folder_path: "ECO/{{create-eco.key}}/{{design_folder_path}}"
            - name: notify-affected-teams
              type: call
              call: "slack.post-message"
              with:
                channel: "C_ENGINEERING_CHANGES"
                text: "Engineering Change Order: {{eco_title}}\nJira: {{create-eco.key}}\nMaterial: {{affected_material}}\nBOM updated. Design files: {{store-design-files.url}}\nPlease review impact to your area."
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/PP_BOM_MAINT_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: bom
          path: "/A_BillOfMaterial"
          operations:
            - name: update-bom
              method: PATCH
    - 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: 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

When fab equipment approaches a maintenance window, queries SAP for asset details, creates a ServiceNow maintenance task, and updates the Confluence maintenance calendar.

naftiko: "0.5"
info:
  label: "Equipment Maintenance Scheduler"
  description: "When fab equipment approaches a maintenance window, queries SAP for asset details, creates a ServiceNow maintenance task, and updates the Confluence maintenance calendar."
  tags:
    - maintenance
    - semiconductor
    - sap
    - servicenow
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: equipment-maintenance
      port: 8080
      tools:
        - name: schedule-equipment-maintenance
          description: "Given an equipment asset number, fetch SAP asset details, create a maintenance task in ServiceNow, and update the Confluence maintenance wiki."
          inputParameters:
            - name: asset_number
              in: body
              type: string
              description: "The SAP equipment asset number."
            - name: maintenance_type
              in: body
              type: string
              description: "Type of maintenance (preventive, corrective, calibration)."
            - name: scheduled_date
              in: body
              type: string
              description: "Scheduled maintenance date in YYYY-MM-DD format."
          steps:
            - name: get-asset-details
              type: call
              call: "sap.get-equipment"
              with:
                equipment_id: "{{asset_number}}"
            - name: create-maintenance-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "{{maintenance_type}} maintenance: {{get-asset-details.EquipmentName}} ({{asset_number}})"
                description: "Scheduled {{maintenance_type}} maintenance for {{get-asset-details.EquipmentName}} on {{scheduled_date}}. Location: {{get-asset-details.FunctionalLocation}}. Last service: {{get-asset-details.LastMaintenanceDate}}."
                assigned_group: "Fab_Maintenance"
                category: "equipment_maintenance"
            - name: update-wiki
              type: call
              call: "confluence.create-page"
              with:
                space_key: "FABMAINT"
                title: "Maintenance: {{get-asset-details.EquipmentName}} — {{scheduled_date}}"
                body: "Task: {{create-maintenance-task.number}} | Type: {{maintenance_type}} | Equipment: {{asset_number}} | Location: {{get-asset-details.FunctionalLocation}}"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/PM_EQUIPMENT_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      inputParameters:
        - name: Accept
          in: header
          value: "application/json"
      resources:
        - name: equipment
          path: "/EquipmentSet('{{equipment_id}}')"
          inputParameters:
            - name: equipment_id
              in: path
          operations:
            - name: get-equipment
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_task"
          operations:
            - name: create-task
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Retrieves submitted expense reports from SAP Concur, validates against Workday cost center data, and opens a ServiceNow task for finance review when policy exceptions are detected.

naftiko: "0.5"
info:
  label: "Expense Report Compliance Reviewer"
  description: "Retrieves submitted expense reports from SAP Concur, validates against Workday cost center data, and opens a ServiceNow task for finance review when policy exceptions are detected."
  tags:
    - finance
    - expense-management
    - sap-concur
    - workday
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: expense-compliance
      port: 8080
      tools:
        - name: review-expense-report
          description: "Given a Concur expense report ID and employee ID, fetch the report, validate cost center, and flag policy violations."
          inputParameters:
            - name: expense_report_id
              in: body
              type: string
              description: "The SAP Concur expense report ID."
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee ID of the expense submitter."
          steps:
            - name: get-expense-report
              type: call
              call: "concur.get-expense-report"
              with:
                report_id: "{{expense_report_id}}"
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{employee_id}}"
            - name: open-review-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Expense policy review: {{get-expense-report.report_name}} — {{get-employee.full_name}}"
                description: "Report {{expense_report_id}} total: {{get-expense-report.total_amount}} {{get-expense-report.currency}}. Cost center: {{get-employee.cost_center}}. Submitted: {{get-expense-report.submit_date}}."
                assigned_group: "Finance_Audit"
                category: "expense_review"
  consumes:
    - type: http
      namespace: concur
      baseUri: "https://us.api.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: expense-reports
          path: "/expense/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-expense-report
              method: GET
    - 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://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_task"
          operations:
            - name: create-task
              method: POST

Queries Datadog for clean room environmental metrics, compares against Snowflake historical baselines, and creates a ServiceNow incident when thresholds are exceeded.

naftiko: "0.5"
info:
  label: "Fab Clean Room Environment Alert"
  description: "Queries Datadog for clean room environmental metrics, compares against Snowflake historical baselines, and creates a ServiceNow incident when thresholds are exceeded."
  tags:
    - semiconductor
    - monitoring
    - clean-room
    - datadog
    - snowflake
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: cleanroom-monitoring
      port: 8080
      tools:
        - name: check-cleanroom-environment
          description: "Given a clean room ID, check real-time environmental metrics against baselines and create an incident if thresholds are exceeded."
          inputParameters:
            - name: cleanroom_id
              in: body
              type: string
              description: "The clean room identifier (e.g., CR-FAB3-A)."
            - name: metric_type
              in: body
              type: string
              description: "Environmental metric to check (particle_count, temperature, humidity)."
          steps:
            - name: get-current-reading
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.fab.cleanroom.{{metric_type}}{cleanroom:{{cleanroom_id}}}"
                from: "300"
            - name: get-baseline
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT avg_value, stddev_value, upper_threshold FROM FAB_ENV.PUBLIC.CLEANROOM_BASELINES WHERE cleanroom_id = '{{cleanroom_id}}' AND metric_type = '{{metric_type}}'"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_ENV"
                schema: "PUBLIC"
            - name: create-alert-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Clean room alert: {{cleanroom_id}} — {{metric_type}} threshold exceeded"
                description: "Current {{metric_type}}: {{get-current-reading.series[0].pointlist[-1][1]}}. Baseline avg: {{get-baseline.data[0][0]}}. Upper threshold: {{get-baseline.data[0][2]}}. Immediate investigation required."
                category: "cleanroom_environment"
                assigned_group: "Fab_Facilities"
                priority: "1"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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

When a critical fab defect is detected, creates a Jira ticket, queries Datadog for related equipment metrics, and sends an urgent Slack notification to the fab quality channel.

naftiko: "0.5"
info:
  label: "Fab Defect Escalation Orchestrator"
  description: "When a critical fab defect is detected, creates a Jira ticket, queries Datadog for related equipment metrics, and sends an urgent Slack notification to the fab quality channel."
  tags:
    - quality-assurance
    - semiconductor
    - jira
    - datadog
    - slack
capability:
  exposes:
    - type: mcp
      namespace: fab-defect-escalation
      port: 8080
      tools:
        - name: escalate-fab-defect
          description: "Given defect details, create a Jira ticket, pull related equipment metrics from Datadog, and notify the fab quality team via Slack."
          inputParameters:
            - name: defect_description
              in: body
              type: string
              description: "Description of the fabrication defect."
            - name: equipment_id
              in: body
              type: string
              description: "The fab equipment identifier."
            - name: severity
              in: body
              type: string
              description: "Defect severity level (critical, high, medium, low)."
            - name: lot_id
              in: body
              type: string
              description: "The affected semiconductor lot ID."
          steps:
            - name: create-defect-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "FABDEF"
                issuetype: "Bug"
                summary: "Fab Defect [{{severity}}]: {{equipment_id}} — Lot {{lot_id}}"
                description: "{{defect_description}}"
                priority: "{{severity}}"
            - name: get-equipment-metrics
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.fab.equipment_health{equipment_id:{{equipment_id}}}"
                from: "3600"
            - name: notify-quality-team
              type: call
              call: "slack.post-message"
              with:
                channel: "C_FAB_QUALITY"
                text: "DEFECT ESCALATION [{{severity}}]\nEquipment: {{equipment_id}} | Lot: {{lot_id}}\nJira: {{create-defect-ticket.key}}\nEquipment health (1h): {{get-equipment-metrics.series[0].pointlist[-1][1]}}\nDetails: {{defect_description}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - 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

Checks GitHub Actions CI status for a firmware build, retrieves the artifact from S3, creates a Jira release ticket, and posts the release summary to Slack.

naftiko: "0.5"
info:
  label: "Firmware Release Pipeline"
  description: "Checks GitHub Actions CI status for a firmware build, retrieves the artifact from S3, creates a Jira release ticket, and posts the release summary to Slack."
  tags:
    - firmware
    - ci-cd
    - github
    - amazon-s3
    - jira
    - slack
capability:
  exposes:
    - type: mcp
      namespace: firmware-release
      port: 8080
      tools:
        - name: process-firmware-release
          description: "Given a firmware repo and version, verify the CI build, fetch the artifact, create a release ticket, and notify the team."
          inputParameters:
            - name: repo_name
              in: body
              type: string
              description: "The GitHub repository (e.g., samsung/galaxy-firmware)."
            - name: firmware_version
              in: body
              type: string
              description: "The firmware version string (e.g., v3.2.1)."
            - name: artifact_key
              in: body
              type: string
              description: "The S3 object key for the firmware binary."
          steps:
            - name: check-ci-status
              type: call
              call: "github.get-workflow-runs"
              with:
                repo: "{{repo_name}}"
            - name: get-artifact-info
              type: call
              call: "s3.head-object"
              with:
                bucket: "samsung-firmware-releases"
                key: "{{artifact_key}}"
            - name: create-release-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "FWREL"
                issuetype: "Task"
                summary: "Firmware Release {{firmware_version}} — {{repo_name}}"
                description: "CI status: {{check-ci-status.workflow_runs[0].conclusion}}. Artifact size: {{get-artifact-info.ContentLength}} bytes. Ready for OTA distribution."
            - name: notify-release-channel
              type: call
              call: "slack.post-message"
              with:
                channel: "C_FIRMWARE_RELEASES"
                text: "Firmware {{firmware_version}} release pipeline complete.\nCI: {{check-ci-status.workflow_runs[0].conclusion}}\nJira: {{create-release-ticket.key}}\nArtifact: s3://samsung-firmware-releases/{{artifact_key}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-runs
          path: "/repos/{{repo}}/actions/runs?per_page=1"
          inputParameters:
            - name: repo
              in: path
          operations:
            - name: get-workflow-runs
              method: GET
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_s3_token"
      resources:
        - name: objects
          path: "/{{bucket}}/{{key}}"
          inputParameters:
            - name: bucket
              in: path
            - name: key
              in: path
          operations:
            - name: head-object
              method: HEAD
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: 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

Orchestrates galaxy accessory compatibility pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Accessory Compatibility Pipeline"
  description: "Orchestrates galaxy accessory compatibility pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - datadog
    - github
    - samsung
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-accessory-compatibility-pipeline
          description: "Orchestrates galaxy accessory compatibility pipeline across consumer electronics and semiconductors 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: "github.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "samsung.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/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/galaxy"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/galaxy"
          operations:
            - name: execute-3
              method: POST

Retrieves galaxy device activation status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Galaxy Device Activation Status"
  description: "Retrieves galaxy device activation status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - galaxy
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-device-activation-status
          description: "Retrieves galaxy device activation status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.galaxy-device-activation-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/galaxy/device/activation/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: galaxy-device-activation-status
              method: GET

Retrieves the firmware artifact from S3, updates the rollout configuration in Salesforce, creates a Jira release tracking ticket, and notifies the OTA operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Galaxy Device OTA Update Coordinator"
  description: "Retrieves the firmware artifact from S3, updates the rollout configuration in Salesforce, creates a Jira release tracking ticket, and notifies the OTA operations team via Microsoft Teams."
  tags:
    - consumer-electronics
    - firmware
    - ota
    - amazon-s3
    - salesforce
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: ota-update
      port: 8080
      tools:
        - name: coordinate-ota-update
          description: "Given a device model and firmware version, verify the artifact, update rollout config, track the release, and notify operations."
          inputParameters:
            - name: device_model
              in: body
              type: string
              description: "The Galaxy device model (e.g., SM-S928B)."
            - name: firmware_version
              in: body
              type: string
              description: "The firmware version to deploy."
            - name: rollout_percentage
              in: body
              type: number
              description: "Initial rollout percentage (e.g., 5 for 5%)."
          steps:
            - name: verify-artifact
              type: call
              call: "s3.head-object"
              with:
                bucket: "samsung-ota-releases"
                key: "{{device_model}}/{{firmware_version}}/firmware.bin"
            - name: update-rollout-config
              type: call
              call: "salesforce.update-ota-config"
              with:
                device_model: "{{device_model}}"
                firmware_version: "{{firmware_version}}"
                rollout_pct: "{{rollout_percentage}}"
            - name: create-release-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "OTAREL"
                issuetype: "Task"
                summary: "OTA Release: {{device_model}} — {{firmware_version}} ({{rollout_percentage}}%)"
                description: "Device: {{device_model}}\nFirmware: {{firmware_version}}\nArtifact size: {{verify-artifact.ContentLength}} bytes\nInitial rollout: {{rollout_percentage}}%"
            - name: notify-ops
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "ota-operations@samsung.com"
                text: "OTA Update Initiated\nDevice: {{device_model}}\nFirmware: {{firmware_version}}\nRollout: {{rollout_percentage}}%\nJira: {{create-release-ticket.key}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_s3_token"
      resources:
        - name: objects
          path: "/{{bucket}}/{{key}}"
          inputParameters:
            - name: bucket
              in: path
            - name: key
              in: path
          operations:
            - name: head-object
              method: HEAD
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: ota-config
          path: "/sobjects/OTA_Rollout__c"
          operations:
            - name: update-ota-config
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates galaxy marketing campaign pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Marketing Campaign Pipeline"
  description: "Orchestrates galaxy marketing campaign pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - sap
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-marketing-campaign-pipeline
          description: "Orchestrates galaxy marketing campaign pipeline across consumer electronics and semiconductors 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: "sap.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: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/galaxy"
          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/galaxy"
          operations:
            - name: execute-3
              method: POST

Orchestrates galaxy product launch pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Product Launch Pipeline"
  description: "Orchestrates galaxy product launch pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - samsung
    - servicenow
    - sap
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-product-launch-pipeline
          description: "Orchestrates galaxy product launch pipeline across consumer electronics and semiconductors 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: "samsung.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: "sap.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/galaxy"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/galaxy"
          operations:
            - name: execute-3
              method: POST

Orchestrates galaxy repair logistics pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Repair Logistics Pipeline"
  description: "Orchestrates galaxy repair logistics pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-repair-logistics-pipeline
          description: "Orchestrates galaxy repair logistics pipeline across consumer electronics and semiconductors 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: "teams.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/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/galaxy"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/galaxy"
          operations:
            - name: execute-3
              method: POST

Retrieves galaxy store app listing data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Galaxy Store App Listing"
  description: "Retrieves galaxy store app listing data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - galaxy
    - samsung
    - listing
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-store-app-listing
          description: "Retrieves galaxy store app listing data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.galaxy-store-app-listing"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/galaxy/store/app/listing/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: galaxy-store-app-listing
              method: GET

Orchestrates galaxy sustainability program pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Sustainability Program Pipeline"
  description: "Orchestrates galaxy sustainability program pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - samsung
    - servicenow
    - sap
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-sustainability-program-pipeline
          description: "Orchestrates galaxy sustainability program pipeline across consumer electronics and semiconductors 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: "samsung.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: "sap.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/galaxy"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/galaxy"
          operations:
            - name: execute-3
              method: POST

Orchestrates galaxy trade in program pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Galaxy Trade In Program Pipeline"
  description: "Orchestrates galaxy trade in program pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - galaxy
    - samsung
    - teams
    - confluence
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: galaxy
      port: 8080
      tools:
        - name: galaxy-trade-in-program-pipeline
          description: "Orchestrates galaxy trade in program pipeline across consumer electronics and semiconductors 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: "teams.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: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/galaxy"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/galaxy"
          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/galaxy"
          operations:
            - name: execute-3
              method: POST

Checks the latest GitHub Actions workflow run status for a Samsung firmware or embedded software repository.

naftiko: "0.5"
info:
  label: "GitHub Repository Build Status"
  description: "Checks the latest GitHub Actions workflow run status for a Samsung firmware or embedded software repository."
  tags:
    - ci-cd
    - software-engineering
    - github
capability:
  exposes:
    - type: mcp
      namespace: firmware-ci
      port: 8080
      tools:
        - name: get-build-status
          description: "Fetch the latest GitHub Actions workflow run for a given repository. Returns status, conclusion, and run URL."
          inputParameters:
            - name: repo_name
              in: body
              type: string
              description: "The GitHub repository name (e.g., samsung/galaxy-firmware)."
          call: "github.get-workflow-runs"
          with:
            repo: "{{repo_name}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.workflow_runs[0].status"
            - name: conclusion
              type: string
              mapping: "$.workflow_runs[0].conclusion"
            - name: run_url
              type: string
              mapping: "$.workflow_runs[0].html_url"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-runs
          path: "/repos/{{repo}}/actions/runs?per_page=1"
          inputParameters:
            - name: repo
              in: path
          operations:
            - name: get-workflow-runs
              method: GET

Queries Grafana for fab process anomaly alerts, pulls correlated lot data from Snowflake, and sends a structured anomaly report to the process engineering Slack channel.

naftiko: "0.5"
info:
  label: "Grafana Fab Dashboard Anomaly Reporter"
  description: "Queries Grafana for fab process anomaly alerts, pulls correlated lot data from Snowflake, and sends a structured anomaly report to the process engineering Slack channel."
  tags:
    - semiconductor
    - monitoring
    - anomaly-detection
    - grafana
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: fab-anomaly-reporting
      port: 8080
      tools:
        - name: report-fab-anomalies
          description: "Given a Grafana dashboard UID, pull recent anomaly alerts, correlate with lot data, and post a summary to Slack."
          inputParameters:
            - name: dashboard_uid
              in: body
              type: string
              description: "The Grafana dashboard UID for fab process monitoring."
            - name: time_window_hours
              in: body
              type: number
              description: "Number of hours to look back for anomalies."
          steps:
            - name: get-anomaly-alerts
              type: call
              call: "grafana.get-alerts"
              with:
                dashboard_uid: "{{dashboard_uid}}"
                state: "alerting"
            - name: get-correlated-lots
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT lot_id, process_step, yield_pct, equipment_id FROM FAB_YIELD.PUBLIC.WAFER_YIELD WHERE run_date >= DATEADD(hour, -{{time_window_hours}}, CURRENT_TIMESTAMP()) AND yield_pct < 85 ORDER BY yield_pct ASC LIMIT 20"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_YIELD"
                schema: "PUBLIC"
            - name: post-anomaly-report
              type: call
              call: "slack.post-message"
              with:
                channel: "C_PROCESS_ENGINEERING"
                text: "Fab Anomaly Report (last {{time_window_hours}}h)\nActive alerts: {{get-anomaly-alerts.length}}\nLow-yield lots: {{get-correlated-lots.rowCount}}\nTop concern: Lot {{get-correlated-lots.data[0][0]}} at {{get-correlated-lots.data[0][2]}}% yield on {{get-correlated-lots.data[0][1]}}\nDashboard: https://grafana.samsung.com/d/{{dashboard_uid}}"
  consumes:
    - type: http
      namespace: grafana
      baseUri: "https://grafana.fab.samsung.com/api"
      authentication:
        type: bearer
        token: "$secrets.grafana_token"
      resources:
        - name: alerts
          path: "/alerts?dashboardId={{dashboard_uid}}&state={{state}}"
          inputParameters:
            - name: dashboard_uid
              in: query
            - name: state
              in: query
          operations:
            - name: get-alerts
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - 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

Orchestrates home appliance energy rating pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Home Appliance Energy Rating Pipeline"
  description: "Orchestrates home appliance energy rating pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - home
    - samsung
    - sap
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: home
      port: 8080
      tools:
        - name: home-appliance-energy-rating-pipeline
          description: "Orchestrates home appliance energy rating pipeline across consumer electronics and semiconductors 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: "sap.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: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/home"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/home"
          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/home"
          operations:
            - name: execute-3
              method: POST

Retrieves home appliance service status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Home Appliance Service Status"
  description: "Retrieves home appliance service status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - home
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: home
      port: 8080
      tools:
        - name: home-appliance-service-status
          description: "Retrieves home appliance service status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.home-appliance-service-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/home/appliance/service/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: home-appliance-service-status
              method: GET

Orchestrates home appliance warranty pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Home Appliance Warranty Pipeline"
  description: "Orchestrates home appliance warranty pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - home
    - samsung
    - samsung
    - servicenow
    - sap
capability:
  exposes:
    - type: mcp
      namespace: home
      port: 8080
      tools:
        - name: home-appliance-warranty-pipeline
          description: "Orchestrates home appliance warranty pipeline across consumer electronics and semiconductors 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: "samsung.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: "sap.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/home"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/home"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/home"
          operations:
            - name: execute-3
              method: POST

Queries Datadog for underutilized cloud resources, pulls cost data from Snowflake, and creates a Jira cost optimization task with savings recommendations.

naftiko: "0.5"
info:
  label: "Infrastructure Cost Optimization Review"
  description: "Queries Datadog for underutilized cloud resources, pulls cost data from Snowflake, and creates a Jira cost optimization task with savings recommendations."
  tags:
    - cloud-infrastructure
    - cost-optimization
    - datadog
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: infra-cost-optimization
      port: 8080
      tools:
        - name: review-infra-costs
          description: "Given a cloud account and time period, identify underutilized resources and create optimization recommendations."
          inputParameters:
            - name: cloud_account
              in: body
              type: string
              description: "The cloud account identifier."
            - name: review_period_days
              in: body
              type: number
              description: "Number of days to review."
          steps:
            - name: get-utilization-metrics
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:aws.ec2.cpuutilization{account:{{cloud_account}}}.rollup(avg, 86400)"
                from: "{{review_period_days}}d"
            - name: get-cost-data
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT service, resource_id, daily_cost, avg_utilization_pct FROM FINOPS.PUBLIC.CLOUD_COSTS WHERE account_id = '{{cloud_account}}' AND avg_utilization_pct < 20 AND cost_date >= DATEADD(day, -{{review_period_days}}, CURRENT_DATE()) ORDER BY daily_cost DESC LIMIT 25"
                warehouse: "SAMSUNG_FINOPS_WH"
                database: "FINOPS"
                schema: "PUBLIC"
            - name: create-optimization-task
              type: call
              call: "jira.create-issue"
              with:
                project: "FINOPS"
                issuetype: "Task"
                summary: "Cloud Cost Optimization: {{cloud_account}} — {{review_period_days}}-day review"
                description: "Underutilized resources identified for account {{cloud_account}}.\nTop candidates for right-sizing or termination:\n{{get-cost-data.data}}\nEstimated monthly savings available upon review."
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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

Queries Datadog for IoT device fleet metrics, checks Azure DevOps for open firmware bugs, and posts a health summary to Microsoft Teams.

naftiko: "0.5"
info:
  label: "IoT Device Fleet Health Monitor"
  description: "Queries Datadog for IoT device fleet metrics, checks Azure DevOps for open firmware bugs, and posts a health summary to Microsoft Teams."
  tags:
    - iot
    - monitoring
    - datadog
    - azure-devops
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: iot-fleet-health
      port: 8080
      tools:
        - name: report-fleet-health
          description: "Given a device fleet tag, query Datadog for fleet metrics, check Azure DevOps for open bugs, and post a health report to Teams."
          inputParameters:
            - name: fleet_tag
              in: body
              type: string
              description: "The IoT device fleet tag (e.g., smart-tv-2026)."
            - name: team_channel_upn
              in: body
              type: string
              description: "The Microsoft Teams recipient UPN for the health report."
          steps:
            - name: get-fleet-metrics
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.iot.device_online_pct{fleet:{{fleet_tag}}}"
                from: "86400"
            - name: get-open-bugs
              type: call
              call: "azdo.run-wiql"
              with:
                query: "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.State] = 'Active' AND [System.Tags] CONTAINS '{{fleet_tag}}'"
            - name: post-health-report
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{team_channel_upn}}"
                text: "IoT Fleet Health Report: {{fleet_tag}}\nDevice Online Rate (24h): {{get-fleet-metrics.series[0].pointlist[-1][1]}}%\nOpen Firmware Bugs: {{get-open-bugs.workItems.length}}\nDashboard: https://samsung-datadog.com/d/iot-fleet/{{fleet_tag}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: azdo
      baseUri: "https://dev.azure.com/samsung-iot/_apis/wit"
      authentication:
        type: basic
        username: "$secrets.azdo_user"
        password: "$secrets.azdo_pat"
      resources:
        - name: wiql
          path: "/wiql?api-version=7.0"
          operations:
            - name: run-wiql
              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

Queries ServiceNow for IT asset records approaching end-of-life, checks Workday for the assigned employee, and creates a SAP procurement requisition for replacement.

naftiko: "0.5"
info:
  label: "IT Asset Lifecycle Tracker"
  description: "Queries ServiceNow for IT asset records approaching end-of-life, checks Workday for the assigned employee, and creates a SAP procurement requisition for replacement."
  tags:
    - it-operations
    - asset-management
    - servicenow
    - workday
    - sap
capability:
  exposes:
    - type: mcp
      namespace: asset-lifecycle
      port: 8080
      tools:
        - name: process-asset-refresh
          description: "Given a ServiceNow asset tag, check lifecycle status, resolve the assigned user, and create a replacement requisition."
          inputParameters:
            - name: asset_tag
              in: body
              type: string
              description: "The ServiceNow asset tag."
            - name: replacement_model
              in: body
              type: string
              description: "The replacement hardware model."
          steps:
            - name: get-asset
              type: call
              call: "servicenow.get-asset"
              with:
                asset_tag: "{{asset_tag}}"
            - name: get-assigned-user
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{get-asset.assigned_to.employee_id}}"
            - name: create-replacement-req
              type: call
              call: "sap.create-requisition"
              with:
                material: "{{replacement_model}}"
                quantity: "1"
                cost_center: "{{get-assigned-user.cost_center}}"
                description: "Replacement for {{asset_tag}} ({{get-asset.model}}) assigned to {{get-assigned-user.full_name}}. EOL date: {{get-asset.end_of_life_date}}."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: assets
          path: "/table/alm_hardware?sysparm_query=asset_tag={{asset_tag}}"
          inputParameters:
            - name: asset_tag
              in: path
          operations:
            - name: get-asset
              method: GET
    - 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: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/MM_PUR_REQ_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: requisitions
          path: "/A_PurchaseRequisition"
          operations:
            - name: create-requisition
              method: POST

Fetches a Jira issue by key for Samsung semiconductor fabrication defect tracking. Returns summary, status, assignee, and priority.

naftiko: "0.5"
info:
  label: "Jira Fab Defect Ticket Lookup"
  description: "Fetches a Jira issue by key for Samsung semiconductor fabrication defect tracking. Returns summary, status, assignee, and priority."
  tags:
    - quality-assurance
    - defect-tracking
    - jira
capability:
  exposes:
    - type: mcp
      namespace: fab-quality
      port: 8080
      tools:
        - name: get-defect-ticket
          description: "Look up a Jira defect ticket by issue key. Returns summary, status, assignee, and priority for fab quality review."
          inputParameters:
            - name: issue_key
              in: body
              type: string
              description: "The Jira issue key (e.g., FABDEF-1234)."
          call: "jira.get-issue"
          with:
            issue_key: "{{issue_key}}"
          outputParameters:
            - name: summary
              type: string
              mapping: "$.fields.summary"
            - name: status
              type: string
              mapping: "$.fields.status.name"
            - name: assignee
              type: string
              mapping: "$.fields.assignee.displayName"
            - name: priority
              type: string
              mapping: "$.fields.priority.name"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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

Triggers a Kubernetes deployment for Samsung IoT edge firmware via Azure Kubernetes Service, monitors rollout via Datadog, and posts deployment status to Slack.

naftiko: "0.5"
info:
  label: "Kubernetes IoT Deployment Pipeline"
  description: "Triggers a Kubernetes deployment for Samsung IoT edge firmware via Azure Kubernetes Service, monitors rollout via Datadog, and posts deployment status to Slack."
  tags:
    - iot
    - deployment
    - azure-kubernetes-service
    - datadog
    - slack
capability:
  exposes:
    - type: mcp
      namespace: iot-deployment
      port: 8080
      tools:
        - name: deploy-iot-firmware
          description: "Given a deployment name and image tag, trigger a Kubernetes rollout on AKS, monitor health, and notify the team."
          inputParameters:
            - name: deployment_name
              in: body
              type: string
              description: "The Kubernetes deployment name."
            - name: image_tag
              in: body
              type: string
              description: "The container image tag to deploy."
            - name: namespace
              in: body
              type: string
              description: "The Kubernetes namespace (e.g., iot-edge-prod)."
          steps:
            - name: trigger-rollout
              type: call
              call: "aks.patch-deployment"
              with:
                deployment: "{{deployment_name}}"
                namespace: "{{namespace}}"
                image_tag: "{{image_tag}}"
            - name: check-health
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:kubernetes.pods.running{kube_deployment:{{deployment_name}},kube_namespace:{{namespace}}}"
                from: "300"
            - name: notify-team
              type: call
              call: "slack.post-message"
              with:
                channel: "C_IOT_DEPLOYMENTS"
                text: "IoT Deployment Complete\nDeployment: {{deployment_name}}\nNamespace: {{namespace}}\nImage: {{image_tag}}\nRunning pods: {{check-health.series[0].pointlist[-1][1]}}"
  consumes:
    - type: http
      namespace: aks
      baseUri: "https://samsung-iot-aks.hcp.koreacentral.azmk8s.io/apis/apps/v1"
      authentication:
        type: bearer
        token: "$secrets.aks_token"
      resources:
        - name: deployments
          path: "/namespaces/{{namespace}}/deployments/{{deployment}}"
          inputParameters:
            - name: namespace
              in: path
            - name: deployment
              in: path
          operations:
            - name: patch-deployment
              method: PATCH
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - 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

Retrieves memory chip test yield data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Memory Chip Test Yield"
  description: "Retrieves memory chip test yield data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - memory
    - samsung
    - yield
capability:
  exposes:
    - type: mcp
      namespace: memory
      port: 8080
      tools:
        - name: memory-chip-test-yield
          description: "Retrieves memory chip test yield data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.memory-chip-test-yield"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/memory/chip/test/yield/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: memory-chip-test-yield
              method: GET

Orchestrates memory failure analysis pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Memory Failure Analysis Pipeline"
  description: "Orchestrates memory failure analysis pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - memory
    - samsung
    - github
    - samsung
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: memory
      port: 8080
      tools:
        - name: memory-failure-analysis-pipeline
          description: "Orchestrates memory failure analysis pipeline across consumer electronics and semiconductors 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: "github.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "samsung.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/memory"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/memory"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/memory"
          operations:
            - name: execute-3
              method: POST

Orchestrates memory reliability testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Memory Reliability Testing Pipeline"
  description: "Orchestrates memory reliability testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - memory
    - samsung
    - confluence
    - datadog
    - github
capability:
  exposes:
    - type: mcp
      namespace: memory
      port: 8080
      tools:
        - name: memory-reliability-testing-pipeline
          description: "Orchestrates memory reliability testing pipeline across consumer electronics and semiconductors 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: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "github.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/memory"
          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/memory"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/memory"
          operations:
            - name: execute-3
              method: POST

Orchestrates memory speed binning pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Memory Speed Binning Pipeline"
  description: "Orchestrates memory speed binning pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - memory
    - samsung
    - servicenow
    - sap
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: memory
      port: 8080
      tools:
        - name: memory-speed-binning-pipeline
          description: "Orchestrates memory speed binning pipeline across consumer electronics and semiconductors 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: "sap.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/memory"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/memory"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/memory"
          operations:
            - name: execute-3
              method: POST

Queries Datadog for ML model inference latency, checks Snowflake for prediction drift metrics, and creates a Jira task when model retraining is needed.

naftiko: "0.5"
info:
  label: "ML Model Performance Monitoring Pipeline"
  description: "Queries Datadog for ML model inference latency, checks Snowflake for prediction drift metrics, and creates a Jira task when model retraining is needed."
  tags:
    - machine-learning
    - monitoring
    - datadog
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: ml-model-monitoring
      port: 8080
      tools:
        - name: monitor-model-performance
          description: "Given a model name, check inference latency and prediction drift, and create a retraining task if thresholds are breached."
          inputParameters:
            - name: model_name
              in: body
              type: string
              description: "The ML model name (e.g., defect-classifier-v3)."
            - name: drift_threshold
              in: body
              type: number
              description: "The prediction drift threshold percentage."
          steps:
            - name: get-inference-latency
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.ml.inference_latency_ms{model:{{model_name}}}"
                from: "86400"
            - name: get-drift-metrics
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT model_name, drift_score, prediction_accuracy, sample_count, evaluation_date FROM ML_OPS.PUBLIC.MODEL_DRIFT WHERE model_name = '{{model_name}}' ORDER BY evaluation_date DESC LIMIT 1"
                warehouse: "SAMSUNG_ML_WH"
                database: "ML_OPS"
                schema: "PUBLIC"
            - name: create-retrain-task
              type: call
              call: "jira.create-issue"
              with:
                project: "MLOPS"
                issuetype: "Task"
                summary: "Model Retraining Required: {{model_name}}"
                description: "Model: {{model_name}}\nInference latency (24h avg): {{get-inference-latency.series[0].pointlist[-1][1]}}ms\nDrift score: {{get-drift-metrics.data[0][1]}}\nAccuracy: {{get-drift-metrics.data[0][2]}}\nThreshold: {{drift_threshold}}%"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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 mobile accessibility testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile Accessibility Testing Pipeline"
  description: "Orchestrates mobile accessibility testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - sap
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-accessibility-testing-pipeline
          description: "Orchestrates mobile accessibility testing pipeline across consumer electronics and semiconductors 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: "sap.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: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/mobile"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/mobile"
          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/mobile"
          operations:
            - name: execute-3
              method: POST

Orchestrates mobile app certification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile App Certification Pipeline"
  description: "Orchestrates mobile app certification pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - datadog
    - github
    - samsung
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-app-certification-pipeline
          description: "Orchestrates mobile app certification pipeline across consumer electronics and semiconductors 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: "github.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "samsung.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/mobile"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/mobile"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/mobile"
          operations:
            - name: execute-3
              method: POST

Orchestrates mobile battery safety pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile Battery Safety Pipeline"
  description: "Orchestrates mobile battery safety pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - samsung
    - servicenow
    - sap
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-battery-safety-pipeline
          description: "Orchestrates mobile battery safety pipeline across consumer electronics and semiconductors 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: "samsung.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: "sap.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/mobile"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/mobile"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/mobile"
          operations:
            - name: execute-3
              method: POST

Retrieves mobile carrier certification status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Mobile Carrier Certification Status"
  description: "Retrieves mobile carrier certification status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - mobile
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-carrier-certification-status
          description: "Retrieves mobile carrier certification status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.mobile-carrier-certification-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/mobile/carrier/certification/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: mobile-carrier-certification-status
              method: GET

Orchestrates mobile carrier testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile Carrier Testing Pipeline"
  description: "Orchestrates mobile carrier testing pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - jira
    - teams
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-carrier-testing-pipeline
          description: "Orchestrates mobile carrier testing pipeline across consumer electronics and semiconductors 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: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/mobile"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/mobile"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/mobile"
          operations:
            - name: execute-3
              method: POST

Orchestrates mobile network performance pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile Network Performance Pipeline"
  description: "Orchestrates mobile network performance pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - confluence
    - datadog
    - github
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-network-performance-pipeline
          description: "Orchestrates mobile network performance pipeline across consumer electronics and semiconductors 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: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "github.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/mobile"
          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/mobile"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/mobile"
          operations:
            - name: execute-3
              method: POST

Retrieves mobile ota update status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Mobile Ota Update Status"
  description: "Retrieves mobile ota update status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - mobile
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-ota-update-status
          description: "Retrieves mobile ota update status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.mobile-ota-update-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/mobile/ota/update/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: mobile-ota-update-status
              method: GET

Orchestrates mobile security patch pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Mobile Security Patch Pipeline"
  description: "Orchestrates mobile security patch pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - mobile
    - samsung
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-security-patch-pipeline
          description: "Orchestrates mobile security patch pipeline across consumer electronics and semiconductors 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://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/mobile"
          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/mobile"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/mobile"
          operations:
            - name: execute-3
              method: POST

Retrieves nand flash endurance report data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Nand Flash Endurance Report"
  description: "Retrieves nand flash endurance report data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - nand
    - samsung
    - report
capability:
  exposes:
    - type: mcp
      namespace: nand
      port: 8080
      tools:
        - name: nand-flash-endurance-report
          description: "Retrieves nand flash endurance report data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.nand-flash-endurance-report"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/nand/flash/endurance/report/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: nand-flash-endurance-report
              method: GET

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: "New Hire 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 the full onboarding sequence 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: department
              in: body
              type: string
              description: "The department or business unit 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}} in {{department}}."
            - 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 Samsung, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents are ready at {{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://samsung.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

Queries Oracle E-Business Suite for current inventory balances of semiconductor components and consumer electronics parts at Samsung warehouses.

naftiko: "0.5"
info:
  label: "Oracle EBS Inventory Balance Check"
  description: "Queries Oracle E-Business Suite for current inventory balances of semiconductor components and consumer electronics parts at Samsung warehouses."
  tags:
    - supply-chain
    - inventory
    - oracle
capability:
  exposes:
    - type: mcp
      namespace: inventory-management
      port: 8080
      tools:
        - name: get-inventory-balance
          description: "Retrieve the on-hand inventory balance for a given item and warehouse from Oracle EBS."
          inputParameters:
            - name: item_number
              in: body
              type: string
              description: "The Oracle item number (e.g., DRAM-DDR5-16GB)."
            - name: warehouse_code
              in: body
              type: string
              description: "The warehouse organization code (e.g., HWASEONG-W1)."
          call: "oracle.get-onhand"
          with:
            item: "{{item_number}}"
            org: "{{warehouse_code}}"
          outputParameters:
            - name: onhand_qty
              type: number
              mapping: "$.OnhandQuantity"
            - name: uom
              type: string
              mapping: "$.UnitOfMeasure"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://samsung-ebs.oracle.com/webservices/rest/inventory/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: onhand
          path: "/onhand?item={{item}}&org={{org}}"
          inputParameters:
            - name: item
              in: query
            - name: org
              in: query
          operations:
            - name: get-onhand
              method: GET

Triggers a dataset refresh on a Samsung Power BI fab analytics dashboard to ensure the latest wafer yield and equipment data is displayed.

naftiko: "0.5"
info:
  label: "Power BI Fab Dashboard Refresh"
  description: "Triggers a dataset refresh on a Samsung Power BI fab analytics dashboard to ensure the latest wafer yield and equipment data is displayed."
  tags:
    - analytics
    - semiconductor
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: fab-analytics
      port: 8080
      tools:
        - name: refresh-fab-dashboard
          description: "Trigger a Power BI dataset refresh for a specified fab analytics dataset. Returns the refresh request ID."
          inputParameters:
            - name: dataset_id
              in: body
              type: string
              description: "The Power BI dataset ID for the fab dashboard."
          call: "powerbi.refresh-dataset"
          with:
            dataset_id: "{{dataset_id}}"
  consumes:
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

When a SAP purchase requisition exceeds a spend threshold, resolves the approver from Workday and notifies both the requestor and approver via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Procurement Spend Approval Pipeline"
  description: "When a SAP purchase requisition exceeds a spend threshold, resolves the approver from Workday and notifies both the requestor and approver via Microsoft Teams."
  tags:
    - procurement
    - approval
    - sap
    - workday
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: procurement-approval
      port: 8080
      tools:
        - name: route-spend-approval
          description: "Given a requisition number and requestor ID, fetch PO details from SAP, resolve the manager from Workday, and notify both parties via Teams."
          inputParameters:
            - name: requisition_number
              in: body
              type: string
              description: "The SAP purchase requisition number."
            - name: requestor_worker_id
              in: body
              type: string
              description: "The Workday worker ID of the requestor."
            - name: spend_amount
              in: body
              type: number
              description: "The total spend amount."
          steps:
            - name: get-requisition
              type: call
              call: "sap.get-requisition"
              with:
                req_number: "{{requisition_number}}"
            - name: get-requestor
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{requestor_worker_id}}"
            - name: get-approver
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{get-requestor.manager_id}}"
            - name: notify-approver
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-approver.work_email}}"
                text: "Approval Required: Requisition {{requisition_number}} from {{get-requestor.full_name}} for ${{spend_amount}}. Vendor: {{get-requisition.vendor_name}}."
            - name: notify-requestor
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-requestor.work_email}}"
                text: "Your requisition {{requisition_number}} (${{spend_amount}}) has been routed to {{get-approver.full_name}} for approval."
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/MM_PUR_REQ_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      inputParameters:
        - name: Accept
          in: header
          value: "application/json"
      resources:
        - name: requisitions
          path: "/A_PurchaseRequisition('{{req_number}}')"
          inputParameters:
            - name: req_number
              in: path
          operations:
            - name: get-requisition
              method: GET
    - 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: 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

When a fab production line goes down, queries Datadog for failure telemetry, creates a critical ServiceNow incident, pages the on-call engineer via Slack, and logs the event in Snowflake.

naftiko: "0.5"
info:
  label: "Production Line Downtime Responder"
  description: "When a fab production line goes down, queries Datadog for failure telemetry, creates a critical ServiceNow incident, pages the on-call engineer via Slack, and logs the event in Snowflake."
  tags:
    - semiconductor
    - incident-management
    - datadog
    - servicenow
    - slack
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: line-downtime
      port: 8080
      tools:
        - name: respond-to-downtime
          description: "Given a production line ID and failure description, gather telemetry, create an incident, page the on-call, and log the event."
          inputParameters:
            - name: line_id
              in: body
              type: string
              description: "The production line identifier (e.g., FAB3-LINE-7NM-A)."
            - name: failure_description
              in: body
              type: string
              description: "Description of the failure event."
          steps:
            - name: get-failure-telemetry
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.fab.line_status{line:{{line_id}}}"
                from: "1800"
            - name: create-critical-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "PRODUCTION DOWN: {{line_id}}"
                description: "Line {{line_id}} is down. {{failure_description}}. Telemetry captured."
                category: "production_downtime"
                assigned_group: "Fab_Operations"
                priority: "1"
            - name: page-on-call
              type: call
              call: "slack.post-message"
              with:
                channel: "C_FAB_ONCALL"
                text: "PRODUCTION DOWNTIME ALERT\nLine: {{line_id}}\nIncident: {{create-critical-incident.number}}\nFailure: {{failure_description}}\nPlease respond immediately."
            - name: log-downtime-event
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "INSERT INTO FAB_OPS.PUBLIC.DOWNTIME_LOG (line_id, failure_description, incident_number, event_time) VALUES ('{{line_id}}', '{{failure_description}}', '{{create-critical-incident.number}}', CURRENT_TIMESTAMP())"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_OPS"
                schema: "PUBLIC"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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: 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
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Pulls sales pipeline data from Salesforce, yield metrics from Snowflake, and operational KPIs from Power BI, then compiles a QBR summary and stores it in SharePoint.

naftiko: "0.5"
info:
  label: "Quarterly Business Review Data Assembler"
  description: "Pulls sales pipeline data from Salesforce, yield metrics from Snowflake, and operational KPIs from Power BI, then compiles a QBR summary and stores it in SharePoint."
  tags:
    - business-intelligence
    - reporting
    - salesforce
    - snowflake
    - power-bi
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: qbr-assembly
      port: 8080
      tools:
        - name: assemble-qbr-data
          description: "Given a quarter and business unit, pull sales, yield, and operational data to compile a QBR summary document."
          inputParameters:
            - name: quarter
              in: body
              type: string
              description: "The review quarter (e.g., 2026-Q1)."
            - name: business_unit
              in: body
              type: string
              description: "The business unit (semiconductor, display, consumer-electronics)."
          steps:
            - name: get-sales-pipeline
              type: call
              call: "salesforce.query-soql"
              with:
                query: "SELECT SUM(Amount), StageName, COUNT(Id) FROM Opportunity WHERE CloseDate >= THIS_QUARTER AND Business_Unit__c = '{{business_unit}}' GROUP BY StageName"
            - name: get-yield-summary
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT process_node, avg(yield_pct) as avg_yield, min(yield_pct) as min_yield, count(distinct lot_id) as lots FROM FAB_YIELD.PUBLIC.WAFER_YIELD WHERE quarter = '{{quarter}}' AND business_unit = '{{business_unit}}' GROUP BY process_node"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_YIELD"
                schema: "PUBLIC"
            - name: refresh-kpi-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "samsung-{{business_unit}}-kpi"
            - name: store-qbr-doc
              type: call
              call: "sharepoint.create-file"
              with:
                site_id: "executive_reviews_site"
                folder_path: "QBR/{{quarter}}/{{business_unit}}"
                file_name: "qbr_summary_{{quarter}}_{{business_unit}}.json"
                content: "{\"quarter\":\"{{quarter}}\",\"business_unit\":\"{{business_unit}}\",\"sales_pipeline\":{{get-sales-pipeline.records}},\"yield_summary\":{{get-yield-summary.data}}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: query
          path: "/query/?q={{query}}"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: query-soql
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              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}}/{{file_name}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
            - name: file_name
              in: path
          operations:
            - name: create-file
              method: PUT

Retrieves invention disclosure from Confluence, pulls inventor details from Workday, and creates a Jira task for the IP legal team to initiate patent filing.

naftiko: "0.5"
info:
  label: "R&D Patent Filing Coordinator"
  description: "Retrieves invention disclosure from Confluence, pulls inventor details from Workday, and creates a Jira task for the IP legal team to initiate patent filing."
  tags:
    - research
    - intellectual-property
    - confluence
    - workday
    - jira
capability:
  exposes:
    - type: mcp
      namespace: patent-filing
      port: 8080
      tools:
        - name: initiate-patent-filing
          description: "Given an invention disclosure page ID and inventor worker ID, pull the disclosure, get inventor info, and create a patent filing task."
          inputParameters:
            - name: disclosure_page_id
              in: body
              type: string
              description: "The Confluence page ID for the invention disclosure."
            - name: inventor_worker_id
              in: body
              type: string
              description: "The Workday worker ID of the primary inventor."
          steps:
            - name: get-disclosure
              type: call
              call: "confluence.get-page"
              with:
                page_id: "{{disclosure_page_id}}"
            - name: get-inventor
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{inventor_worker_id}}"
            - name: create-filing-task
              type: call
              call: "jira.create-issue"
              with:
                project: "IPLEGAL"
                issuetype: "Task"
                summary: "Patent Filing: {{get-disclosure.title}} — {{get-inventor.full_name}}"
                description: "Invention Disclosure: {{get-disclosure.title}}\nInventor: {{get-inventor.full_name}} ({{get-inventor.department}})\nDisclosure URL: {{get-disclosure._links.webui}}\nPlease review and initiate patent filing process."
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: pages
          path: "/content/{{page_id}}?expand=body.storage"
          inputParameters:
            - name: page_id
              in: path
          operations:
            - name: get-page
              method: GET
    - 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: jira
      baseUri: "https://samsung-semi.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

Retrieves a Salesforce account record for Samsung's B2B semiconductor and display customers. Returns account name, industry, contract status, and owner.

naftiko: "0.5"
info:
  label: "Salesforce Customer Account Lookup"
  description: "Retrieves a Salesforce account record for Samsung's B2B semiconductor and display customers. Returns account name, industry, contract status, and owner."
  tags:
    - sales
    - customer-management
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: sales-accounts
      port: 8080
      tools:
        - name: get-customer-account
          description: "Fetch a Salesforce account by ID. Returns account name, industry, contract status, and account owner."
          inputParameters:
            - name: account_id
              in: body
              type: string
              description: "The Salesforce account ID."
          call: "salesforce.get-account"
          with:
            account_id: "{{account_id}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.Name"
            - name: industry
              type: string
              mapping: "$.Industry"
            - name: owner
              type: string
              mapping: "$.Owner.Name"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET

Retrieves a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and delivery schedule for Samsung procurement teams.

naftiko: "0.5"
info:
  label: "SAP Purchase Order Lookup"
  description: "Retrieves a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and delivery schedule for Samsung procurement teams."
  tags:
    - procurement
    - erp
    - sap
capability:
  exposes:
    - type: mcp
      namespace: erp-procurement
      port: 8080
      tools:
        - name: get-purchase-order
          description: "Look up a SAP purchase order by PO number. Returns status, vendor, value, and expected delivery date."
          inputParameters:
            - name: po_number
              in: body
              type: string
              description: "The SAP purchase order number (10-digit)."
          call: "sap.get-po"
          with:
            po_number: "{{po_number}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.d.OverallStatus"
            - name: vendor
              type: string
              mapping: "$.d.Supplier.CompanyName"
            - name: total_value
              type: string
              mapping: "$.d.TotalAmount"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      inputParameters:
        - name: Accept
          in: header
          value: "application/json"
        - name: sap-client
          in: header
          value: "100"
      resources:
        - name: purchase-orders
          path: "/A_PurchaseOrder('{{po_number}}')"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-po
              method: GET

When a security event is detected in Splunk, queries Microsoft Sentinel for correlated alerts, creates a ServiceNow security incident, and notifies the security operations team via Slack.

naftiko: "0.5"
info:
  label: "Security Incident Response Orchestrator"
  description: "When a security event is detected in Splunk, queries Microsoft Sentinel for correlated alerts, creates a ServiceNow security incident, and notifies the security operations team via Slack."
  tags:
    - security
    - incident-response
    - splunk
    - microsoft-sentinel
    - servicenow
    - slack
capability:
  exposes:
    - type: mcp
      namespace: security-incident-response
      port: 8080
      tools:
        - name: respond-to-security-event
          description: "Given a Splunk alert ID and event details, correlate with Sentinel alerts, create a security incident, and notify the SOC team."
          inputParameters:
            - name: splunk_alert_id
              in: body
              type: string
              description: "The Splunk alert identifier."
            - name: event_summary
              in: body
              type: string
              description: "Summary of the security event."
            - name: source_ip
              in: body
              type: string
              description: "The source IP address involved in the event."
          steps:
            - name: get-splunk-alert
              type: call
              call: "splunk.get-alert"
              with:
                alert_id: "{{splunk_alert_id}}"
            - name: get-sentinel-alerts
              type: call
              call: "sentinel.get-alerts"
              with:
                filter: "properties/status eq 'New' and contains(properties/description, '{{source_ip}}')"
            - name: create-security-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Security Alert: {{event_summary}}"
                description: "Splunk Alert: {{splunk_alert_id}}\nSource IP: {{source_ip}}\nSentinel correlated alerts: {{get-sentinel-alerts.value.length}}\nDetails: {{get-splunk-alert.details}}"
                category: "security_incident"
                assigned_group: "Security_Operations"
                priority: "1"
            - name: notify-soc
              type: call
              call: "slack.post-message"
              with:
                channel: "C_SOC_ALERTS"
                text: "SECURITY INCIDENT: {{event_summary}}\nSource IP: {{source_ip}}\nServiceNow: {{create-security-incident.number}}\nCorrelated Sentinel alerts: {{get-sentinel-alerts.value.length}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://samsung-splunk.sec.samsung.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: alerts
          path: "/alerts/fired_alerts/{{alert_id}}"
          inputParameters:
            - name: alert_id
              in: path
          operations:
            - name: get-alert
              method: GET
    - type: http
      namespace: sentinel
      baseUri: "https://management.azure.com/subscriptions/$secrets.azure_subscription_id/resourceGroups/samsung-soc/providers/Microsoft.SecurityInsights"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: alerts
          path: "/alerts?api-version=2023-11-01&$filter={{filter}}"
          inputParameters:
            - name: filter
              in: query
          operations:
            - name: get-alerts
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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: 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

Orchestrates semiconductor capacity planning pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Capacity Planning Pipeline"
  description: "Orchestrates semiconductor capacity planning pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - jira
    - teams
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-capacity-planning-pipeline
          description: "Orchestrates semiconductor capacity planning pipeline across consumer electronics and semiconductors 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: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Queries Snowflake for current fab utilization, checks SAP for pending orders, and creates a Confluence capacity planning report for the operations team.

naftiko: "0.5"
info:
  label: "Semiconductor Capacity Planning Workflow"
  description: "Queries Snowflake for current fab utilization, checks SAP for pending orders, and creates a Confluence capacity planning report for the operations team."
  tags:
    - semiconductor
    - capacity-planning
    - snowflake
    - sap
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: capacity-planning
      port: 8080
      tools:
        - name: generate-capacity-report
          description: "Given a fab site and planning horizon, generate a capacity planning report with current utilization and order pipeline."
          inputParameters:
            - name: fab_site
              in: body
              type: string
              description: "The fab site code (e.g., HWASEONG, PYEONGTAEK)."
            - name: planning_weeks
              in: body
              type: number
              description: "Number of weeks in the planning horizon."
          steps:
            - name: get-utilization
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT process_node, avg(utilization_pct) as avg_util, max(utilization_pct) as peak_util, available_capacity_wafers FROM FAB_OPS.PUBLIC.FAB_UTILIZATION WHERE fab_site = '{{fab_site}}' AND report_week >= DATEADD(week, -4, CURRENT_DATE()) GROUP BY process_node, available_capacity_wafers"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_OPS"
                schema: "PUBLIC"
            - name: get-pending-orders
              type: call
              call: "sap.get-order-pipeline"
              with:
                plant: "{{fab_site}}"
                weeks_ahead: "{{planning_weeks}}"
            - name: publish-report
              type: call
              call: "confluence.create-page"
              with:
                space_key: "FABOPS"
                title: "Capacity Planning: {{fab_site}} — {{planning_weeks}}-Week Outlook"
                body: "Current Utilization:\n{{get-utilization.data}}\n\nPending Order Pipeline:\n{{get-pending-orders.data}}\n\nGenerated automatically for operations review."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/PP_ORDER_PIPELINE_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: pipeline
          path: "/OrderPipelineSet?$filter=Plant eq '{{plant}}' and WeeksAhead le {{weeks_ahead}}"
          inputParameters:
            - name: plant
              in: path
            - name: weeks_ahead
              in: path
          operations:
            - name: get-order-pipeline
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Retrieves semiconductor clean room particle count data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Semiconductor Clean Room Particle Count"
  description: "Retrieves semiconductor clean room particle count data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - semiconductor
    - samsung
    - count
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-clean-room-particle-count
          description: "Retrieves semiconductor clean room particle count data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.semiconductor-clean-room-particle-count"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/semiconductor/clean/room/particle/count/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: semiconductor-clean-room-particle-count
              method: GET

Orchestrates semiconductor contamination pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Contamination Pipeline"
  description: "Orchestrates semiconductor contamination pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-contamination-pipeline
          description: "Orchestrates semiconductor contamination pipeline across consumer electronics and semiconductors 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://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/semiconductor"
          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/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Orchestrates semiconductor equipment pm pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Equipment Pm Pipeline"
  description: "Orchestrates semiconductor equipment pm pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-equipment-pm-pipeline
          description: "Orchestrates semiconductor equipment pm pipeline across consumer electronics and semiconductors 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://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/semiconductor"
          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/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Orchestrates semiconductor esd prevention pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Esd Prevention Pipeline"
  description: "Orchestrates semiconductor esd prevention pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - github
    - samsung
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-esd-prevention-pipeline
          description: "Orchestrates semiconductor esd prevention pipeline across consumer electronics and semiconductors 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: "github.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "samsung.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Retrieves semiconductor fab tool status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Semiconductor Fab Tool Status"
  description: "Retrieves semiconductor fab tool status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - semiconductor
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-fab-tool-status
          description: "Retrieves semiconductor fab tool status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.semiconductor-fab-tool-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/semiconductor/fab/tool/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: semiconductor-fab-tool-status
              method: GET

Orchestrates semiconductor lithography pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Lithography Pipeline"
  description: "Orchestrates semiconductor lithography pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - servicenow
    - sap
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-lithography-pipeline
          description: "Orchestrates semiconductor lithography pipeline across consumer electronics and semiconductors 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: "sap.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Queries Snowflake for full lot genealogy, pulls equipment calibration records from SAP, and stores the traceability report in SharePoint for regulatory compliance.

naftiko: "0.5"
info:
  label: "Semiconductor Lot Traceability Report"
  description: "Queries Snowflake for full lot genealogy, pulls equipment calibration records from SAP, and stores the traceability report in SharePoint for regulatory compliance."
  tags:
    - semiconductor
    - compliance
    - traceability
    - snowflake
    - sap
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: lot-traceability
      port: 8080
      tools:
        - name: generate-traceability-report
          description: "Given a lot ID, build a full traceability report with process genealogy and equipment calibration data, then store in SharePoint."
          inputParameters:
            - name: lot_id
              in: body
              type: string
              description: "The semiconductor lot identifier."
            - name: customer_name
              in: body
              type: string
              description: "The customer requesting the traceability report."
          steps:
            - name: get-lot-genealogy
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT process_step, equipment_id, operator_id, start_time, end_time, yield_pct, parameters FROM FAB_TRACE.PUBLIC.LOT_GENEALOGY WHERE lot_id = '{{lot_id}}' ORDER BY step_sequence"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_TRACE"
                schema: "PUBLIC"
            - name: get-equipment-calibrations
              type: call
              call: "sap.get-calibration-records"
              with:
                lot_id: "{{lot_id}}"
            - name: store-report
              type: call
              call: "sharepoint.create-file"
              with:
                site_id: "fab_compliance_site"
                folder_path: "TraceabilityReports/{{lot_id}}"
                file_name: "traceability_{{lot_id}}_{{customer_name}}.json"
                content: "{\"lot_id\":\"{{lot_id}}\",\"customer\":\"{{customer_name}}\",\"genealogy\":{{get-lot-genealogy.data}},\"calibrations\":{{get-equipment-calibrations.data}}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/PM_CALIBRATION_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: calibrations
          path: "/CalibrationRecordSet?$filter=LotId eq '{{lot_id}}'"
          inputParameters:
            - name: lot_id
              in: path
          operations:
            - name: get-calibration-records
              method: GET
    - 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}}/{{file_name}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
            - name: file_name
              in: path
          operations:
            - name: create-file
              method: PUT

Orchestrates semiconductor metrology pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Metrology Pipeline"
  description: "Orchestrates semiconductor metrology pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - confluence
    - datadog
    - github
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-metrology-pipeline
          description: "Orchestrates semiconductor metrology pipeline across consumer electronics and semiconductors 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: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "github.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/semiconductor"
          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/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Orchestrates semiconductor recipe optimization pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Recipe Optimization Pipeline"
  description: "Orchestrates semiconductor recipe optimization pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - github
    - samsung
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-recipe-optimization-pipeline
          description: "Orchestrates semiconductor recipe optimization pipeline across consumer electronics and semiconductors 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: "github.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "samsung.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Retrieves shipping order details from Oracle EBS, checks SAP for product quality release status, and creates a ServiceNow logistics task with customs documentation from SharePoint.

naftiko: "0.5"
info:
  label: "Semiconductor Shipping Logistics Coordinator"
  description: "Retrieves shipping order details from Oracle EBS, checks SAP for product quality release status, and creates a ServiceNow logistics task with customs documentation from SharePoint."
  tags:
    - logistics
    - supply-chain
    - semiconductor
    - oracle
    - sap
    - servicenow
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: shipping-logistics
      port: 8080
      tools:
        - name: coordinate-shipment
          description: "Given a shipping order ID, verify quality release, prepare customs docs, and create a logistics task."
          inputParameters:
            - name: shipping_order_id
              in: body
              type: string
              description: "The Oracle EBS shipping order identifier."
            - name: destination_country
              in: body
              type: string
              description: "The destination country code (e.g., US, DE, JP)."
          steps:
            - name: get-shipping-order
              type: call
              call: "oracle.get-shipping-order"
              with:
                order_id: "{{shipping_order_id}}"
            - name: check-quality-release
              type: call
              call: "sap.get-quality-release"
              with:
                material: "{{get-shipping-order.item_number}}"
                lot: "{{get-shipping-order.lot_number}}"
            - name: get-customs-template
              type: call
              call: "sharepoint.get-file"
              with:
                site_id: "logistics_docs_site"
                file_path: "CustomsTemplates/{{destination_country}}/export_declaration.docx"
            - name: create-logistics-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Ship Order {{shipping_order_id}} to {{destination_country}}"
                description: "Item: {{get-shipping-order.item_number}}\nLot: {{get-shipping-order.lot_number}}\nQuality Release: {{check-quality-release.status}}\nDestination: {{destination_country}}\nCustoms Template: {{get-customs-template.webUrl}}"
                assigned_group: "Global_Logistics"
                category: "semiconductor_shipping"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://samsung-ebs.oracle.com/webservices/rest/shipping/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: orders
          path: "/orders/{{order_id}}"
          inputParameters:
            - name: order_id
              in: path
          operations:
            - name: get-shipping-order
              method: GET
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/QM_QUALITY_RELEASE_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: releases
          path: "/QualityReleaseSet(Material='{{material}}',Lot='{{lot}}')"
          inputParameters:
            - name: material
              in: path
            - name: lot
              in: path
          operations:
            - name: get-quality-release
              method: GET
    - 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:/{{file_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: get-file
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_task"
          operations:
            - name: create-task
              method: POST

Orchestrates semiconductor supply chain pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Supply Chain Pipeline"
  description: "Orchestrates semiconductor supply chain pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - jira
    - teams
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-supply-chain-pipeline
          description: "Orchestrates semiconductor supply chain pipeline across consumer electronics and semiconductors 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: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Retrieves semiconductor wafer lot status data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Semiconductor Wafer Lot Status"
  description: "Retrieves semiconductor wafer lot status data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - semiconductor
    - samsung
    - status
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-wafer-lot-status
          description: "Retrieves semiconductor wafer lot status data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.semiconductor-wafer-lot-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/semiconductor/wafer/lot/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: semiconductor-wafer-lot-status
              method: GET

Orchestrates semiconductor yield improvement pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Semiconductor Yield Improvement Pipeline"
  description: "Orchestrates semiconductor yield improvement pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - semiconductor
    - samsung
    - servicenow
    - sap
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: semiconductor
      port: 8080
      tools:
        - name: semiconductor-yield-improvement-pipeline
          description: "Orchestrates semiconductor yield improvement pipeline across consumer electronics and semiconductors 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: "sap.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://samsung-erp.s4hana.ondemand.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: sap-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/semiconductor"
          operations:
            - name: execute-3
              method: POST

Retrieves a ServiceNow incident record by number for Samsung IT operations. Returns state, priority, assigned group, and short description.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Lookup"
  description: "Retrieves a ServiceNow incident record by number for Samsung IT operations. Returns state, priority, assigned group, and short description."
  tags:
    - it-operations
    - incident-management
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: it-incidents
      port: 8080
      tools:
        - name: get-incident
          description: "Fetch a ServiceNow incident by number. Returns state, priority, assigned group, and description."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number (e.g., INC0012345)."
          call: "servicenow.get-incident"
          with:
            incident_number: "{{incident_number}}"
          outputParameters:
            - name: state
              type: string
              mapping: "$.result.state"
            - name: priority
              type: string
              mapping: "$.result.priority"
            - name: assigned_group
              type: string
              mapping: "$.result.assignment_group.display_value"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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

Posts a message to a Samsung Slack channel for team notifications related to fab operations, quality alerts, or engineering updates.

naftiko: "0.5"
info:
  label: "Slack Channel Message Post"
  description: "Posts a message to a Samsung Slack channel for team notifications related to fab operations, quality alerts, or engineering updates."
  tags:
    - communications
    - notifications
    - slack
capability:
  exposes:
    - type: mcp
      namespace: team-notifications
      port: 8080
      tools:
        - name: post-slack-message
          description: "Post a message to a Slack channel. Used for fab alerts, engineering notifications, and cross-team updates."
          inputParameters:
            - name: channel_id
              in: body
              type: string
              description: "The Slack channel ID."
            - name: message_text
              in: body
              type: string
              description: "The message text to post."
          call: "slack.post-message"
          with:
            channel: "{{channel_id}}"
            text: "{{message_text}}"
  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

Queries Datadog for SmartThings device telemetry, checks Snowflake for historical anomaly patterns, and creates a Jira bug ticket when persistent issues are detected.

naftiko: "0.5"
info:
  label: "Smart Home Device Telemetry Analyzer"
  description: "Queries Datadog for SmartThings device telemetry, checks Snowflake for historical anomaly patterns, and creates a Jira bug ticket when persistent issues are detected."
  tags:
    - iot
    - smart-home
    - consumer-electronics
    - datadog
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: smart-home-telemetry
      port: 8080
      tools:
        - name: analyze-device-telemetry
          description: "Given a SmartThings device type and firmware version, analyze telemetry for anomalies and create a bug ticket if persistent issues are found."
          inputParameters:
            - name: device_type
              in: body
              type: string
              description: "The SmartThings device type (e.g., smart-hub, smart-lock)."
            - name: firmware_version
              in: body
              type: string
              description: "The firmware version to investigate."
          steps:
            - name: get-telemetry
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:samsung.smartthings.error_rate{device_type:{{device_type}},firmware:{{firmware_version}}}"
                from: "604800"
            - name: get-historical-anomalies
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT anomaly_type, occurrence_count, first_seen, last_seen FROM IOT_ANALYTICS.PUBLIC.DEVICE_ANOMALIES WHERE device_type = '{{device_type}}' AND firmware_version = '{{firmware_version}}' AND last_seen >= DATEADD(day, -7, CURRENT_DATE()) ORDER BY occurrence_count DESC"
                warehouse: "SAMSUNG_IOT_WH"
                database: "IOT_ANALYTICS"
                schema: "PUBLIC"
            - name: create-bug-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "IOTBUGS"
                issuetype: "Bug"
                summary: "SmartThings Anomaly: {{device_type}} ({{firmware_version}})"
                description: "Device Type: {{device_type}}\nFirmware: {{firmware_version}}\nError rate (7d): {{get-telemetry.series[0].pointlist[-1][1]}}\nTop anomaly: {{get-historical-anomalies.data[0][0]}} ({{get-historical-anomalies.data[0][1]}} occurrences)"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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 smarttv content partnership pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Smarttv Content Partnership Pipeline"
  description: "Orchestrates smarttv content partnership pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - smarttv
    - samsung
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: smarttv
      port: 8080
      tools:
        - name: smarttv-content-partnership-pipeline
          description: "Orchestrates smarttv content partnership pipeline across consumer electronics and semiconductors 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: "teams.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/smarttv"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/smarttv"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/smarttv"
          operations:
            - name: execute-3
              method: POST

Retrieves smarttv firmware version data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Smarttv Firmware Version"
  description: "Retrieves smarttv firmware version data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - smarttv
    - samsung
    - version
capability:
  exposes:
    - type: mcp
      namespace: smarttv
      port: 8080
      tools:
        - name: smarttv-firmware-version
          description: "Retrieves smarttv firmware version data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.smarttv-firmware-version"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/smarttv/firmware/version/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: smarttv-firmware-version
              method: GET

Orchestrates smarttv privacy compliance pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Smarttv Privacy Compliance Pipeline"
  description: "Orchestrates smarttv privacy compliance pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - smarttv
    - samsung
    - datadog
    - github
    - samsung
capability:
  exposes:
    - type: mcp
      namespace: smarttv
      port: 8080
      tools:
        - name: smarttv-privacy-compliance-pipeline
          description: "Orchestrates smarttv privacy compliance pipeline across consumer electronics and semiconductors 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: "github.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "samsung.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/smarttv"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: github-resource
          path: "/api/smarttv"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: samsung-resource
          path: "/api/smarttv"
          operations:
            - name: execute-3
              method: POST

Orchestrates smarttv streaming optimization pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Smarttv Streaming Optimization Pipeline"
  description: "Orchestrates smarttv streaming optimization pipeline across consumer electronics and semiconductors systems, coordinating multiple services and notifying stakeholders."
  tags:
    - smarttv
    - samsung
    - teams
    - confluence
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: smarttv
      port: 8080
      tools:
        - name: smarttv-streaming-optimization-pipeline
          description: "Orchestrates smarttv streaming optimization pipeline across consumer electronics and semiconductors 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: "teams.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: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/smarttv"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/smarttv"
          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/smarttv"
          operations:
            - name: execute-3
              method: POST

Executes a SQL query against Samsung's Snowflake data warehouse to retrieve semiconductor wafer yield statistics by lot and process step.

naftiko: "0.5"
info:
  label: "Snowflake Yield Data Query"
  description: "Executes a SQL query against Samsung's Snowflake data warehouse to retrieve semiconductor wafer yield statistics by lot and process step."
  tags:
    - data-analytics
    - semiconductor
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: yield-analytics
      port: 8080
      tools:
        - name: query-yield-data
          description: "Run a SQL query against Snowflake to retrieve wafer yield data. Returns result rows for the specified lot ID and process step."
          inputParameters:
            - name: lot_id
              in: body
              type: string
              description: "The semiconductor lot identifier."
            - name: process_step
              in: body
              type: string
              description: "The fabrication process step name."
          call: "snowflake.execute-query"
          with:
            statement: "SELECT lot_id, process_step, yield_pct, defect_count, run_date FROM FAB_YIELD.PUBLIC.WAFER_YIELD WHERE lot_id = '{{lot_id}}' AND process_step = '{{process_step}}' ORDER BY run_date DESC LIMIT 100"
            warehouse: "SAMSUNG_FAB_WH"
            database: "FAB_YIELD"
            schema: "PUBLIC"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Queries Splunk for newly detected vulnerabilities, creates Jira remediation tickets, and tracks progress by updating a Confluence security dashboard.

naftiko: "0.5"
info:
  label: "Software Vulnerability Remediation Tracker"
  description: "Queries Splunk for newly detected vulnerabilities, creates Jira remediation tickets, and tracks progress by updating a Confluence security dashboard."
  tags:
    - security
    - vulnerability-management
    - splunk
    - jira
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: vuln-remediation
      port: 8080
      tools:
        - name: track-vulnerability-remediation
          description: "Given a CVE identifier, query Splunk for affected assets, create a Jira remediation ticket, and update the security wiki."
          inputParameters:
            - name: cve_id
              in: body
              type: string
              description: "The CVE identifier (e.g., CVE-2026-12345)."
            - name: severity
              in: body
              type: string
              description: "Vulnerability severity (critical, high, medium, low)."
          steps:
            - name: get-affected-assets
              type: call
              call: "splunk.create-search"
              with:
                search: "search index=vulnerability cve_id={{cve_id}} | stats count by host, service"
                earliest_time: "-7d"
            - name: create-remediation-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "SECREM"
                issuetype: "Bug"
                summary: "Vulnerability Remediation: {{cve_id}} [{{severity}}]"
                description: "CVE: {{cve_id}}\nSeverity: {{severity}}\nAffected assets identified via Splunk scan. Remediation required within SLA."
                priority: "{{severity}}"
            - name: update-security-wiki
              type: call
              call: "confluence.create-page"
              with:
                space_key: "SECOPS"
                title: "Remediation Tracking: {{cve_id}}"
                body: "CVE: {{cve_id}} | Severity: {{severity}}\nJira: {{create-remediation-ticket.key}}\nStatus: Open\nAffected systems under investigation."
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://samsung-splunk.sec.samsung.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search-jobs
          path: "/search/jobs"
          operations:
            - name: create-search
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Searches Samsung Splunk instance for security events related to semiconductor IP protection and network intrusion detection.

naftiko: "0.5"
info:
  label: "Splunk Security Event Search"
  description: "Searches Samsung Splunk instance for security events related to semiconductor IP protection and network intrusion detection."
  tags:
    - security
    - semiconductor
    - splunk
capability:
  exposes:
    - type: mcp
      namespace: security-events
      port: 8080
      tools:
        - name: search-security-events
          description: "Run a Splunk search for security events matching a given query. Returns matching events with timestamp, source, and severity."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The Splunk search query (SPL syntax)."
            - name: earliest_time
              in: body
              type: string
              description: "Earliest time boundary (e.g., -24h)."
          call: "splunk.create-search"
          with:
            search: "search {{search_query}}"
            earliest_time: "{{earliest_time}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://samsung-splunk.sec.samsung.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search-jobs
          path: "/search/jobs"
          operations:
            - name: create-search
              method: POST

Pulls supplier data from Salesforce, queries Snowflake for defect rates by supplier, and generates a Jira task for procurement review with quality metrics.

naftiko: "0.5"
info:
  label: "Supplier Quality Scorecard Generator"
  description: "Pulls supplier data from Salesforce, queries Snowflake for defect rates by supplier, and generates a Jira task for procurement review with quality metrics."
  tags:
    - supply-chain
    - quality-assurance
    - salesforce
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: supplier-quality
      port: 8080
      tools:
        - name: generate-supplier-scorecard
          description: "Given a supplier account ID, pull supplier info from Salesforce, query defect rates from Snowflake, and create a Jira review task."
          inputParameters:
            - name: supplier_account_id
              in: body
              type: string
              description: "The Salesforce account ID for the supplier."
            - name: review_period
              in: body
              type: string
              description: "The review period (e.g., 2026-Q1)."
          steps:
            - name: get-supplier
              type: call
              call: "salesforce.get-account"
              with:
                account_id: "{{supplier_account_id}}"
            - name: get-defect-rates
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT supplier_id, defect_rate_ppm, on_time_delivery_pct, total_lots_received FROM SUPPLY_CHAIN.PUBLIC.SUPPLIER_QUALITY WHERE supplier_id = '{{supplier_account_id}}' AND review_period = '{{review_period}}'"
                warehouse: "SAMSUNG_SCM_WH"
                database: "SUPPLY_CHAIN"
                schema: "PUBLIC"
            - name: create-review-task
              type: call
              call: "jira.create-issue"
              with:
                project: "SCMQUAL"
                issuetype: "Task"
                summary: "Supplier Scorecard Review: {{get-supplier.Name}} — {{review_period}}"
                description: "Supplier: {{get-supplier.Name}}\nIndustry: {{get-supplier.Industry}}\nDefect Rate: {{get-defect-rates.data[0][1]}} PPM\nOn-Time Delivery: {{get-defect-rates.data[0][2]}}%\nLots Received: {{get-defect-rates.data[0][3]}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://samsung-semi.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

When a supplier delivery delay is detected in SAP, queries Oracle EBS for alternative inventory, creates a ServiceNow change request, and notifies the supply chain team via Slack.

naftiko: "0.5"
info:
  label: "Supply Chain Disruption Alert"
  description: "When a supplier delivery delay is detected in SAP, queries Oracle EBS for alternative inventory, creates a ServiceNow change request, and notifies the supply chain team via Slack."
  tags:
    - supply-chain
    - disruption
    - sap
    - oracle
    - servicenow
    - slack
capability:
  exposes:
    - type: mcp
      namespace: supply-chain-disruption
      port: 8080
      tools:
        - name: handle-supply-disruption
          description: "Given a delayed PO number, check alternative inventory, create a mitigation change request, and alert the supply chain team."
          inputParameters:
            - name: po_number
              in: body
              type: string
              description: "The SAP purchase order number with delayed delivery."
            - name: component_item
              in: body
              type: string
              description: "The component item number affected."
          steps:
            - name: get-delayed-po
              type: call
              call: "sap.get-po"
              with:
                po_number: "{{po_number}}"
            - name: check-alt-inventory
              type: call
              call: "oracle.get-onhand"
              with:
                item: "{{component_item}}"
                org: "ALL_WAREHOUSES"
            - name: create-mitigation-cr
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Supply Disruption: PO {{po_number}} — {{component_item}}"
                description: "Delayed PO: {{po_number}}\nVendor: {{get-delayed-po.vendor}}\nComponent: {{component_item}}\nAlternative inventory on-hand: {{check-alt-inventory.onhand_qty}} {{check-alt-inventory.uom}}\nMitigation plan required."
                category: "supply_chain_disruption"
                assigned_group: "Supply_Chain_Planning"
            - name: alert-team
              type: call
              call: "slack.post-message"
              with:
                channel: "C_SUPPLY_CHAIN"
                text: "SUPPLY DISRUPTION ALERT\nPO: {{po_number}} | Component: {{component_item}}\nVendor: {{get-delayed-po.vendor}}\nAlt Inventory: {{check-alt-inventory.onhand_qty}} units\nServiceNow: {{create-mitigation-cr.number}}"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: purchase-orders
          path: "/A_PurchaseOrder('{{po_number}}')"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-po
              method: GET
    - type: http
      namespace: oracle
      baseUri: "https://samsung-ebs.oracle.com/webservices/rest/inventory/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: onhand
          path: "/onhand?item={{item}}&org={{org}}"
          inputParameters:
            - name: item
              in: query
            - name: org
              in: query
          operations:
            - name: get-onhand
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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: 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

Retrieves open headcount from Workday, searches for matching candidates in Salesforce, creates interview scheduling tasks in ServiceNow, and notifies hiring managers via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Talent Acquisition Pipeline Orchestrator"
  description: "Retrieves open headcount from Workday, searches for matching candidates in Salesforce, creates interview scheduling tasks in ServiceNow, and notifies hiring managers via Microsoft Teams."
  tags:
    - hr
    - talent-acquisition
    - workday
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: talent-pipeline
      port: 8080
      tools:
        - name: process-hiring-pipeline
          description: "Given a Workday job requisition ID, find candidates, create interview tasks, and notify the hiring manager."
          inputParameters:
            - name: requisition_id
              in: body
              type: string
              description: "The Workday job requisition ID."
            - name: hiring_manager_email
              in: body
              type: string
              description: "The hiring manager's email address."
          steps:
            - name: get-requisition
              type: call
              call: "workday.get-requisition"
              with:
                requisition_id: "{{requisition_id}}"
            - name: search-candidates
              type: call
              call: "salesforce.query-soql"
              with:
                query: "SELECT Id, Name, Skills__c, Experience_Years__c FROM Candidate__c WHERE Status__c = 'Active' AND Skills__c LIKE '%{{get-requisition.required_skills}}%' LIMIT 10"
            - name: create-interview-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Schedule interviews: {{get-requisition.job_title}} ({{requisition_id}})"
                description: "Requisition: {{requisition_id}}\nRole: {{get-requisition.job_title}}\nDepartment: {{get-requisition.department}}\nMatching candidates: {{search-candidates.totalSize}}\nPlease schedule initial screening interviews."
                assigned_group: "Talent_Acquisition"
                category: "recruiting"
            - name: notify-hiring-manager
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{hiring_manager_email}}"
                text: "Hiring Pipeline Update: {{get-requisition.job_title}}\nRequisition: {{requisition_id}}\nMatching Candidates: {{search-candidates.totalSize}}\nInterview scheduling task: {{create-interview-task.number}}\nPlease review candidate profiles in Salesforce."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: requisitions
          path: "/jobRequisitions/{{requisition_id}}"
          inputParameters:
            - name: requisition_id
              in: path
          operations:
            - name: get-requisition
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://samsung.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: query
          path: "/query/?q={{query}}"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: query-soql
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_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: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Creates a new vendor record in SAP, provisions a SharePoint collaboration folder, opens a ServiceNow onboarding task, and notifies procurement via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Vendor Onboarding Workflow"
  description: "Creates a new vendor record in SAP, provisions a SharePoint collaboration folder, opens a ServiceNow onboarding task, and notifies procurement via Microsoft Teams."
  tags:
    - supply-chain
    - vendor-management
    - sap
    - sharepoint
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: vendor-onboarding
      port: 8080
      tools:
        - name: onboard-new-vendor
          description: "Given vendor details, create the SAP vendor record, provision collaboration space, open an onboarding task, and notify procurement."
          inputParameters:
            - name: vendor_name
              in: body
              type: string
              description: "The vendor company name."
            - name: vendor_category
              in: body
              type: string
              description: "Vendor category (raw-materials, equipment, packaging, services)."
            - name: procurement_contact_email
              in: body
              type: string
              description: "Email of the Samsung procurement contact."
          steps:
            - name: create-vendor-record
              type: call
              call: "sap.create-vendor"
              with:
                vendor_name: "{{vendor_name}}"
                category: "{{vendor_category}}"
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "procurement_vendors_site"
                folder_path: "Vendors/{{vendor_name}}"
            - name: create-onboarding-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Vendor Onboarding: {{vendor_name}}"
                description: "New vendor {{vendor_name}} ({{vendor_category}}). SAP ID: {{create-vendor-record.VendorId}}. Collaboration folder: {{provision-folder.url}}."
                assigned_group: "Procurement_Onboarding"
                category: "vendor_onboarding"
            - name: notify-procurement
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{procurement_contact_email}}"
                text: "Vendor Onboarding Started: {{vendor_name}}\nSAP Vendor ID: {{create-vendor-record.VendorId}}\nCategory: {{vendor_category}}\nServiceNow Task: {{create-onboarding-task.number}}\nDocs: {{provision-folder.url}}"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://samsung-s4.sap.com/sap/opu/odata/sap/API_BUSINESS_PARTNER"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: vendors
          path: "/A_Supplier"
          operations:
            - name: create-vendor
              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: servicenow
      baseUri: "https://samsung.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_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: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Queries Snowflake for yield trend data, fetches related Confluence process docs, and opens a ServiceNow investigation task when yield drops below threshold.

naftiko: "0.5"
info:
  label: "Wafer Yield Anomaly Investigation"
  description: "Queries Snowflake for yield trend data, fetches related Confluence process docs, and opens a ServiceNow investigation task when yield drops below threshold."
  tags:
    - semiconductor
    - yield-management
    - snowflake
    - confluence
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: yield-investigation
      port: 8080
      tools:
        - name: investigate-yield-anomaly
          description: "Given a lot ID and process step with low yield, query historical yield data, pull process documentation, and create an investigation task."
          inputParameters:
            - name: lot_id
              in: body
              type: string
              description: "The semiconductor lot identifier."
            - name: process_step
              in: body
              type: string
              description: "The fabrication process step."
            - name: observed_yield
              in: body
              type: number
              description: "The observed yield percentage that triggered the anomaly."
          steps:
            - name: get-yield-history
              type: call
              call: "snowflake.execute-query"
              with:
                statement: "SELECT lot_id, process_step, yield_pct, run_date FROM FAB_YIELD.PUBLIC.WAFER_YIELD WHERE process_step = '{{process_step}}' ORDER BY run_date DESC LIMIT 50"
                warehouse: "SAMSUNG_FAB_WH"
                database: "FAB_YIELD"
                schema: "PUBLIC"
            - name: get-process-docs
              type: call
              call: "confluence.search-content"
              with:
                cql: "type=page AND space=FABPROC AND text~\"{{process_step}}\""
            - name: open-investigation
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Yield anomaly: {{process_step}} — Lot {{lot_id}} at {{observed_yield}}%"
                description: "Yield dropped to {{observed_yield}}% for lot {{lot_id}} at step {{process_step}}. Historical data queried. Process docs: {{get-process-docs.results[0]._links.webui}}."
                category: "fab_yield_investigation"
                assigned_group: "Fab_Process_Engineering"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://samsung.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://samsung-semi.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/content/search"
          inputParameters:
            - name: cql
              in: query
          operations:
            - name: search-content
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://samsung.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

Retrieves wearable device health data data from the Samsung consumer electronics and semiconductors systems.

naftiko: "0.5"
info:
  label: "Wearable Device Health Data"
  description: "Retrieves wearable device health data data from the Samsung consumer electronics and semiconductors systems."
  tags:
    - wearable
    - samsung
    - data
capability:
  exposes:
    - type: mcp
      namespace: wearable
      port: 8080
      tools:
        - name: wearable-device-health-data
          description: "Retrieves wearable device health data data from the Samsung consumer electronics and semiconductors systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "samsung.wearable-device-health-data"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: samsung
      baseUri: "https://api.samsung.com/v2"
      authentication:
        type: bearer
        token: "$secrets.samsung_api_token"
      resources:
        - name: resource
          path: "/wearable/device/health/data/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: wearable-device-health-data
              method: GET

Retrieves employee details from Workday by worker ID for Samsung HR and organizational queries.

naftiko: "0.5"
info:
  label: "Workday Employee Directory Lookup"
  description: "Retrieves employee details from Workday by worker ID for Samsung HR and organizational queries."
  tags:
    - hr
    - employee-directory
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-directory
      port: 8080
      tools:
        - name: get-employee
          description: "Fetch a Workday employee record by worker ID. Returns full name, department, job title, manager, and work email."
          inputParameters:
            - name: worker_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{worker_id}}"
          outputParameters:
            - name: full_name
              type: string
              mapping: "$.fullName"
            - name: department
              type: string
              mapping: "$.department"
            - name: job_title
              type: string
              mapping: "$.jobTitle"
            - name: work_email
              type: string
              mapping: "$.workEmail"
  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