Samsung Capabilities
Naftiko 0.5 capability definitions for Samsung - 100 capabilities showing integration workflows and service orchestrations.
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