Rolls-Royce Capabilities
Naftiko 0.5 capability definitions for Rolls-Royce - 100 capabilities showing integration workflows and service orchestrations.
Retrieves accessory drive status check data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Accessory Drive Status Check"
description: "Retrieves accessory drive status check data from the Rolls Royce aerospace and power systems systems."
tags:
- accessory
- rolls-royce
- check
capability:
exposes:
- type: mcp
namespace: accessory
port: 8080
tools:
- name: accessory-drive-status-check
description: "Retrieves accessory drive status check data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.accessory-drive-status-check"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/accessory/drive/status/check/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: accessory-drive-status-check
method: GET
Orchestrates additive manufacturing pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Additive Manufacturing Pipeline"
description: "Orchestrates additive manufacturing pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- additive
- rolls-royce
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: additive
port: 8080
tools:
- name: additive-manufacturing-pipeline
description: "Orchestrates additive manufacturing pipeline across aerospace and power systems 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://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/additive"
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/additive"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/additive"
operations:
- name: execute-3
method: POST
Orchestrates aftermarket revenue pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Aftermarket Revenue Pipeline"
description: "Orchestrates aftermarket revenue pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- aftermarket
- rolls-royce
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: aftermarket
port: 8080
tools:
- name: aftermarket-revenue-pipeline
description: "Orchestrates aftermarket revenue pipeline across aerospace and power systems 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/aftermarket"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/aftermarket"
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/aftermarket"
operations:
- name: execute-3
method: POST
Retrieves the latest version of an AutoCAD drawing file from SharePoint, returning the file name, version number, and last modifier for engineering design teams.
naftiko: "0.5"
info:
label: "AutoCAD Drawing Version Lookup"
description: "Retrieves the latest version of an AutoCAD drawing file from SharePoint, returning the file name, version number, and last modifier for engineering design teams."
tags:
- engineering
- design
- autocad
- sharepoint
capability:
exposes:
- type: mcp
namespace: design-docs
port: 8080
tools:
- name: get-drawing-version
description: "Look up the latest version of an AutoCAD drawing file in SharePoint."
inputParameters:
- name: site_id
in: body
type: string
description: "The SharePoint site ID for engineering drawings."
- name: file_path
in: body
type: string
description: "The path to the AutoCAD file in SharePoint."
call: "sharepoint.get-file-version"
with:
site_id: "{{site_id}}"
file_path: "{{file_path}}"
outputParameters:
- name: version
type: string
mapping: "$.versionLabel"
- name: last_modified_by
type: string
mapping: "$.lastModifiedBy.user.displayName"
- name: modified_date
type: string
mapping: "$.lastModifiedDateTime"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: file-versions
path: "/{{site_id}}/drive/root:/{{file_path}}"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: get-file-version
method: GET
Retrieves the latest build status for an Azure DevOps pipeline, returning build result, duration, and triggering commit for the engineering team.
naftiko: "0.5"
info:
label: "Azure DevOps Build Status"
description: "Retrieves the latest build status for an Azure DevOps pipeline, returning build result, duration, and triggering commit for the engineering team."
tags:
- ci-cd
- engineering
- azure-devops
capability:
exposes:
- type: mcp
namespace: devops-ci
port: 8080
tools:
- name: get-build-status
description: "Look up the latest build for an Azure DevOps pipeline."
inputParameters:
- name: project
in: body
type: string
description: "The Azure DevOps project name."
- name: pipeline_id
in: body
type: string
description: "The pipeline definition ID."
call: "azdevops.get-latest-build"
with:
project: "{{project}}"
pipeline_id: "{{pipeline_id}}"
outputParameters:
- name: result
type: string
mapping: "$.value[0].result"
- name: status
type: string
mapping: "$.value[0].status"
- name: build_number
type: string
mapping: "$.value[0].buildNumber"
consumes:
- type: http
namespace: azdevops
baseUri: "https://dev.azure.com/rollsroyce"
authentication:
type: basic
username: "$secrets.azdevops_user"
password: "$secrets.azdevops_pat"
resources:
- name: builds
path: "/{{project}}/_apis/build/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
inputParameters:
- name: project
in: path
- name: pipeline_id
in: path
operations:
- name: get-latest-build
method: GET
Checks the deployment status of a machine learning model in Azure ML, returning endpoint health, model version, and inference latency metrics.
naftiko: "0.5"
info:
label: "Azure Machine Learning Model Deployment Status"
description: "Checks the deployment status of a machine learning model in Azure ML, returning endpoint health, model version, and inference latency metrics."
tags:
- machine-learning
- azure-machine-learning
- model-deployment
capability:
exposes:
- type: mcp
namespace: ml-ops
port: 8080
tools:
- name: get-model-deployment-status
description: "Check the deployment status of an Azure ML endpoint."
inputParameters:
- name: endpoint_name
in: body
type: string
description: "The Azure ML managed endpoint name."
call: "azureml.get-endpoint"
with:
endpoint_name: "{{endpoint_name}}"
outputParameters:
- name: provisioning_state
type: string
mapping: "$.properties.provisioningState"
- name: model_version
type: string
mapping: "$.properties.deployments[0].properties.model.version"
- name: scoring_uri
type: string
mapping: "$.properties.scoringUri"
consumes:
- type: http
namespace: azureml
baseUri: "https://management.azure.com/subscriptions/$secrets.azure_subscription_id/resourceGroups/$secrets.azure_rg/providers/Microsoft.MachineLearningServices/workspaces/$secrets.azure_ml_workspace"
authentication:
type: bearer
token: "$secrets.azure_ml_token"
resources:
- name: endpoints
path: "/onlineEndpoints/{{endpoint_name}}?api-version=2023-04-01"
inputParameters:
- name: endpoint_name
in: path
operations:
- name: get-endpoint
method: GET
Retrieves bearing vibration analysis data data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Bearing Vibration Analysis Data"
description: "Retrieves bearing vibration analysis data data from the Rolls Royce aerospace and power systems systems."
tags:
- bearing
- rolls-royce
- data
capability:
exposes:
- type: mcp
namespace: bearing
port: 8080
tools:
- name: bearing-vibration-analysis-data
description: "Retrieves bearing vibration analysis data data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.bearing-vibration-analysis-data"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/bearing/vibration/analysis/data/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: bearing-vibration-analysis-data
method: GET
Searches Box for archived engineering documents and specifications by keyword, returning file names, shared links, and upload dates.
naftiko: "0.5"
info:
label: "Box Engineering Archive Search"
description: "Searches Box for archived engineering documents and specifications by keyword, returning file names, shared links, and upload dates."
tags:
- documentation
- archive
- box
capability:
exposes:
- type: mcp
namespace: archive-search
port: 8080
tools:
- name: search-box-archive
description: "Search Box for archived engineering documents by keyword."
inputParameters:
- name: query
in: body
type: string
description: "The search keyword."
call: "box.search"
with:
query: "{{query}}"
outputParameters:
- name: results
type: array
mapping: "$.entries"
consumes:
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: search
path: "/search?query={{query}}&content_types=name,description"
inputParameters:
- name: query
in: path
operations:
- name: search
method: GET
When an engineering change request is submitted in ServiceNow, creates a Jira epic for implementation tracking, updates the Confluence change log, and notifies the CAB in Microsoft Teams.
naftiko: "0.5"
info:
label: "Change Management Workflow"
description: "When an engineering change request is submitted in ServiceNow, creates a Jira epic for implementation tracking, updates the Confluence change log, and notifies the CAB in Microsoft Teams."
tags:
- change-management
- servicenow
- jira
- confluence
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: change-mgmt
port: 8080
tools:
- name: process-change-request
description: "Given a ServiceNow change request number, create a Jira epic, update Confluence, and notify the CAB."
inputParameters:
- name: change_number
in: body
type: string
description: "The ServiceNow change request number."
- name: change_summary
in: body
type: string
description: "Summary of the change request."
- name: project_key
in: body
type: string
description: "The Jira project key for implementation tracking."
steps:
- name: get-change
type: call
call: "servicenow.get-change"
with:
change_number: "{{change_number}}"
- name: create-epic
type: call
call: "jira.create-issue"
with:
project_key: "{{project_key}}"
summary: "Change Implementation: {{change_number}} — {{change_summary}}"
issue_type: "Epic"
description: "Implementation of change {{change_number}}: {{get-change.description}}"
- name: update-changelog
type: call
call: "confluence.update-page"
with:
page_id: "engineering_changelog"
body: "Change {{change_number}}: {{change_summary}}. Jira: {{create-epic.key}}. Status: {{get-change.state}}."
- name: notify-cab
type: call
call: "msteams.send-message"
with:
channel_id: "change_advisory_board"
text: "Change Request {{change_number}}: {{change_summary}}. Jira Epic: {{create-epic.key}}. Current state: {{get-change.state}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: changes
path: "/table/change_request?sysparm_query=number={{change_number}}"
inputParameters:
- name: change_number
in: path
operations:
- name: get-change
method: GET
- type: http
namespace: jira
baseUri: "https://rollsroyce.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://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: content
path: "/content/{{page_id}}"
inputParameters:
- name: page_id
in: path
operations:
- name: update-page
method: PUT
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Queries Cloudflare for CDN performance metrics including cache hit rate, bandwidth savings, and threat mitigation for Rolls-Royce web properties.
naftiko: "0.5"
info:
label: "Cloudflare CDN Performance Check"
description: "Queries Cloudflare for CDN performance metrics including cache hit rate, bandwidth savings, and threat mitigation for Rolls-Royce web properties."
tags:
- infrastructure
- cdn
- cloudflare
capability:
exposes:
- type: mcp
namespace: cdn-performance
port: 8080
tools:
- name: get-cdn-performance
description: "Retrieve Cloudflare zone analytics for a web property."
inputParameters:
- name: zone_id
in: body
type: string
description: "The Cloudflare zone ID."
call: "cloudflare.get-zone-analytics"
with:
zone_id: "{{zone_id}}"
consumes:
- type: http
namespace: cloudflare
baseUri: "https://api.cloudflare.com/client/v4"
authentication:
type: bearer
token: "$secrets.cloudflare_token"
resources:
- name: analytics
path: "/zones/{{zone_id}}/analytics/dashboard"
inputParameters:
- name: zone_id
in: path
operations:
- name: get-zone-analytics
method: GET
Retrieves combustion chamber life lookup data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Combustion Chamber Life Lookup"
description: "Retrieves combustion chamber life lookup data from the Rolls Royce aerospace and power systems systems."
tags:
- combustion
- rolls-royce
- lookup
capability:
exposes:
- type: mcp
namespace: combustion
port: 8080
tools:
- name: combustion-chamber-life-lookup
description: "Retrieves combustion chamber life lookup data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.combustion-chamber-life-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/combustion/chamber/life/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: combustion-chamber-life-lookup
method: GET
Retrieves compressor wash interval check data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Compressor Wash Interval Check"
description: "Retrieves compressor wash interval check data from the Rolls Royce aerospace and power systems systems."
tags:
- compressor
- rolls-royce
- check
capability:
exposes:
- type: mcp
namespace: compressor
port: 8080
tools:
- name: compressor-wash-interval-check
description: "Retrieves compressor wash interval check data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.compressor-wash-interval-check"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/compressor/wash/interval/check/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: compressor-wash-interval-check
method: GET
Searches Confluence for engine maintenance documentation by keyword and returns matching page titles, URLs, and last modified dates.
naftiko: "0.5"
info:
label: "Confluence Engine Documentation Search"
description: "Searches Confluence for engine maintenance documentation by keyword and returns matching page titles, URLs, and last modified dates."
tags:
- documentation
- knowledge-management
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge
port: 8080
tools:
- name: search-engine-docs
description: "Search Confluence for engine maintenance documentation matching a keyword."
inputParameters:
- name: query
in: body
type: string
description: "The search keyword or phrase for engine documentation."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: results
type: array
mapping: "$.results"
consumes:
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search?cql=type=page AND text~\"{{query}}\""
inputParameters:
- name: query
in: path
operations:
- name: search
method: GET
Orchestrates customer fleet review pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Fleet Review Pipeline"
description: "Orchestrates customer fleet review pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rolls-royce
- servicenow
- sap
- snowflake
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-fleet-review-pipeline
description: "Orchestrates customer fleet review pipeline across aerospace and power systems 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://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer satisfaction survey pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Satisfaction Survey Pipeline"
description: "Orchestrates customer satisfaction survey pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rolls-royce
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-satisfaction-survey-pipeline
description: "Orchestrates customer satisfaction survey pipeline across aerospace and power systems 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://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
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/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer technical publication pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Technical Publication Pipeline"
description: "Orchestrates customer technical publication pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rolls-royce
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-technical-publication-pipeline
description: "Orchestrates customer technical publication pipeline across aerospace and power systems 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://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
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/customer"
operations:
- name: execute-3
method: POST
Queries Datadog for the current health status of a manufacturing plant's infrastructure hosts, returning CPU, memory, and alert counts.
naftiko: "0.5"
info:
label: "Datadog Infrastructure Monitor"
description: "Queries Datadog for the current health status of a manufacturing plant's infrastructure hosts, returning CPU, memory, and alert counts."
tags:
- monitoring
- infrastructure
- datadog
capability:
exposes:
- type: mcp
namespace: infra-monitoring
port: 8080
tools:
- name: get-host-health
description: "Query Datadog for infrastructure host health metrics by host name."
inputParameters:
- name: host_name
in: body
type: string
description: "The Datadog host name to query."
call: "datadog.get-host"
with:
host_name: "{{host_name}}"
outputParameters:
- name: cpu_usage
type: number
mapping: "$.host_list[0].metrics.cpu"
- name: memory_usage
type: number
mapping: "$.host_list[0].metrics.iowait"
- name: alert_count
type: number
mapping: "$.host_list[0].apps.length"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: hosts
path: "/hosts?filter={{host_name}}"
inputParameters:
- name: host_name
in: path
operations:
- name: get-host
method: GET
Orchestrates defense contract milestone pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Defense Contract Milestone Pipeline"
description: "Orchestrates defense contract milestone pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- defense
- rolls-royce
- sharepoint
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: defense
port: 8080
tools:
- name: defense-contract-milestone-pipeline
description: "Orchestrates defense contract milestone pipeline across aerospace and power systems 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: "sharepoint.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: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/defense"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/defense"
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/defense"
operations:
- name: execute-3
method: POST
Retrieves defense engine fleet summary data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Defense Engine Fleet Summary"
description: "Retrieves defense engine fleet summary data from the Rolls Royce aerospace and power systems systems."
tags:
- defense
- rolls-royce
- summary
capability:
exposes:
- type: mcp
namespace: defense
port: 8080
tools:
- name: defense-engine-fleet-summary
description: "Retrieves defense engine fleet summary data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.defense-engine-fleet-summary"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/defense/engine/fleet/summary/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: defense-engine-fleet-summary
method: GET
Orchestrates defense engine readiness pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Defense Engine Readiness Pipeline"
description: "Orchestrates defense engine readiness pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- defense
- rolls-royce
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: defense
port: 8080
tools:
- name: defense-engine-readiness-pipeline
description: "Orchestrates defense engine readiness pipeline across aerospace and power systems 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/defense"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/defense"
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/defense"
operations:
- name: execute-3
method: POST
Orchestrates digital twin analytics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Digital Twin Analytics Pipeline"
description: "Orchestrates digital twin analytics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- digital
- rolls-royce
- rolls-royce
- servicenow
- sap
capability:
exposes:
- type: mcp
namespace: digital
port: 8080
tools:
- name: digital-twin-analytics-pipeline
description: "Orchestrates digital twin analytics pipeline across aerospace and power systems 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: "rolls-royce.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: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/digital"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/digital"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/digital"
operations:
- name: execute-3
method: POST
Reads the latest telemetry data from an Azure Digital Twins engine model instance, returning vibration, temperature, and pressure sensor values for predictive maintenance analysis.
naftiko: "0.5"
info:
label: "Digital Twin Telemetry Reader"
description: "Reads the latest telemetry data from an Azure Digital Twins engine model instance, returning vibration, temperature, and pressure sensor values for predictive maintenance analysis."
tags:
- digital-twin
- iot
- predictive-maintenance
- microsoft-azure
capability:
exposes:
- type: mcp
namespace: digital-twin
port: 8080
tools:
- name: get-engine-telemetry
description: "Retrieve the latest telemetry snapshot for a given engine digital twin instance from Azure Digital Twins."
inputParameters:
- name: twin_id
in: body
type: string
description: "The Azure Digital Twins instance ID for the engine."
call: "azure-dt.get-twin"
with:
twin_id: "{{twin_id}}"
outputParameters:
- name: vibration
type: number
mapping: "$.contents.vibration"
- name: temperature
type: number
mapping: "$.contents.exhaust_temp"
- name: pressure
type: number
mapping: "$.contents.oil_pressure"
- name: last_updated
type: string
mapping: "$.$metadata.$lastUpdateTime"
consumes:
- type: http
namespace: azure-dt
baseUri: "https://rolls-royce-dt.api.eus.digitaltwins.azure.net"
authentication:
type: bearer
token: "$secrets.azure_dt_token"
resources:
- name: twins
path: "/digitaltwins/{{twin_id}}"
inputParameters:
- name: twin_id
in: path
operations:
- name: get-twin
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for employee documents, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for employee documents, 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 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:
channel_id: "new_hires"
text: "Welcome to Rolls-Royce, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents: {{provision-folder.url}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.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: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves engine air intake inspection data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Engine Air Intake Inspection"
description: "Retrieves engine air intake inspection data from the Rolls Royce aerospace and power systems systems."
tags:
- engine
- rolls-royce
- inspection
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-air-intake-inspection
description: "Retrieves engine air intake inspection data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.engine-air-intake-inspection"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/engine/air/intake/inspection/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: engine-air-intake-inspection
method: GET
Orchestrates engine certification compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Certification Compliance Pipeline"
description: "Orchestrates engine certification compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- datadog
- rolls-royce
- servicenow
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-certification-compliance-pipeline
description: "Orchestrates engine certification compliance pipeline across aerospace and power systems 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: "rolls-royce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.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/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine component life extension pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Component Life Extension Pipeline"
description: "Orchestrates engine component life extension pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- servicenow
- sap
- snowflake
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-component-life-extension-pipeline
description: "Orchestrates engine component life extension pipeline across aerospace and power systems 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://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine development testing pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Development Testing Pipeline"
description: "Orchestrates engine development testing pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- jira
- teams
- sharepoint
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-development-testing-pipeline
description: "Orchestrates engine development testing pipeline across aerospace and power systems 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: "sharepoint.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine emissions compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Emissions Compliance Pipeline"
description: "Orchestrates engine emissions compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-emissions-compliance-pipeline
description: "Orchestrates engine emissions compliance pipeline across aerospace and power systems 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://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine fleet optimization pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Fleet Optimization Pipeline"
description: "Orchestrates engine fleet optimization pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-fleet-optimization-pipeline
description: "Orchestrates engine fleet optimization pipeline across aerospace and power systems 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://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-3
method: POST
Queries Azure Digital Twins for all engine twins in a fleet, aggregates flight hours from SAP PM, and sends a weekly utilization summary to the fleet management team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Engine Fleet Utilization Report"
description: "Queries Azure Digital Twins for all engine twins in a fleet, aggregates flight hours from SAP PM, and sends a weekly utilization summary to the fleet management team in Microsoft Teams."
tags:
- fleet-management
- digital-twin
- sap
- microsoft-teams
- analytics
capability:
exposes:
- type: mcp
namespace: fleet-utilization
port: 8080
tools:
- name: generate-fleet-utilization
description: "Given a fleet code, query digital twins, aggregate SAP flight hours, and send a utilization summary to Microsoft Teams."
inputParameters:
- name: fleet_code
in: body
type: string
description: "The fleet identifier code."
- name: reporting_period
in: body
type: string
description: "The reporting period (e.g., 2026-W12)."
steps:
- name: query-fleet-twins
type: call
call: "azure-dt.query-twins"
with:
query: "SELECT * FROM digitaltwins WHERE fleet_code = '{{fleet_code}}'"
- name: get-flight-hours
type: call
call: "sap.get-fleet-hours"
with:
fleet_code: "{{fleet_code}}"
period: "{{reporting_period}}"
- name: send-report
type: call
call: "msteams.send-message"
with:
channel_id: "fleet_management"
text: "Fleet {{fleet_code}} Utilization Report ({{reporting_period}}): Total engines: {{query-fleet-twins.count}}. Total flight hours: {{get-flight-hours.total_hours}}. Average per engine: {{get-flight-hours.avg_hours}}."
consumes:
- type: http
namespace: azure-dt
baseUri: "https://rolls-royce-dt.api.eus.digitaltwins.azure.net"
authentication:
type: bearer
token: "$secrets.azure_dt_token"
resources:
- name: query
path: "/query"
operations:
- name: query-twins
method: POST
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/PM_FLEET_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: fleet-hours
path: "/FleetHours?$filter=fleet_code eq '{{fleet_code}}' and period eq '{{period}}'"
inputParameters:
- name: fleet_code
in: path
- name: period
in: path
operations:
- name: get-fleet-hours
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves engine fuel burn rate lookup data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Engine Fuel Burn Rate Lookup"
description: "Retrieves engine fuel burn rate lookup data from the Rolls Royce aerospace and power systems systems."
tags:
- engine
- rolls-royce
- lookup
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-fuel-burn-rate-lookup
description: "Retrieves engine fuel burn rate lookup data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.engine-fuel-burn-rate-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/engine/fuel/burn/rate/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: engine-fuel-burn-rate-lookup
method: GET
When an Azure Digital Twins telemetry anomaly is detected, creates a Datadog alert, opens a ServiceNow incident for the engine health team, and sends a Microsoft Teams notification to the fleet monitoring channel.
naftiko: "0.5"
info:
label: "Engine Health Alert Pipeline"
description: "When an Azure Digital Twins telemetry anomaly is detected, creates a Datadog alert, opens a ServiceNow incident for the engine health team, and sends a Microsoft Teams notification to the fleet monitoring channel."
tags:
- engine-health
- digital-twin
- datadog
- servicenow
- microsoft-teams
- alerting
capability:
exposes:
- type: mcp
namespace: engine-health
port: 8080
tools:
- name: raise-engine-health-alert
description: "Given a twin ID and anomaly type, create a Datadog event, open a ServiceNow incident, and notify the fleet monitoring team in Microsoft Teams."
inputParameters:
- name: twin_id
in: body
type: string
description: "The Azure Digital Twins instance ID for the engine."
- name: anomaly_type
in: body
type: string
description: "The type of anomaly detected (e.g., vibration_spike, temp_exceedance)."
- name: severity
in: body
type: string
description: "Alert severity level (low, medium, high, critical)."
steps:
- name: create-dd-event
type: call
call: "datadog.create-event"
with:
title: "Engine Health Alert: {{anomaly_type}} on twin {{twin_id}}"
text: "Anomaly type: {{anomaly_type}}. Severity: {{severity}}."
alert_type: "{{severity}}"
tags: "engine:{{twin_id}},anomaly:{{anomaly_type}}"
- name: open-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Engine Health Alert: {{anomaly_type}} — Twin {{twin_id}}"
category: "engine_health"
urgency: "{{severity}}"
assigned_group: "Engine_Health_Monitoring"
- name: notify-fleet
type: call
call: "msteams.send-message"
with:
channel_id: "fleet_monitoring"
text: "Engine Health Alert for twin {{twin_id}}: {{anomaly_type}} ({{severity}}). ServiceNow: {{open-incident.number}}. Datadog event: {{create-dd-event.url}}."
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: events
path: "/events"
operations:
- name: create-event
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Orchestrates engine health monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Health Monitoring Pipeline"
description: "Orchestrates engine health monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- rolls-royce
- servicenow
- sap
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-health-monitoring-pipeline
description: "Orchestrates engine health monitoring pipeline across aerospace and power systems 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: "rolls-royce.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: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine lease management pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Lease Management Pipeline"
description: "Orchestrates engine lease management pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- teams
- sharepoint
- confluence
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-lease-management-pipeline
description: "Orchestrates engine lease management pipeline across aerospace and power systems 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: "sharepoint.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.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/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine module build tracking pipeline v2 across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Module Build Tracking Pipeline V2"
description: "Orchestrates engine module build tracking pipeline v2 across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- servicenow
- sap
- snowflake
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-module-build-tracking-pipeline-v2
description: "Orchestrates engine module build tracking pipeline v2 across aerospace and power systems 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://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Retrieves engine module serial lookup data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Engine Module Serial Lookup"
description: "Retrieves engine module serial lookup data from the Rolls Royce aerospace and power systems systems."
tags:
- engine
- rolls-royce
- lookup
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-module-serial-lookup
description: "Retrieves engine module serial lookup data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.engine-module-serial-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/engine/module/serial/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: engine-module-serial-lookup
method: GET
When a maintenance work order is created in SAP S/4HANA, opens a ServiceNow incident for tracking, provisions a SharePoint folder for MRO documentation, and notifies the engine shop team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Engine MRO Work Order Orchestrator"
description: "When a maintenance work order is created in SAP S/4HANA, opens a ServiceNow incident for tracking, provisions a SharePoint folder for MRO documentation, and notifies the engine shop team via Microsoft Teams."
tags:
- mro
- engine-maintenance
- sap-s4hana
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: mro-workorder
port: 8080
tools:
- name: trigger-mro-workorder
description: "Given a SAP work order ID and engine serial number, orchestrate the full MRO work order sequence across ServiceNow, SharePoint, and Microsoft Teams."
inputParameters:
- name: work_order_id
in: body
type: string
description: "The SAP S/4HANA maintenance work order ID."
- name: engine_serial
in: body
type: string
description: "The engine serial number under maintenance."
- name: shop_code
in: body
type: string
description: "The MRO shop facility code."
steps:
- name: get-work-order
type: call
call: "sap.get-work-order"
with:
work_order_id: "{{work_order_id}}"
- name: open-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "MRO Work Order: {{work_order_id}} — Engine {{engine_serial}}"
category: "engine_mro"
assigned_group: "MRO_Shop_{{shop_code}}"
description: "Maintenance work order {{work_order_id}} for engine {{engine_serial}} at facility {{shop_code}}. Type: {{get-work-order.order_type}}."
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "mro_documentation_site"
folder_path: "MRO/{{engine_serial}}_{{work_order_id}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "mro_shop_{{shop_code}}"
text: "New MRO Work Order {{work_order_id}} for engine {{engine_serial}}. ServiceNow ticket: {{open-incident.number}}. Documents: {{provision-folder.url}}."
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/PM_WORKORDER_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: work-orders
path: "/WorkOrders('{{work_order_id}}')"
inputParameters:
- name: work_order_id
in: path
operations:
- name: get-work-order
method: GET
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.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: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves engine ndt inspection record data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Engine Ndt Inspection Record"
description: "Retrieves engine ndt inspection record data from the Rolls Royce aerospace and power systems systems."
tags:
- engine
- rolls-royce
- record
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-ndt-inspection-record
description: "Retrieves engine ndt inspection record data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.engine-ndt-inspection-record"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/engine/ndt/inspection/record/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: engine-ndt-inspection-record
method: GET
Orchestrates engine noise reduction pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Noise Reduction Pipeline"
description: "Orchestrates engine noise reduction pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-noise-reduction-pipeline
description: "Orchestrates engine noise reduction pipeline across aerospace and power systems 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/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-3
method: POST
Retrieves historical overhaul cost data from SAP PM, aggregates material costs from SAP MM, and generates a cost estimate report sent to the finance team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Engine Overhaul Cost Estimator"
description: "Retrieves historical overhaul cost data from SAP PM, aggregates material costs from SAP MM, and generates a cost estimate report sent to the finance team via Microsoft Teams."
tags:
- finance
- mro
- cost-estimation
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: mro-costing
port: 8080
tools:
- name: estimate-overhaul-cost
description: "Given an engine model and overhaul scope, pull historical costs from SAP and send an estimate summary to Microsoft Teams."
inputParameters:
- name: engine_model
in: body
type: string
description: "The engine model designation (e.g., Trent XWB)."
- name: overhaul_scope
in: body
type: string
description: "The overhaul scope (e.g., hot_section, full_overhaul)."
steps:
- name: get-historical-costs
type: call
call: "sap.get-overhaul-history"
with:
engine_model: "{{engine_model}}"
scope: "{{overhaul_scope}}"
- name: get-material-costs
type: call
call: "sap.get-material-costs"
with:
engine_model: "{{engine_model}}"
scope: "{{overhaul_scope}}"
- name: send-estimate
type: call
call: "msteams.send-message"
with:
channel_id: "mro_finance"
text: "Overhaul Cost Estimate for {{engine_model}} ({{overhaul_scope}}): Historical avg: ${{get-historical-costs.avg_cost}}. Material estimate: ${{get-material-costs.total}}. Parts count: {{get-material-costs.part_count}}."
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/PM_COST_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: overhaul-history
path: "/OverhaulCosts?$filter=EngineModel eq '{{engine_model}}' and Scope eq '{{scope}}'"
inputParameters:
- name: engine_model
in: path
- name: scope
in: path
operations:
- name: get-overhaul-history
method: GET
- name: material-costs
path: "/MaterialCosts?$filter=EngineModel eq '{{engine_model}}' and Scope eq '{{scope}}'"
inputParameters:
- name: engine_model
in: path
- name: scope
in: path
operations:
- name: get-material-costs
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Orchestrates engine overhaul scheduling pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Overhaul Scheduling Pipeline"
description: "Orchestrates engine overhaul scheduling pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- teams
- sharepoint
- confluence
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-overhaul-scheduling-pipeline
description: "Orchestrates engine overhaul scheduling pipeline across aerospace and power systems 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: "sharepoint.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.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/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine performance restoration pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Performance Restoration Pipeline"
description: "Orchestrates engine performance restoration pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- confluence
- datadog
- rolls-royce
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-performance-restoration-pipeline
description: "Orchestrates engine performance restoration pipeline across aerospace and power systems 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: "rolls-royce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine reliability analysis pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Reliability Analysis Pipeline"
description: "Orchestrates engine reliability analysis pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- datadog
- rolls-royce
- servicenow
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-reliability-analysis-pipeline
description: "Orchestrates engine reliability analysis pipeline across aerospace and power systems 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: "rolls-royce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.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/engine"
operations:
- name: execute-1
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Orchestrates engine sustainability metrics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Engine Sustainability Metrics Pipeline"
description: "Orchestrates engine sustainability metrics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- engine
- rolls-royce
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-sustainability-metrics-pipeline
description: "Orchestrates engine sustainability metrics pipeline across aerospace and power systems 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://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/engine"
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/engine"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/engine"
operations:
- name: execute-3
method: POST
Retrieves engine totalcare contract lookup data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Engine Totalcare Contract Lookup"
description: "Retrieves engine totalcare contract lookup data from the Rolls Royce aerospace and power systems systems."
tags:
- engine
- rolls-royce
- lookup
capability:
exposes:
- type: mcp
namespace: engine
port: 8080
tools:
- name: engine-totalcare-contract-lookup
description: "Retrieves engine totalcare contract lookup data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.engine-totalcare-contract-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/engine/totalcare/contract/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: engine-totalcare-contract-lookup
method: GET
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 Processing Pipeline"
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
- sap-concur
- workday
- servicenow
capability:
exposes:
- type: mcp
namespace: expense-review
port: 8080
tools:
- name: review-expense-report
description: "Given a Concur expense report ID and employee ID, fetch the report details, validate the cost center against Workday, and flag any policy violations to ServiceNow."
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}}."
assigned_group: "Finance_Audit"
category: "expense_review"
consumes:
- type: http
namespace: concur
baseUri: "https://www.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://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/task"
operations:
- name: create-task
method: POST
Orchestrates field service dispatch pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Field Service Dispatch Pipeline"
description: "Orchestrates field service dispatch pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- field
- rolls-royce
- teams
- sharepoint
- confluence
capability:
exposes:
- type: mcp
namespace: field
port: 8080
tools:
- name: field-service-dispatch-pipeline
description: "Orchestrates field service dispatch pipeline across aerospace and power systems 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: "sharepoint.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.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/field"
operations:
- name: execute-1
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/field"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/field"
operations:
- name: execute-3
method: POST
Orchestrates fuel efficiency optimization pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Fuel Efficiency Optimization Pipeline"
description: "Orchestrates fuel efficiency optimization pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- fuel
- rolls-royce
- jira
- teams
- sharepoint
capability:
exposes:
- type: mcp
namespace: fuel
port: 8080
tools:
- name: fuel-efficiency-optimization-pipeline
description: "Orchestrates fuel efficiency optimization pipeline across aerospace and power systems 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: "sharepoint.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/fuel"
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/fuel"
operations:
- name: execute-2
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/fuel"
operations:
- name: execute-3
method: POST
Retrieves the status of a GitHub pull request including review state, CI check status, and merge readiness for engineering teams.
naftiko: "0.5"
info:
label: "GitHub Pull Request Status"
description: "Retrieves the status of a GitHub pull request including review state, CI check status, and merge readiness for engineering teams."
tags:
- engineering
- ci-cd
- github
capability:
exposes:
- type: mcp
namespace: engineering-ci
port: 8080
tools:
- name: get-pr-status
description: "Look up a GitHub pull request by repo and PR number and return its review and CI status."
inputParameters:
- name: repo
in: body
type: string
description: "The GitHub repository in owner/repo format."
- name: pr_number
in: body
type: string
description: "The pull request number."
call: "github.get-pull-request"
with:
repo: "{{repo}}"
pr_number: "{{pr_number}}"
outputParameters:
- name: state
type: string
mapping: "$.state"
- name: mergeable
type: boolean
mapping: "$.mergeable"
- name: review_status
type: string
mapping: "$.review_decision"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com/repos"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: pull-requests
path: "/{{repo}}/pulls/{{pr_number}}"
inputParameters:
- name: repo
in: path
- name: pr_number
in: path
operations:
- name: get-pull-request
method: GET
Retrieves the latest CI pipeline status for a GitLab project, returning pipeline ID, status, duration, and triggering ref.
naftiko: "0.5"
info:
label: "GitLab CI Pipeline Status"
description: "Retrieves the latest CI pipeline status for a GitLab project, returning pipeline ID, status, duration, and triggering ref."
tags:
- ci-cd
- engineering
- gitlab
capability:
exposes:
- type: mcp
namespace: gitlab-ci
port: 8080
tools:
- name: get-pipeline-status
description: "Look up the latest CI pipeline for a GitLab project."
inputParameters:
- name: project_id
in: body
type: string
description: "The GitLab project ID."
call: "gitlab.get-latest-pipeline"
with:
project_id: "{{project_id}}"
outputParameters:
- name: pipeline_id
type: number
mapping: "$[0].id"
- name: status
type: string
mapping: "$[0].status"
- name: ref
type: string
mapping: "$[0].ref"
consumes:
- type: http
namespace: gitlab
baseUri: "https://gitlab.rollsroyce.com/api/v4"
authentication:
type: bearer
token: "$secrets.gitlab_token"
resources:
- name: pipelines
path: "/projects/{{project_id}}/pipelines?per_page=1"
inputParameters:
- name: project_id
in: path
operations:
- name: get-latest-pipeline
method: GET
Retrieves the latest web traffic summary from Google Analytics for the Rolls-Royce corporate site, returning page views, sessions, and bounce rate.
naftiko: "0.5"
info:
label: "Google Analytics Web Traffic Summary"
description: "Retrieves the latest web traffic summary from Google Analytics for the Rolls-Royce corporate site, returning page views, sessions, and bounce rate."
tags:
- marketing
- analytics
- google-analytics
capability:
exposes:
- type: mcp
namespace: web-analytics
port: 8080
tools:
- name: get-traffic-summary
description: "Retrieve web traffic metrics from Google Analytics for a given property and date range."
inputParameters:
- name: property_id
in: body
type: string
description: "The Google Analytics property ID."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "ga.run-report"
with:
property_id: "{{property_id}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
consumes:
- type: http
namespace: ga
baseUri: "https://analyticsdata.googleapis.com/v1beta"
authentication:
type: bearer
token: "$secrets.google_analytics_token"
resources:
- name: reports
path: "/properties/{{property_id}}:runReport"
inputParameters:
- name: property_id
in: path
operations:
- name: run-report
method: POST
Retrieves a HubSpot contact by email and returns company, job title, lifecycle stage, and last activity date for marketing teams.
naftiko: "0.5"
info:
label: "HubSpot Contact Enrichment"
description: "Retrieves a HubSpot contact by email and returns company, job title, lifecycle stage, and last activity date for marketing teams."
tags:
- marketing
- crm
- hubspot
capability:
exposes:
- type: mcp
namespace: marketing-crm
port: 8080
tools:
- name: get-hubspot-contact
description: "Look up a HubSpot contact by email."
inputParameters:
- name: email
in: body
type: string
description: "The contact email address."
call: "hubspot.get-contact"
with:
email: "{{email}}"
outputParameters:
- name: company
type: string
mapping: "$.properties.company"
- name: job_title
type: string
mapping: "$.properties.jobtitle"
- name: lifecycle_stage
type: string
mapping: "$.properties.lifecyclestage"
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/objects/contacts/{{email}}?idProperty=email"
inputParameters:
- name: email
in: path
operations:
- name: get-contact
method: GET
Orchestrates intelligent engine diagnostics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Intelligent Engine Diagnostics Pipeline"
description: "Orchestrates intelligent engine diagnostics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- intelligent
- rolls-royce
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: intelligent
port: 8080
tools:
- name: intelligent-engine-diagnostics-pipeline
description: "Orchestrates intelligent engine diagnostics pipeline across aerospace and power systems 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/intelligent"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/intelligent"
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/intelligent"
operations:
- name: execute-3
method: POST
When an IT asset reaches end-of-life in ServiceNow CMDB, deactivates the Workday employee equipment assignment, archives asset records to SharePoint, and notifies the IT asset manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "IT Asset Retirement Pipeline"
description: "When an IT asset reaches end-of-life in ServiceNow CMDB, deactivates the Workday employee equipment assignment, archives asset records to SharePoint, and notifies the IT asset manager via Microsoft Teams."
tags:
- it-operations
- asset-management
- servicenow
- workday
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: asset-retirement
port: 8080
tools:
- name: retire-it-asset
description: "Given a ServiceNow asset ID, deactivate assignment, archive records, and notify the asset manager."
inputParameters:
- name: asset_id
in: body
type: string
description: "The ServiceNow CMDB asset ID."
- name: assigned_employee_id
in: body
type: string
description: "The Workday employee ID currently assigned to the asset."
steps:
- name: get-asset
type: call
call: "servicenow.get-asset"
with:
asset_id: "{{asset_id}}"
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{assigned_employee_id}}"
- name: archive-records
type: call
call: "sharepoint.create-folder"
with:
site_id: "it_asset_archive"
folder_path: "RetiredAssets/{{asset_id}}_{{get-asset.asset_tag}}"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
channel_id: "it_asset_management"
text: "IT Asset Retired: {{get-asset.asset_tag}} ({{get-asset.model}}). Previously assigned to: {{get-employee.full_name}}. Archive: {{archive-records.url}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: assets
path: "/table/alm_hardware/{{asset_id}}"
inputParameters:
- name: asset_id
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: 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: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Fetches the current sprint details and open issue count from Jira for a given aerospace engineering board, providing velocity and backlog health insights.
naftiko: "0.5"
info:
label: "Jira Engineering Sprint Tracker"
description: "Fetches the current sprint details and open issue count from Jira for a given aerospace engineering board, providing velocity and backlog health insights."
tags:
- engineering
- project-management
- jira
capability:
exposes:
- type: mcp
namespace: engineering-pm
port: 8080
tools:
- name: get-sprint-status
description: "Retrieve active sprint details and open issues for a Jira board."
inputParameters:
- name: board_id
in: body
type: string
description: "The Jira board ID."
call: "jira.get-active-sprint"
with:
board_id: "{{board_id}}"
outputParameters:
- name: sprint_name
type: string
mapping: "$.values[0].name"
- name: start_date
type: string
mapping: "$.values[0].startDate"
- name: end_date
type: string
mapping: "$.values[0].endDate"
- name: goal
type: string
mapping: "$.values[0].goal"
consumes:
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/agile/1.0"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: sprints
path: "/board/{{board_id}}/sprint?state=active"
inputParameters:
- name: board_id
in: path
operations:
- name: get-active-sprint
method: GET
Fetches all completed Jira issues for a given release version, generates a formatted release notes page in Confluence, and notifies the engineering team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Jira to Confluence Release Notes Generator"
description: "Fetches all completed Jira issues for a given release version, generates a formatted release notes page in Confluence, and notifies the engineering team via Microsoft Teams."
tags:
- engineering
- release-management
- jira
- confluence
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: release-mgmt
port: 8080
tools:
- name: generate-release-notes
description: "Given a Jira project and version, fetch completed issues, create Confluence release notes, and notify the team."
inputParameters:
- name: project_key
in: body
type: string
description: "The Jira project key."
- name: version_name
in: body
type: string
description: "The release version name."
steps:
- name: get-release-issues
type: call
call: "jira.search-issues"
with:
jql: "project = {{project_key}} AND fixVersion = '{{version_name}}' AND status = Done"
- name: create-release-notes
type: call
call: "confluence.create-page"
with:
space_key: "ENG"
title: "Release Notes: {{project_key}} {{version_name}}"
body: "Release {{version_name}} for {{project_key}}. Issues completed: {{get-release-issues.total}}."
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "engineering_releases"
text: "Release notes published for {{project_key}} {{version_name}}: {{create-release-notes.url}}. Issues: {{get-release-issues.total}}."
consumes:
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: search
path: "/search?jql={{jql}}"
inputParameters:
- name: jql
in: path
operations:
- name: search-issues
method: GET
- type: http
namespace: confluence
baseUri: "https://rollsroyce.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
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves the status of a LinkedIn job posting including application count and days active for the talent acquisition team.
naftiko: "0.5"
info:
label: "LinkedIn Job Posting Status"
description: "Retrieves the status of a LinkedIn job posting including application count and days active for the talent acquisition team."
tags:
- recruitment
- talent-acquisition
- linkedin
capability:
exposes:
- type: mcp
namespace: recruitment
port: 8080
tools:
- name: get-job-posting-status
description: "Look up a LinkedIn job posting by ID and return application count and posting status."
inputParameters:
- name: job_posting_id
in: body
type: string
description: "The LinkedIn job posting ID."
call: "linkedin.get-job-posting"
with:
job_posting_id: "{{job_posting_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: application_count
type: number
mapping: "$.applicationCount"
- name: title
type: string
mapping: "$.title"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/v2"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: job-postings
path: "/jobPostings/{{job_posting_id}}"
inputParameters:
- name: job_posting_id
in: path
operations:
- name: get-job-posting
method: GET
Orchestrates manufacturing quality control pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Quality Control Pipeline"
description: "Orchestrates manufacturing quality control pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- rolls-royce
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-quality-control-pipeline
description: "Orchestrates manufacturing quality control pipeline across aerospace and power systems 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://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/manufacturing"
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/manufacturing"
operations:
- name: execute-3
method: POST
When a quality deviation is logged in SAP, creates a ServiceNow problem record, notifies the quality engineering team in Microsoft Teams, and links the deviation to the Confluence root cause analysis template.
naftiko: "0.5"
info:
label: "Manufacturing Quality Deviation Workflow"
description: "When a quality deviation is logged in SAP, creates a ServiceNow problem record, notifies the quality engineering team in Microsoft Teams, and links the deviation to the Confluence root cause analysis template."
tags:
- quality
- manufacturing
- sap
- servicenow
- microsoft-teams
- confluence
capability:
exposes:
- type: mcp
namespace: quality-deviation
port: 8080
tools:
- name: process-quality-deviation
description: "Given a SAP quality notification ID, create a ServiceNow problem, notify the quality team, and link to Confluence RCA template."
inputParameters:
- name: notification_id
in: body
type: string
description: "The SAP quality notification ID."
- name: plant_code
in: body
type: string
description: "The manufacturing plant code."
steps:
- name: get-notification
type: call
call: "sap.get-quality-notification"
with:
notification_id: "{{notification_id}}"
- name: create-problem
type: call
call: "servicenow.create-problem"
with:
short_description: "Quality Deviation: {{notification_id}} — {{get-notification.defect_type}}"
category: "quality_deviation"
assigned_group: "Quality_Engineering_{{plant_code}}"
description: "Quality notification {{notification_id}} at plant {{plant_code}}. Material: {{get-notification.material}}. Defect: {{get-notification.defect_type}}."
- name: notify-quality-team
type: call
call: "msteams.send-message"
with:
channel_id: "quality_engineering"
text: "Quality Deviation {{notification_id}} at plant {{plant_code}}: {{get-notification.defect_type}}. ServiceNow problem: {{create-problem.number}}."
- name: link-rca-template
type: call
call: "confluence.create-page"
with:
space_key: "QUALITY"
title: "RCA: {{notification_id}} — {{get-notification.defect_type}}"
body: "Root Cause Analysis for quality deviation {{notification_id}}. Plant: {{plant_code}}. Material: {{get-notification.material}}. ServiceNow: {{create-problem.number}}."
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/QM_NOTIFICATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: quality-notifications
path: "/QualityNotifications('{{notification_id}}')"
inputParameters:
- name: notification_id
in: path
operations:
- name: get-quality-notification
method: GET
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: problems
path: "/table/problem"
operations:
- name: create-problem
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.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 marine engine status check data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Marine Engine Status Check"
description: "Retrieves marine engine status check data from the Rolls Royce aerospace and power systems systems."
tags:
- marine
- rolls-royce
- check
capability:
exposes:
- type: mcp
namespace: marine
port: 8080
tools:
- name: marine-engine-status-check
description: "Retrieves marine engine status check data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.marine-engine-status-check"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/marine/engine/status/check/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: marine-engine-status-check
method: GET
Orchestrates marine hybrid propulsion pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Marine Hybrid Propulsion Pipeline"
description: "Orchestrates marine hybrid propulsion pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- marine
- rolls-royce
- rolls-royce
- servicenow
- sap
capability:
exposes:
- type: mcp
namespace: marine
port: 8080
tools:
- name: marine-hybrid-propulsion-pipeline
description: "Orchestrates marine hybrid propulsion pipeline across aerospace and power systems 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: "rolls-royce.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: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/marine"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/marine"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/marine"
operations:
- name: execute-3
method: POST
Orchestrates marine propulsion maintenance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Marine Propulsion Maintenance Pipeline"
description: "Orchestrates marine propulsion maintenance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- marine
- rolls-royce
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: marine
port: 8080
tools:
- name: marine-propulsion-maintenance-pipeline
description: "Orchestrates marine propulsion maintenance pipeline across aerospace and power systems 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://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/marine"
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/marine"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/marine"
operations:
- name: execute-3
method: POST
Checks the calendar availability of a Rolls-Royce employee via Microsoft Graph API, returning free/busy status for scheduling MRO reviews.
naftiko: "0.5"
info:
label: "Microsoft Outlook Calendar Availability Check"
description: "Checks the calendar availability of a Rolls-Royce employee via Microsoft Graph API, returning free/busy status for scheduling MRO reviews."
tags:
- scheduling
- collaboration
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: scheduling
port: 8080
tools:
- name: check-availability
description: "Check an employee's Outlook calendar availability for a given time range."
inputParameters:
- name: user_email
in: body
type: string
description: "The employee email address."
- name: start_time
in: body
type: string
description: "Start of the time window in ISO 8601."
- name: end_time
in: body
type: string
description: "End of the time window in ISO 8601."
call: "outlook.get-schedule"
with:
user_email: "{{user_email}}"
start_time: "{{start_time}}"
end_time: "{{end_time}}"
consumes:
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: schedule
path: "/users/{{user_email}}/calendar/getSchedule"
inputParameters:
- name: user_email
in: path
operations:
- name: get-schedule
method: POST
Sends a formatted message to a specified Microsoft Teams channel for cross-functional communication workflows.
naftiko: "0.5"
info:
label: "Microsoft Teams Channel Notifier"
description: "Sends a formatted message to a specified Microsoft Teams channel for cross-functional communication workflows."
tags:
- communications
- messaging
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: comms
port: 8080
tools:
- name: send-teams-notification
description: "Send a text message to a Microsoft Teams channel."
inputParameters:
- name: channel_id
in: body
type: string
description: "The Teams channel ID."
- name: message
in: body
type: string
description: "The message text to send."
call: "msteams.send-message"
with:
channel_id: "{{channel_id}}"
text: "{{message}}"
consumes:
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves nacelle component status data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Nacelle Component Status"
description: "Retrieves nacelle component status data from the Rolls Royce aerospace and power systems systems."
tags:
- nacelle
- rolls-royce
- status
capability:
exposes:
- type: mcp
namespace: nacelle
port: 8080
tools:
- name: nacelle-component-status
description: "Retrieves nacelle component status data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.nacelle-component-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/nacelle/component/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: nacelle-component-status
method: GET
Queries New Relic for the current performance metrics of a critical application, returning response time, throughput, and error rate.
naftiko: "0.5"
info:
label: "New Relic Application Performance Check"
description: "Queries New Relic for the current performance metrics of a critical application, returning response time, throughput, and error rate."
tags:
- monitoring
- performance
- new-relic
capability:
exposes:
- type: mcp
namespace: apm
port: 8080
tools:
- name: get-app-performance
description: "Check New Relic APM metrics for a given application."
inputParameters:
- name: app_id
in: body
type: string
description: "The New Relic application ID."
call: "newrelic.get-app"
with:
app_id: "{{app_id}}"
outputParameters:
- name: response_time
type: number
mapping: "$.application.application_summary.response_time"
- name: throughput
type: number
mapping: "$.application.application_summary.throughput"
- name: error_rate
type: number
mapping: "$.application.application_summary.error_rate"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apiKey
key: "$secrets.newrelic_api_key"
resources:
- name: applications
path: "/applications/{{app_id}}.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app
method: GET
Orchestrates nuclear safety compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Nuclear Safety Compliance Pipeline"
description: "Orchestrates nuclear safety compliance pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- nuclear
- rolls-royce
- datadog
- rolls-royce
- servicenow
capability:
exposes:
- type: mcp
namespace: nuclear
port: 8080
tools:
- name: nuclear-safety-compliance-pipeline
description: "Orchestrates nuclear safety compliance pipeline across aerospace and power systems 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: "rolls-royce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.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/nuclear"
operations:
- name: execute-1
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/nuclear"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/nuclear"
operations:
- name: execute-3
method: POST
Retrieves nuclear submarine reactor status data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Nuclear Submarine Reactor Status"
description: "Retrieves nuclear submarine reactor status data from the Rolls Royce aerospace and power systems systems."
tags:
- nuclear
- rolls-royce
- status
capability:
exposes:
- type: mcp
namespace: nuclear
port: 8080
tools:
- name: nuclear-submarine-reactor-status
description: "Retrieves nuclear submarine reactor status data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.nuclear-submarine-reactor-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/nuclear/submarine/reactor/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: nuclear-submarine-reactor-status
method: GET
Retrieves a journal entry from Oracle Cloud ERP by journal ID and returns header details, status, and total amount for finance teams.
naftiko: "0.5"
info:
label: "Oracle Cloud ERP Journal Entry Lookup"
description: "Retrieves a journal entry from Oracle Cloud ERP by journal ID and returns header details, status, and total amount for finance teams."
tags:
- finance
- erp
- oracle-cloud
capability:
exposes:
- type: mcp
namespace: oracle-finance
port: 8080
tools:
- name: get-journal-entry
description: "Look up an Oracle Cloud ERP journal entry by ID."
inputParameters:
- name: journal_id
in: body
type: string
description: "The Oracle Cloud journal entry ID."
call: "oracle.get-journal"
with:
journal_id: "{{journal_id}}"
outputParameters:
- name: status
type: string
mapping: "$.Status"
- name: total_debit
type: number
mapping: "$.TotalDebitAmount"
- name: total_credit
type: number
mapping: "$.TotalCreditAmount"
- name: period
type: string
mapping: "$.AccountingPeriod"
consumes:
- type: http
namespace: oracle
baseUri: "https://rollsroyce.oraclecloud.com/fscmRestApi/resources/v2"
authentication:
type: basic
username: "$secrets.oracle_user"
password: "$secrets.oracle_password"
resources:
- name: journals
path: "/journals/{{journal_id}}"
inputParameters:
- name: journal_id
in: path
operations:
- name: get-journal
method: GET
Retrieves firewall rule configurations from Palo Alto Networks for a specified device group and returns rule count, unused rules, and last modification date for the security team.
naftiko: "0.5"
info:
label: "Palo Alto Firewall Rule Audit"
description: "Retrieves firewall rule configurations from Palo Alto Networks for a specified device group and returns rule count, unused rules, and last modification date for the security team."
tags:
- security
- firewall
- palo-alto-networks
capability:
exposes:
- type: mcp
namespace: security-audit
port: 8080
tools:
- name: audit-firewall-rules
description: "Query Palo Alto Networks for firewall rule statistics on a device group."
inputParameters:
- name: device_group
in: body
type: string
description: "The Palo Alto device group name."
call: "paloalto.get-security-rules"
with:
device_group: "{{device_group}}"
consumes:
- type: http
namespace: paloalto
baseUri: "https://panorama.rollsroyce.com/restapi/v10.2"
authentication:
type: apiKey
key: "$secrets.paloalto_api_key"
resources:
- name: security-rules
path: "/Policies/SecurityRules?location=device-group&device-group={{device_group}}"
inputParameters:
- name: device_group
in: path
operations:
- name: get-security-rules
method: GET
Triggers a Power BI dataset refresh for the manufacturing operations dashboard and returns the refresh status.
naftiko: "0.5"
info:
label: "Power BI Manufacturing Dashboard Refresh"
description: "Triggers a Power BI dataset refresh for the manufacturing operations dashboard and returns the refresh status."
tags:
- analytics
- manufacturing
- power-bi
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: refresh-manufacturing-dashboard
description: "Trigger a dataset refresh for a Power BI manufacturing dashboard."
inputParameters:
- name: dataset_id
in: body
type: string
description: "The Power BI dataset ID."
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
Orchestrates power generation monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Power Generation Monitoring Pipeline"
description: "Orchestrates power generation monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- power
- rolls-royce
- confluence
- datadog
- rolls-royce
capability:
exposes:
- type: mcp
namespace: power
port: 8080
tools:
- name: power-generation-monitoring-pipeline
description: "Orchestrates power generation monitoring pipeline across aerospace and power systems 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: "rolls-royce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/power"
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/power"
operations:
- name: execute-2
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/power"
operations:
- name: execute-3
method: POST
Retrieves power turbine performance data data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Power Turbine Performance Data"
description: "Retrieves power turbine performance data data from the Rolls Royce aerospace and power systems systems."
tags:
- power
- rolls-royce
- data
capability:
exposes:
- type: mcp
namespace: power
port: 8080
tools:
- name: power-turbine-performance-data
description: "Retrieves power turbine performance data data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.power-turbine-performance-data"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/power/turbine/performance/data/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: power-turbine-performance-data
method: GET
When Azure Digital Twins telemetry indicates an engine is approaching a maintenance threshold, creates a planned maintenance order in SAP PM, notifies the MRO shop via Microsoft Teams, and logs the event in Datadog.
naftiko: "0.5"
info:
label: "Predictive Maintenance Scheduling"
description: "When Azure Digital Twins telemetry indicates an engine is approaching a maintenance threshold, creates a planned maintenance order in SAP PM, notifies the MRO shop via Microsoft Teams, and logs the event in Datadog."
tags:
- predictive-maintenance
- digital-twin
- sap
- microsoft-teams
- datadog
capability:
exposes:
- type: mcp
namespace: predictive-maint
port: 8080
tools:
- name: schedule-predictive-maintenance
description: "Given an engine twin ID and predicted failure window, create a SAP maintenance order, notify the shop, and log to Datadog."
inputParameters:
- name: twin_id
in: body
type: string
description: "The Azure Digital Twins engine instance ID."
- name: predicted_failure_date
in: body
type: string
description: "The predicted failure date in YYYY-MM-DD format."
- name: failure_mode
in: body
type: string
description: "The predicted failure mode (e.g., bearing_wear, blade_erosion)."
steps:
- name: get-twin-details
type: call
call: "azure-dt.get-twin"
with:
twin_id: "{{twin_id}}"
- name: create-maint-order
type: call
call: "sap.create-maintenance-order"
with:
equipment_id: "{{get-twin-details.equipment_id}}"
order_type: "predictive"
description: "Predictive maintenance: {{failure_mode}} predicted by {{predicted_failure_date}}"
priority: "high"
- name: notify-shop
type: call
call: "msteams.send-message"
with:
channel_id: "mro_scheduling"
text: "Predictive maintenance scheduled for engine {{twin_id}}: {{failure_mode}} by {{predicted_failure_date}}. SAP order: {{create-maint-order.order_number}}."
- name: log-event
type: call
call: "datadog.create-event"
with:
title: "Predictive Maintenance: {{twin_id}} — {{failure_mode}}"
text: "Scheduled maintenance order {{create-maint-order.order_number}} for predicted {{failure_mode}} by {{predicted_failure_date}}."
alert_type: "info"
tags: "engine:{{twin_id}},failure_mode:{{failure_mode}}"
consumes:
- type: http
namespace: azure-dt
baseUri: "https://rolls-royce-dt.api.eus.digitaltwins.azure.net"
authentication:
type: bearer
token: "$secrets.azure_dt_token"
resources:
- name: twins
path: "/digitaltwins/{{twin_id}}"
inputParameters:
- name: twin_id
in: path
operations:
- name: get-twin
method: GET
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/PM_WORKORDER_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: maintenance-orders
path: "/MaintenanceOrders"
operations:
- name: create-maintenance-order
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: events
path: "/events"
operations:
- name: create-event
method: POST
When a SAP Ariba requisition exceeds a spend threshold, routes for manager approval via Workday and notifies the requestor in Microsoft Teams with approval status.
naftiko: "0.5"
info:
label: "Procurement Approval Pipeline"
description: "When a SAP Ariba requisition exceeds a spend threshold, routes for manager approval via Workday and notifies the requestor in Microsoft Teams with approval status."
tags:
- procurement
- sap-ariba
- workday
- microsoft-teams
- approval
capability:
exposes:
- type: mcp
namespace: procurement-approval
port: 8080
tools:
- name: route-requisition-approval
description: "Given an Ariba requisition ID and requestor employee ID, check the requisition amount, resolve the approver from Workday, and notify both parties in Microsoft Teams."
inputParameters:
- name: requisition_id
in: body
type: string
description: "The SAP Ariba requisition identifier."
- name: requestor_employee_id
in: body
type: string
description: "The Workday employee ID of the requestor."
- name: spend_amount
in: body
type: number
description: "The total spend amount on the requisition."
steps:
- name: get-requisition
type: call
call: "ariba.get-requisition"
with:
requisition_id: "{{requisition_id}}"
- name: get-requestor
type: call
call: "workday.get-worker"
with:
worker_id: "{{requestor_employee_id}}"
- name: get-manager
type: call
call: "workday.get-worker"
with:
worker_id: "{{get-requestor.manager_id}}"
- name: notify-approver
type: call
call: "msteams.send-message"
with:
channel_id: "procurement_approvals"
text: "Approval Required: Ariba requisition {{requisition_id}} from {{get-requestor.full_name}} for ${{spend_amount}}. Vendor: {{get-requisition.vendor_name}}."
- name: notify-requestor
type: call
call: "msteams.send-message"
with:
channel_id: "procurement_requestors"
text: "Your requisition {{requisition_id}} (${{spend_amount}}) has been routed to {{get-manager.full_name}} for approval."
consumes:
- type: http
namespace: ariba
baseUri: "https://openapi.ariba.com/api/purchase-req/v1"
authentication:
type: bearer
token: "$secrets.ariba_token"
resources:
- name: requisitions
path: "/requisitions/{{requisition_id}}"
inputParameters:
- name: requisition_id
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: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Orchestrates regulatory airworthiness pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Airworthiness Pipeline"
description: "Orchestrates regulatory airworthiness pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- rolls-royce
- sharepoint
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-airworthiness-pipeline
description: "Orchestrates regulatory airworthiness pipeline across aerospace and power systems 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: "sharepoint.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: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/regulatory"
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/regulatory"
operations:
- name: execute-3
method: POST
When a regulatory document is updated in SharePoint, creates a ServiceNow change request, notifies the compliance team in Microsoft Teams, and updates the Confluence compliance register.
naftiko: "0.5"
info:
label: "Regulatory Compliance Document Tracker"
description: "When a regulatory document is updated in SharePoint, creates a ServiceNow change request, notifies the compliance team in Microsoft Teams, and updates the Confluence compliance register."
tags:
- compliance
- regulatory
- sharepoint
- servicenow
- microsoft-teams
- confluence
capability:
exposes:
- type: mcp
namespace: compliance-tracker
port: 8080
tools:
- name: track-regulatory-update
description: "Given a document name and regulatory body, create a change request, notify compliance, and update the register."
inputParameters:
- name: document_name
in: body
type: string
description: "The name of the updated regulatory document."
- name: regulatory_body
in: body
type: string
description: "The regulatory body (e.g., EASA, FAA, CAA)."
- name: change_summary
in: body
type: string
description: "Summary of the regulatory change."
steps:
- name: create-change-request
type: call
call: "servicenow.create-change"
with:
short_description: "Regulatory Update: {{document_name}} — {{regulatory_body}}"
description: "{{change_summary}}"
assigned_group: "Regulatory_Compliance"
category: "regulatory"
- name: notify-compliance
type: call
call: "msteams.send-message"
with:
channel_id: "regulatory_compliance"
text: "Regulatory Update: {{document_name}} from {{regulatory_body}}. Change request: {{create-change-request.number}}. Summary: {{change_summary}}"
- name: update-register
type: call
call: "confluence.update-page"
with:
page_id: "compliance_register"
body: "Updated: {{document_name}} — {{regulatory_body}} — {{change_summary}} — CR: {{create-change-request.number}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: changes
path: "/table/change_request"
operations:
- name: create-change
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: content
path: "/content/{{page_id}}"
inputParameters:
- name: page_id
in: path
operations:
- name: update-page
method: PUT
When a safety incident is reported, creates a ServiceNow incident, notifies the EHS team in Microsoft Teams, uploads the incident form to SharePoint, and logs the event in Datadog for trend analysis.
naftiko: "0.5"
info:
label: "Safety Incident Report Pipeline"
description: "When a safety incident is reported, creates a ServiceNow incident, notifies the EHS team in Microsoft Teams, uploads the incident form to SharePoint, and logs the event in Datadog for trend analysis."
tags:
- safety
- ehs
- servicenow
- microsoft-teams
- sharepoint
- datadog
capability:
exposes:
- type: mcp
namespace: safety-incident
port: 8080
tools:
- name: report-safety-incident
description: "Given incident details, create a ServiceNow record, notify EHS, upload documentation, and log for analytics."
inputParameters:
- name: incident_type
in: body
type: string
description: "The type of safety incident (e.g., near_miss, injury, environmental)."
- name: location
in: body
type: string
description: "The facility location of the incident."
- name: description
in: body
type: string
description: "A description of the safety incident."
- name: reporter_name
in: body
type: string
description: "The name of the person reporting the incident."
steps:
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Safety Incident: {{incident_type}} at {{location}}"
category: "safety"
urgency: "high"
description: "{{description}} Reported by: {{reporter_name}}."
assigned_group: "EHS_Team"
- name: notify-ehs
type: call
call: "msteams.send-message"
with:
channel_id: "ehs_team"
text: "Safety Incident Reported: {{incident_type}} at {{location}}. Reporter: {{reporter_name}}. ServiceNow: {{create-incident.number}}. Description: {{description}}"
- name: upload-form
type: call
call: "sharepoint.create-folder"
with:
site_id: "ehs_documentation"
folder_path: "SafetyIncidents/{{create-incident.number}}"
- name: log-event
type: call
call: "datadog.create-event"
with:
title: "Safety Incident: {{incident_type}} at {{location}}"
text: "ServiceNow: {{create-incident.number}}. {{description}}"
alert_type: "warning"
tags: "safety:{{incident_type}},location:{{location}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
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: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: events
path: "/events"
operations:
- name: create-event
method: POST
When a Salesforce lead converts to an opportunity, creates a corresponding customer record in SAP S/4HANA and notifies the account team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Salesforce Lead to SAP Customer Sync"
description: "When a Salesforce lead converts to an opportunity, creates a corresponding customer record in SAP S/4HANA and notifies the account team in Microsoft Teams."
tags:
- sales
- crm
- salesforce
- sap-s4hana
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: lead-sync
port: 8080
tools:
- name: sync-lead-to-sap
description: "Given a Salesforce opportunity ID, fetch the account details, create a SAP customer record, and notify the account team."
inputParameters:
- name: opportunity_id
in: body
type: string
description: "The Salesforce opportunity ID from lead conversion."
steps:
- name: get-opportunity
type: call
call: "salesforce.get-opportunity"
with:
opportunity_id: "{{opportunity_id}}"
- name: create-customer
type: call
call: "sap.create-customer"
with:
customer_name: "{{get-opportunity.account_name}}"
country: "{{get-opportunity.account_country}}"
industry: "{{get-opportunity.account_industry}}"
- name: notify-account-team
type: call
call: "msteams.send-message"
with:
channel_id: "sales_operations"
text: "New SAP customer created for {{get-opportunity.account_name}} (SAP: {{create-customer.customer_number}}). Opportunity: {{opportunity_id}} — {{get-opportunity.stage}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://rollsroyce.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opportunities
path: "/sobjects/Opportunity/{{opportunity_id}}"
inputParameters:
- name: opportunity_id
in: path
operations:
- name: get-opportunity
method: GET
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/API_BUSINESS_PARTNER"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: customers
path: "/A_Customer"
operations:
- name: create-customer
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves a Salesforce opportunity by ID, returning stage, close date, amount, and account name for the defense and civil aerospace sales teams.
naftiko: "0.5"
info:
label: "Salesforce Opportunity Lookup"
description: "Retrieves a Salesforce opportunity by ID, returning stage, close date, amount, and account name for the defense and civil aerospace sales teams."
tags:
- sales
- crm
- salesforce
capability:
exposes:
- type: mcp
namespace: sales-crm
port: 8080
tools:
- name: get-opportunity
description: "Look up a Salesforce opportunity by ID and return stage, close date, amount, and account details."
inputParameters:
- name: opportunity_id
in: body
type: string
description: "The Salesforce opportunity ID."
call: "salesforce.get-opportunity"
with:
opportunity_id: "{{opportunity_id}}"
outputParameters:
- name: stage
type: string
mapping: "$.StageName"
- name: close_date
type: string
mapping: "$.CloseDate"
- name: amount
type: number
mapping: "$.Amount"
- name: account_name
type: string
mapping: "$.Account.Name"
consumes:
- type: http
namespace: salesforce
baseUri: "https://rollsroyce.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opportunities
path: "/sobjects/Opportunity/{{opportunity_id}}"
inputParameters:
- name: opportunity_id
in: path
operations:
- name: get-opportunity
method: GET
Retrieves a SAP Concur expense report by ID and returns total amount, approval status, and expense entries for finance teams.
naftiko: "0.5"
info:
label: "SAP Concur Expense Report Lookup"
description: "Retrieves a SAP Concur expense report by ID and returns total amount, approval status, and expense entries for finance teams."
tags:
- finance
- expense
- sap-concur
capability:
exposes:
- type: mcp
namespace: finance-expense
port: 8080
tools:
- name: get-expense-report
description: "Look up a SAP Concur expense report by ID and return its details."
inputParameters:
- name: report_id
in: body
type: string
description: "The SAP Concur expense report ID."
call: "concur.get-expense-report"
with:
report_id: "{{report_id}}"
outputParameters:
- name: report_name
type: string
mapping: "$.Name"
- name: total_amount
type: number
mapping: "$.Total"
- name: approval_status
type: string
mapping: "$.ApprovalStatusName"
- name: submit_date
type: string
mapping: "$.SubmitDate"
consumes:
- type: http
namespace: concur
baseUri: "https://www.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
Retrieves a SAP material master record by material number, returning description, material group, unit of measure, and weight for supply chain teams.
naftiko: "0.5"
info:
label: "SAP Material Master Lookup"
description: "Retrieves a SAP material master record by material number, returning description, material group, unit of measure, and weight for supply chain teams."
tags:
- supply-chain
- erp
- sap-s4hana
- material-master
capability:
exposes:
- type: mcp
namespace: material-data
port: 8080
tools:
- name: get-material-master
description: "Look up a SAP material master record by material number."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number."
call: "sap.get-material"
with:
material_number: "{{material_number}}"
outputParameters:
- name: description
type: string
mapping: "$.d.MaterialName"
- name: material_group
type: string
mapping: "$.d.MaterialGroup"
- name: base_unit
type: string
mapping: "$.d.BaseUnit"
- name: gross_weight
type: number
mapping: "$.d.GrossWeight"
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/API_PRODUCT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: materials
path: "/A_Product('{{material_number}}')"
inputParameters:
- name: material_number
in: path
operations:
- name: get-material
method: GET
Looks up a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and delivery date for procurement and supply chain teams.
naftiko: "0.5"
info:
label: "SAP Purchase Order Status Lookup"
description: "Looks up a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and delivery date for procurement and supply chain teams."
tags:
- procurement
- erp
- sap
- sap-s4hana
- purchase-order
capability:
exposes:
- type: mcp
namespace: erp-procurement
port: 8080
tools:
- name: get-purchase-order
description: "Look up a SAP S/4HANA purchase order by PO number. Returns header status, vendor name, total value, currency, and 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"
- name: currency
type: string
mapping: "$.d.TransactionCurrency"
- name: delivery_date
type: string
mapping: "$.d.DeliveryDate"
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-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
Retrieves a ServiceNow incident by number and returns its state, priority, assigned group, and short description for IT operations teams.
naftiko: "0.5"
info:
label: "ServiceNow Incident Lookup"
description: "Retrieves a ServiceNow incident by number and returns its state, priority, assigned group, and short description for IT operations teams."
tags:
- it-operations
- itsm
- servicenow
capability:
exposes:
- type: mcp
namespace: itsm
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number and return its current state and assignment."
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"
- name: description
type: string
mapping: "$.result.short_description"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.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
Searches a SharePoint site for engineering documents by keyword and returns matching file names, URLs, and modification dates.
naftiko: "0.5"
info:
label: "SharePoint Document Lookup"
description: "Searches a SharePoint site for engineering documents by keyword and returns matching file names, URLs, and modification dates."
tags:
- documentation
- sharepoint
- engineering
capability:
exposes:
- type: mcp
namespace: doc-search
port: 8080
tools:
- name: search-documents
description: "Search SharePoint for engineering documents by keyword."
inputParameters:
- name: site_id
in: body
type: string
description: "The SharePoint site ID."
- name: query
in: body
type: string
description: "The search keyword."
call: "sharepoint.search"
with:
site_id: "{{site_id}}"
query: "{{query}}"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: search
path: "/{{site_id}}/drive/root/search(q='{{query}}')"
inputParameters:
- name: site_id
in: path
- name: query
in: path
operations:
- name: search
method: GET
Retrieves small modular reactor metrics data from the Rolls Royce aerospace and power systems systems.
naftiko: "0.5"
info:
label: "Small Modular Reactor Metrics"
description: "Retrieves small modular reactor metrics data from the Rolls Royce aerospace and power systems systems."
tags:
- small
- rolls-royce
- metrics
capability:
exposes:
- type: mcp
namespace: small
port: 8080
tools:
- name: small-modular-reactor-metrics
description: "Retrieves small modular reactor metrics data from the Rolls Royce aerospace and power systems systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rolls-royce.small-modular-reactor-metrics"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: resource
path: "/small/modular/reactor/metrics/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: small-modular-reactor-metrics
method: GET
Orchestrates smr fuel cycle monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Smr Fuel Cycle Monitoring Pipeline"
description: "Orchestrates smr fuel cycle monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- smr
- rolls-royce
- jira
- teams
- sharepoint
capability:
exposes:
- type: mcp
namespace: smr
port: 8080
tools:
- name: smr-fuel-cycle-monitoring-pipeline
description: "Orchestrates smr fuel cycle monitoring pipeline across aerospace and power systems 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: "sharepoint.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rollsroyce.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/smr"
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/smr"
operations:
- name: execute-2
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/smr"
operations:
- name: execute-3
method: POST
Queries SolarWinds for the health status of network nodes at a manufacturing site, returning node status, response time, and packet loss metrics.
naftiko: "0.5"
info:
label: "SolarWinds Network Health Check"
description: "Queries SolarWinds for the health status of network nodes at a manufacturing site, returning node status, response time, and packet loss metrics."
tags:
- networking
- infrastructure
- solarwinds
capability:
exposes:
- type: mcp
namespace: network-health
port: 8080
tools:
- name: get-network-health
description: "Query SolarWinds for network node health at a given site."
inputParameters:
- name: site_name
in: body
type: string
description: "The site name to filter network nodes."
call: "solarwinds.query-nodes"
with:
site_name: "{{site_name}}"
outputParameters:
- name: nodes
type: array
mapping: "$.results"
consumes:
- type: http
namespace: solarwinds
baseUri: "https://solarwinds.rollsroyce.com:17778/SolarWinds/InformationService/v3/Json"
authentication:
type: basic
username: "$secrets.solarwinds_user"
password: "$secrets.solarwinds_password"
resources:
- name: nodes
path: "/Query?query=SELECT+NodeID,Caption,Status,ResponseTime+FROM+Orion.Nodes+WHERE+Location='{{site_name}}'"
inputParameters:
- name: site_name
in: path
operations:
- name: query-nodes
method: GET
Orchestrates spare parts demand pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Spare Parts Demand Pipeline"
description: "Orchestrates spare parts demand pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- spare
- rolls-royce
- sharepoint
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: spare
port: 8080
tools:
- name: spare-parts-demand-pipeline
description: "Orchestrates spare parts demand pipeline across aerospace and power systems 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: "sharepoint.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: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: sharepoint-resource
path: "/api/spare"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/spare"
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/spare"
operations:
- name: execute-3
method: POST
Queries SAP S/4HANA for the current inventory level of a spare part by material number, returning available quantity, storage location, and reorder point status.
naftiko: "0.5"
info:
label: "Spare Parts Inventory Check"
description: "Queries SAP S/4HANA for the current inventory level of a spare part by material number, returning available quantity, storage location, and reorder point status."
tags:
- inventory
- supply-chain
- sap-s4hana
- spare-parts
capability:
exposes:
- type: mcp
namespace: inventory
port: 8080
tools:
- name: check-spare-part-stock
description: "Look up a spare part inventory level in SAP by material number and plant."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number for the spare part."
- name: plant
in: body
type: string
description: "The SAP plant code."
call: "sap.get-material-stock"
with:
material_number: "{{material_number}}"
plant: "{{plant}}"
outputParameters:
- name: available_quantity
type: number
mapping: "$.d.MatlWrhsStkQtyInMatlBaseUnit"
- name: storage_location
type: string
mapping: "$.d.StorageLocation"
- name: reorder_point
type: number
mapping: "$.d.ReorderThresholdQuantity"
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: material-stock
path: "/A_MatlStkInAcctMod(Material='{{material_number}}',Plant='{{plant}}')"
inputParameters:
- name: material_number
in: path
- name: plant
in: path
operations:
- name: get-material-stock
method: GET
When a new supplier is approved in SAP Ariba, creates a vendor master record in SAP S/4HANA, opens a ServiceNow task for compliance review, and notifies the procurement team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Supplier Onboarding Pipeline"
description: "When a new supplier is approved in SAP Ariba, creates a vendor master record in SAP S/4HANA, opens a ServiceNow task for compliance review, and notifies the procurement team in Microsoft Teams."
tags:
- procurement
- supplier-management
- sap-ariba
- sap-s4hana
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: supplier-onboarding
port: 8080
tools:
- name: onboard-supplier
description: "Given an Ariba supplier ID, create the SAP vendor master, open a compliance task, and notify procurement."
inputParameters:
- name: ariba_supplier_id
in: body
type: string
description: "The SAP Ariba supplier ID."
- name: company_code
in: body
type: string
description: "The SAP company code for the vendor master."
steps:
- name: get-supplier
type: call
call: "ariba.get-supplier"
with:
supplier_id: "{{ariba_supplier_id}}"
- name: create-vendor
type: call
call: "sap.create-vendor"
with:
supplier_name: "{{get-supplier.name}}"
company_code: "{{company_code}}"
tax_id: "{{get-supplier.tax_id}}"
- name: open-compliance-task
type: call
call: "servicenow.create-task"
with:
short_description: "Supplier compliance review: {{get-supplier.name}}"
assigned_group: "Procurement_Compliance"
description: "New supplier {{get-supplier.name}} (Ariba: {{ariba_supplier_id}}, SAP: {{create-vendor.vendor_number}}). Tax ID: {{get-supplier.tax_id}}."
- name: notify-procurement
type: call
call: "msteams.send-message"
with:
channel_id: "procurement_team"
text: "New supplier onboarded: {{get-supplier.name}}. SAP vendor: {{create-vendor.vendor_number}}. Compliance task: {{open-compliance-task.number}}."
consumes:
- type: http
namespace: ariba
baseUri: "https://openapi.ariba.com/api/supplier/v1"
authentication:
type: bearer
token: "$secrets.ariba_token"
resources:
- name: suppliers
path: "/suppliers/{{supplier_id}}"
inputParameters:
- name: supplier_id
in: path
operations:
- name: get-supplier
method: GET
- type: http
namespace: sap
baseUri: "https://rolls-royce-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: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/task"
operations:
- name: create-task
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Orchestrates supplier quality monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Supplier Quality Monitoring Pipeline"
description: "Orchestrates supplier quality monitoring pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- supplier
- rolls-royce
- confluence
- datadog
- rolls-royce
capability:
exposes:
- type: mcp
namespace: supplier
port: 8080
tools:
- name: supplier-quality-monitoring-pipeline
description: "Orchestrates supplier quality monitoring pipeline across aerospace and power systems 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: "rolls-royce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rollsroyce.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/supplier"
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/supplier"
operations:
- name: execute-2
method: POST
- type: http
namespace: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/supplier"
operations:
- name: execute-3
method: POST
Retrieves a Tableau workbook view image for manufacturing KPIs and posts it to the operations Microsoft Teams channel for daily standups.
naftiko: "0.5"
info:
label: "Tableau Manufacturing Metrics Viewer"
description: "Retrieves a Tableau workbook view image for manufacturing KPIs and posts it to the operations Microsoft Teams channel for daily standups."
tags:
- analytics
- manufacturing
- tableau
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: mfg-analytics
port: 8080
tools:
- name: share-manufacturing-dashboard
description: "Fetch a Tableau view image and post it to Microsoft Teams."
inputParameters:
- name: workbook_id
in: body
type: string
description: "The Tableau workbook ID."
- name: view_id
in: body
type: string
description: "The Tableau view ID."
- name: teams_channel_id
in: body
type: string
description: "The Teams channel to post the image."
steps:
- name: get-view
type: call
call: "tableau.get-view-image"
with:
workbook_id: "{{workbook_id}}"
view_id: "{{view_id}}"
- name: post-to-teams
type: call
call: "msteams.send-message"
with:
channel_id: "{{teams_channel_id}}"
text: "Daily Manufacturing KPIs: {{get-view.image_url}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.rollsroyce.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: views
path: "/sites/$secrets.tableau_site_id/workbooks/{{workbook_id}}/views/{{view_id}}/image"
inputParameters:
- name: workbook_id
in: path
- name: view_id
in: path
operations:
- name: get-view-image
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Orchestrates totalcare predictive analytics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Totalcare Predictive Analytics Pipeline"
description: "Orchestrates totalcare predictive analytics pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- totalcare
- rolls-royce
- servicenow
- sap
- snowflake
capability:
exposes:
- type: mcp
namespace: totalcare
port: 8080
tools:
- name: totalcare-predictive-analytics-pipeline
description: "Orchestrates totalcare predictive analytics pipeline across aerospace and power systems 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://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/totalcare"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/totalcare"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rollsroyce.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/totalcare"
operations:
- name: execute-3
method: POST
Pulls employee training records from Pluralsight, validates against required certifications in Workday, and opens a ServiceNow task for any compliance gaps found.
naftiko: "0.5"
info:
label: "Training Compliance Audit"
description: "Pulls employee training records from Pluralsight, validates against required certifications in Workday, and opens a ServiceNow task for any compliance gaps found."
tags:
- training
- compliance
- pluralsight
- workday
- servicenow
capability:
exposes:
- type: mcp
namespace: training-compliance
port: 8080
tools:
- name: audit-training-compliance
description: "Given an employee ID, check Pluralsight completions against Workday certification requirements and flag gaps in ServiceNow."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee ID."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: get-training-records
type: call
call: "pluralsight.get-user-courses"
with:
email: "{{get-employee.work_email}}"
- name: open-gap-task
type: call
call: "servicenow.create-task"
with:
short_description: "Training compliance gap: {{get-employee.full_name}}"
description: "Employee {{get-employee.full_name}} ({{employee_id}}). Role: {{get-employee.job_title}}. Completed courses: {{get-training-records.completed_count}}."
assigned_group: "Learning_Development"
category: "training_compliance"
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: pluralsight
baseUri: "https://api.pluralsight.com/api/reports/v1"
authentication:
type: bearer
token: "$secrets.pluralsight_token"
resources:
- name: user-courses
path: "/user-courses?email={{email}}"
inputParameters:
- name: email
in: path
operations:
- name: get-user-courses
method: GET
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/task"
operations:
- name: create-task
method: POST
Queries SAP PM for turbine blade cycle counts and compares against certified life limits, returning remaining life percentage and next inspection due date.
naftiko: "0.5"
info:
label: "Turbine Blade Life Tracking"
description: "Queries SAP PM for turbine blade cycle counts and compares against certified life limits, returning remaining life percentage and next inspection due date."
tags:
- engine-maintenance
- lifecycle
- sap
- turbine
capability:
exposes:
- type: mcp
namespace: blade-lifecycle
port: 8080
tools:
- name: get-blade-life-status
description: "Look up turbine blade life cycle data by serial number in SAP PM."
inputParameters:
- name: blade_serial
in: body
type: string
description: "The turbine blade serial number."
call: "sap.get-blade-lifecycle"
with:
blade_serial: "{{blade_serial}}"
outputParameters:
- name: cycles_used
type: number
mapping: "$.d.CyclesUsed"
- name: certified_life
type: number
mapping: "$.d.CertifiedLifeCycles"
- name: remaining_pct
type: number
mapping: "$.d.RemainingLifePct"
- name: next_inspection
type: string
mapping: "$.d.NextInspectionDate"
consumes:
- type: http
namespace: sap
baseUri: "https://rolls-royce-s4.sap.com/sap/opu/odata/sap/PM_EQUIPMENT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: blade-lifecycle
path: "/BladeLifecycle('{{blade_serial}}')"
inputParameters:
- name: blade_serial
in: path
operations:
- name: get-blade-lifecycle
method: GET
Retrieves employee compensation data from Workday, pulls performance ratings from the same system, and sends a consolidated review package to the manager via Microsoft Outlook.
naftiko: "0.5"
info:
label: "Workday Compensation Review Pipeline"
description: "Retrieves employee compensation data from Workday, pulls performance ratings from the same system, and sends a consolidated review package to the manager via Microsoft Outlook."
tags:
- hr
- compensation
- workday
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: hr-compensation
port: 8080
tools:
- name: generate-comp-review
description: "Given an employee ID, fetch compensation and performance data from Workday and send the review to the manager via Outlook."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee ID."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: get-compensation
type: call
call: "workday.get-compensation"
with:
worker_id: "{{employee_id}}"
- name: send-review
type: call
call: "outlook.send-mail"
with:
recipient: "{{get-employee.manager_email}}"
subject: "Compensation Review: {{get-employee.full_name}}"
body: "Employee: {{get-employee.full_name}}. Current base: {{get-compensation.base_pay}}. Performance rating: {{get-compensation.performance_rating}}. Department: {{get-employee.department}}."
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
- name: compensation
path: "/workers/{{worker_id}}/compensation"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-compensation
method: GET
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Retrieves a Workday worker profile by employee ID and returns name, department, cost center, and manager information for HR and operations teams.
naftiko: "0.5"
info:
label: "Workday Employee Profile Lookup"
description: "Retrieves a Workday worker profile by employee ID and returns name, department, cost center, and manager information for HR and operations teams."
tags:
- hr
- employee-data
- workday
capability:
exposes:
- type: mcp
namespace: hr-data
port: 8080
tools:
- name: get-employee-profile
description: "Look up a Workday employee by ID and return their profile details."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday worker ID."
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
outputParameters:
- name: full_name
type: string
mapping: "$.descriptor"
- name: department
type: string
mapping: "$.primaryPosition.department"
- name: cost_center
type: string
mapping: "$.primaryPosition.costCenter"
- name: manager
type: string
mapping: "$.primaryPosition.manager.descriptor"
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
Orchestrates workforce skills development pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Workforce Skills Development Pipeline"
description: "Orchestrates workforce skills development pipeline across aerospace and power systems systems, coordinating multiple services and notifying stakeholders."
tags:
- workforce
- rolls-royce
- rolls-royce
- servicenow
- sap
capability:
exposes:
- type: mcp
namespace: workforce
port: 8080
tools:
- name: workforce-skills-development-pipeline
description: "Orchestrates workforce skills development pipeline across aerospace and power systems 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: "rolls-royce.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: rolls-royce
baseUri: "https://api.rolls-royce.com/v2"
authentication:
type: bearer
token: "$secrets.rr_api_token"
resources:
- name: rolls-royce-resource
path: "/api/workforce"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rollsroyce.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/workforce"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rr-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/workforce"
operations:
- name: execute-3
method: POST
Creates a Zoom meeting and sends the join link to participants via Microsoft Teams for cross-site engineering collaboration.
naftiko: "0.5"
info:
label: "Zoom Meeting Scheduler"
description: "Creates a Zoom meeting and sends the join link to participants via Microsoft Teams for cross-site engineering collaboration."
tags:
- collaboration
- meetings
- zoom
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: schedule-zoom-meeting
description: "Create a Zoom meeting and notify participants via Microsoft Teams."
inputParameters:
- name: topic
in: body
type: string
description: "The meeting topic."
- name: start_time
in: body
type: string
description: "The meeting start time in ISO 8601 format."
- name: duration
in: body
type: number
description: "Meeting duration in minutes."
- name: teams_channel_id
in: body
type: string
description: "The Teams channel ID to notify."
steps:
- name: create-meeting
type: call
call: "zoom.create-meeting"
with:
topic: "{{topic}}"
start_time: "{{start_time}}"
duration: "{{duration}}"
- name: notify-teams
type: call
call: "msteams.send-message"
with:
channel_id: "{{teams_channel_id}}"
text: "Zoom meeting scheduled: {{topic}} at {{start_time}}. Join: {{create-meeting.join_url}}"
consumes:
- type: http
namespace: zoom
baseUri: "https://api.zoom.us/v2"
authentication:
type: bearer
token: "$secrets.zoom_token"
resources:
- name: meetings
path: "/users/me/meetings"
operations:
- name: create-meeting
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST