Clarivate Capabilities

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

Sort
Expand

Triggers an Alteryx analytics workflow for Clarivate research data processing and bibliometric calculations.

naftiko: "0.5"
info:
  label: "Alteryx Research Analytics Workflow"
  description: "Triggers an Alteryx analytics workflow for Clarivate research data processing and bibliometric calculations."
  tags:
    - analytics
    - alteryx
    - research
    - data-processing
capability:
  exposes:
    - type: mcp
      namespace: analytics-workflows
      port: 8080
      tools:
        - name: trigger-alteryx-workflow
          description: "Trigger an Alteryx analytics workflow."
          inputParameters:
            - name: workflow_id
              in: body
              type: string
              description: "The Alteryx workflow ID."
          call: "alteryx.run-workflow"
          with:
            workflow_id: "{{workflow_id}}"
  consumes:
    - type: http
      namespace: alteryx
      baseUri: "https://clarivate-alteryx.com/api/v3"
      authentication:
        type: bearer
        token: "$secrets.alteryx_token"
      resources:
        - name: workflows
          path: "/workflows/{{workflow_id}}/jobs"
          inputParameters:
            - name: workflow_id
              in: path
          operations:
            - name: run-workflow
              method: POST

Queries Amazon Neptune graph database for Clarivate research knowledge graph relationships including citation networks and author collaborations.

naftiko: "0.5"
info:
  label: "Amazon Neptune Knowledge Graph Query"
  description: "Queries Amazon Neptune graph database for Clarivate research knowledge graph relationships including citation networks and author collaborations."
  tags:
    - graph-database
    - amazon-neptune
    - knowledge-graph
    - research
capability:
  exposes:
    - type: mcp
      namespace: knowledge-graph
      port: 8080
      tools:
        - name: query-knowledge-graph
          description: "Execute a Gremlin query against Amazon Neptune."
          inputParameters:
            - name: gremlin_query
              in: body
              type: string
              description: "The Gremlin traversal query."
          call: "neptune.execute-gremlin"
          with:
            gremlin: "{{gremlin_query}}"
  consumes:
    - type: http
      namespace: neptune
      baseUri: "https://clarivate-neptune.cluster.us-east-1.neptune.amazonaws.com:8182"
      authentication:
        type: aws-sigv4
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: gremlin
          path: "/gremlin"
          operations:
            - name: execute-gremlin
              method: POST

Executes an analytics query against Clarivate's Amazon Redshift cluster for large-scale citation network analysis and bibliometric calculations.

naftiko: "0.5"
info:
  label: "Amazon Redshift Citation Analytics Query"
  description: "Executes an analytics query against Clarivate's Amazon Redshift cluster for large-scale citation network analysis and bibliometric calculations."
  tags:
    - data-warehouse
    - amazon-redshift
    - citation-analytics
    - bibliometrics
capability:
  exposes:
    - type: mcp
      namespace: redshift-analytics
      port: 8080
      tools:
        - name: run-citation-query
          description: "Execute a citation analytics query against Amazon Redshift."
          inputParameters:
            - name: sql
              in: body
              type: string
              description: "The SQL query to execute."
          call: "redshift.execute-statement"
          with:
            ClusterIdentifier: "clarivate-analytics"
            Sql: "{{sql}}"
            Database: "citation_network"
  consumes:
    - type: http
      namespace: redshift
      baseUri: "https://redshift-data.us-east-1.amazonaws.com"
      authentication:
        type: aws-sigv4
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: statements
          path: "/execute-statement"
          operations:
            - name: execute-statement
              method: POST

Lists files in Clarivate's Amazon S3 data lake for research data engineering pipelines.

naftiko: "0.5"
info:
  label: "Amazon S3 Data Lake File Listing"
  description: "Lists files in Clarivate's Amazon S3 data lake for research data engineering pipelines."
  tags:
    - data-lake
    - amazon-s3
    - data-engineering
    - storage
capability:
  exposes:
    - type: mcp
      namespace: data-lake
      port: 8080
      tools:
        - name: list-data-lake-files
          description: "List files in an S3 data lake prefix."
          inputParameters:
            - name: bucket
              in: body
              type: string
              description: "The S3 bucket name."
            - name: prefix
              in: body
              type: string
              description: "The S3 key prefix."
          call: "s3.list-objects"
          with:
            Bucket: "{{bucket}}"
            Prefix: "{{prefix}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.us-east-1.amazonaws.com"
      authentication:
        type: aws-sigv4
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: objects
          path: "/{{Bucket}}"
          inputParameters:
            - name: Bucket
              in: path
            - name: Prefix
              in: query
          operations:
            - name: list-objects
              method: GET

Generates annual research reports by aggregating publication data from Web of Science, computing metrics in InCites, and distributing via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Annual Research Report Generation Pipeline"
  description: "Generates annual research reports by aggregating publication data from Web of Science, computing metrics in InCites, and distributing via Microsoft Outlook."
  tags:
    - research
    - web-of-science
    - incites
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: annual-research-report-generation
      port: 8080
      tools:
        - name: run-annual-research-report-generation-p
          description: "Generates annual research reports by aggregating publication data from Web of Science, computing metrics in InCites, and distributing via Microsoft Outlook."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "incites.compute-metrics"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "outlook.send-email"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: incites
      baseUri: "https://api.clarivate.com/apis/incites/v2"
      authentication:
        type: bearer
        token: "$secrets.incites_api_key"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: compute-metrics
              method: POST
    - 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-email
              method: POST

Monitors API usage by collecting metrics from Datadog, analyzing consumption in Snowflake, and alerting the platform team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "API Usage Monitoring Pipeline"
  description: "Monitors API usage by collecting metrics from Datadog, analyzing consumption in Snowflake, and alerting the platform team via Microsoft Teams."
  tags:
    - platform
    - datadog
    - snowflake
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: api-usage-monitoring
      port: 8080
      tools:
        - name: run-api-usage-monitoring-pipeline
          description: "Monitors API usage by collecting metrics from Datadog, analyzing consumption in Snowflake, and alerting the platform team via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "datadog.get-metrics"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          operations:
            - name: get-metrics
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/messages"
          operations:
            - name: send-notification
              method: POST

Retrieves Asana project task status for Clarivate cross-functional initiative tracking.

naftiko: "0.5"
info:
  label: "Asana Project Task Tracker"
  description: "Retrieves Asana project task status for Clarivate cross-functional initiative tracking."
  tags:
    - project-management
    - asana
    - task-tracking
capability:
  exposes:
    - type: mcp
      namespace: project-tracking
      port: 8080
      tools:
        - name: get-project-tasks
          description: "Retrieve Asana project tasks."
          inputParameters:
            - name: project_id
              in: body
              type: string
              description: "The Asana project ID."
          call: "asana.get-tasks"
          with:
            project_id: "{{project_id}}"
  consumes:
    - type: http
      namespace: asana
      baseUri: "https://app.asana.com/api/1.0"
      authentication:
        type: bearer
        token: "$secrets.asana_token"
      resources:
        - name: tasks
          path: "/projects/{{project_id}}/tasks"
          inputParameters:
            - name: project_id
              in: path
          operations:
            - name: get-tasks
              method: GET

Disambiguates author identities by matching records from Web of Science, resolving via Amazon Neptune knowledge graph, and updating Snowflake.

naftiko: "0.5"
info:
  label: "Author Disambiguation Pipeline"
  description: "Disambiguates author identities by matching records from Web of Science, resolving via Amazon Neptune knowledge graph, and updating Snowflake."
  tags:
    - research
    - web-of-science
    - amazon-neptune
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: author-disambiguation
      port: 8080
      tools:
        - name: run-author-disambiguation-pipeline
          description: "Disambiguates author identities by matching records from Web of Science, resolving via Amazon Neptune knowledge graph, and updating Snowflake."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "neptune.run-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: neptune
      baseUri: "https://clarivate-neptune.us-east-1.neptune.amazonaws.com:8182"
      authentication:
        type: bearer
        token: "$secrets.neptune_token"
      resources:
        - name: queries
          path: "/gremlin"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Analyzes a research document using AWS Textract for text extraction and table detection.

naftiko: "0.5"
info:
  label: "AWS Textract Document Analysis"
  description: "Analyzes a research document using AWS Textract for text extraction and table detection."
  tags:
    - data-processing
    - aws-textract
capability:
  exposes:
    - type: mcp
      namespace: doc-processing
      port: 8080
      tools:
        - name: analyze-document
          description: "Extract text and tables from a document using AWS Textract."
          inputParameters:
            - name: document_key
              in: body
              type: string
              description: "The S3 object key of the document."
          call: "textract.analyze-document"
          with:
            document_key: "{{document_key}}"
  consumes:
    - type: http
      namespace: textract
      baseUri: "https://textract.us-east-1.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_textract_token"
      resources:
        - name: analysis
          path: "/analyze"
          operations:
            - name: analyze-document
              method: POST

Triggers an Azure Data Factory pipeline for Clarivate research data integration and ETL workflows.

naftiko: "0.5"
info:
  label: "Azure Data Factory Research ETL Trigger"
  description: "Triggers an Azure Data Factory pipeline for Clarivate research data integration and ETL workflows."
  tags:
    - data-integration
    - azure-data-factory
    - etl
    - research-data
capability:
  exposes:
    - type: mcp
      namespace: data-pipelines
      port: 8080
      tools:
        - name: trigger-adf-pipeline
          description: "Trigger an Azure Data Factory pipeline run."
          inputParameters:
            - name: pipeline_name
              in: body
              type: string
              description: "The ADF pipeline name."
          call: "adf.create-pipeline-run"
          with:
            pipeline_name: "{{pipeline_name}}"
  consumes:
    - type: http
      namespace: adf
      baseUri: "https://management.azure.com/subscriptions/{{sub_id}}/resourceGroups/{{rg}}/providers/Microsoft.DataFactory/factories/clarivate-adf"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: pipelines
          path: "/pipelines/{{pipeline_name}}/createRun"
          inputParameters:
            - name: pipeline_name
              in: path
          operations:
            - name: create-pipeline-run
              method: POST

Checks the latest build pipeline status in Azure DevOps for Clarivate CI/CD workflows.

naftiko: "0.5"
info:
  label: "Azure DevOps Build Pipeline Status"
  description: "Checks the latest build pipeline status in Azure DevOps for Clarivate CI/CD workflows."
  tags:
    - ci-cd
    - azure-devops
    - build-pipelines
capability:
  exposes:
    - type: mcp
      namespace: devops-builds
      port: 8080
      tools:
        - name: get-build-status
          description: "Retrieve the latest build status 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: "azuredevops.get-builds"
          with:
            project: "{{project}}"
            definitions: "{{pipeline_id}}"
            top: "1"
  consumes:
    - type: http
      namespace: azuredevops
      baseUri: "https://dev.azure.com/clarivate"
      authentication:
        type: basic
        username: ""
        password: "$secrets.azuredevops_pat"
      resources:
        - name: builds
          path: "/{{project}}/_apis/build/builds"
          inputParameters:
            - name: project
              in: path
            - name: definitions
              in: query
            - name: top
              in: query
          operations:
            - name: get-builds
              method: GET

Deploys an Azure ML model endpoint for Clarivate NLP and classification tasks.

naftiko: "0.5"
info:
  label: "Azure Machine Learning Model Deployment"
  description: "Deploys an Azure ML model endpoint for Clarivate NLP and classification tasks."
  tags:
    - machine-learning
    - azure-machine-learning
    - model-deployment
    - ai
capability:
  exposes:
    - type: mcp
      namespace: ml-deployment
      port: 8080
      tools:
        - name: deploy-ml-model
          description: "Deploy an Azure ML model to a managed endpoint."
          inputParameters:
            - name: model_name
              in: body
              type: string
              description: "The registered model name."
            - name: endpoint_name
              in: body
              type: string
              description: "The target endpoint name."
          call: "azureml.create-deployment"
          with:
            model_name: "{{model_name}}"
            endpoint_name: "{{endpoint_name}}"
  consumes:
    - type: http
      namespace: azureml
      baseUri: "https://ml.azure.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: deployments
          path: "/subscriptions/{{sub_id}}/resourceGroups/{{rg}}/providers/Microsoft.MachineLearningServices/workspaces/{{workspace}}/onlineEndpoints/{{endpoint_name}}/deployments"
          inputParameters:
            - name: endpoint_name
              in: path
          operations:
            - name: create-deployment
              method: PUT

Retrieves research documents from Box for Clarivate analyst teams.

naftiko: "0.5"
info:
  label: "Box Research Document Retrieval"
  description: "Retrieves research documents from Box for Clarivate analyst teams."
  tags:
    - document-management
    - box
    - research
capability:
  exposes:
    - type: mcp
      namespace: doc-management
      port: 8080
      tools:
        - name: get-research-document
          description: "Retrieve a Box document by file ID."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "The Box file ID."
          call: "box.get-file"
          with:
            file_id: "{{file_id}}"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: get-file
              method: GET

Detects brand infringement by scanning domains via MarkMonitor, checking trademarks in CompuMark, and escalating in ServiceNow.

naftiko: "0.5"
info:
  label: "Brand Infringement Detection Pipeline"
  description: "Detects brand infringement by scanning domains via MarkMonitor, checking trademarks in CompuMark, and escalating in ServiceNow."
  tags:
    - brand-protection
    - markmonitor
    - compumark
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: brand-infringement-detection
      port: 8080
      tools:
        - name: run-brand-infringement-detection-pipeli
          description: "Detects brand infringement by scanning domains via MarkMonitor, checking trademarks in CompuMark, and escalating in ServiceNow."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "markmonitor.check-domain"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "compumark.search-marks"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: markmonitor
      baseUri: "https://api.markmonitor.com/v1"
      authentication:
        type: bearer
        token: "$secrets.markmonitor_token"
      resources:
        - name: domains
          path: "/domains"
          operations:
            - name: check-domain
              method: GET
    - type: http
      namespace: compumark
      baseUri: "https://api.clarivate.com/apis/compumark/v1"
      authentication:
        type: bearer
        token: "$secrets.compumark_api_key"
      resources:
        - name: marks
          path: "/marks/search"
          operations:
            - name: search-marks
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now/table"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incident"
          operations:
            - name: create-incident
              method: POST

Creates Cisco Webex meetings for Clarivate global team collaboration and customer presentations.

naftiko: "0.5"
info:
  label: "Cisco Webex Meeting Scheduler"
  description: "Creates Cisco Webex meetings for Clarivate global team collaboration and customer presentations."
  tags:
    - communications
    - cisco-webex
    - meetings
    - collaboration
capability:
  exposes:
    - type: mcp
      namespace: meeting-mgmt
      port: 8080
      tools:
        - name: create-webex-meeting
          description: "Create a Cisco Webex meeting."
          inputParameters:
            - name: title
              in: body
              type: string
              description: "The meeting title."
            - name: start
              in: body
              type: string
              description: "Start time in ISO 8601 format."
            - name: duration_minutes
              in: body
              type: integer
              description: "Meeting duration in minutes."
          call: "webex.create-meeting"
          with:
            title: "{{title}}"
            start: "{{start}}"
            durationInMinutes: "{{duration_minutes}}"
  consumes:
    - type: http
      namespace: webex
      baseUri: "https://webexapis.com/v1"
      authentication:
        type: bearer
        token: "$secrets.webex_token"
      resources:
        - name: meetings
          path: "/meetings"
          operations:
            - name: create-meeting
              method: POST

Monitors new citations via Web of Science, enriches with journal impact data from JCR, and sends digest notification via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Citation Alert Notification Pipeline"
  description: "Monitors new citations via Web of Science, enriches with journal impact data from JCR, and sends digest notification via Microsoft Teams."
  tags:
    - research
    - web-of-science
    - journal-citation-reports
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: citation-alert-notification
      port: 8080
      tools:
        - name: run-citation-alert-notification-pipelin
          description: "Monitors new citations via Web of Science, enriches with journal impact data from JCR, and sends digest notification via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "jcr.get-journal"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: jcr
      baseUri: "https://api.clarivate.com/apis/jcr/v1"
      authentication:
        type: bearer
        token: "$secrets.jcr_api_key"
      resources:
        - name: journals
          path: "/journals"
          operations:
            - name: get-journal
              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/messages"
          operations:
            - name: send-notification
              method: POST

Monitors clinical trial publications by querying Web of Science, cross-referencing with Cortellis pipeline data, and alerting via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Clinical Trial Monitoring Pipeline"
  description: "Monitors clinical trial publications by querying Web of Science, cross-referencing with Cortellis pipeline data, and alerting via Microsoft Teams."
  tags:
    - life-sciences
    - web-of-science
    - cortellis
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: clinical-trial-monitoring
      port: 8080
      tools:
        - name: run-clinical-trial-monitoring-pipeline
          description: "Monitors clinical trial publications by querying Web of Science, cross-referencing with Cortellis pipeline data, and alerting via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "cortellis.query-drugs"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: cortellis
      baseUri: "https://api.clarivate.com/apis/cortellis/v1"
      authentication:
        type: bearer
        token: "$secrets.cortellis_api_key"
      resources:
        - name: drugs
          path: "/drugs"
          operations:
            - name: query-drugs
              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/messages"
          operations:
            - name: send-notification
              method: POST

Retrieves Cloudflare CDN analytics for Clarivate's web properties.

naftiko: "0.5"
info:
  label: "Cloudflare CDN Performance Check"
  description: "Retrieves Cloudflare CDN analytics for Clarivate's web properties."
  tags:
    - infrastructure
    - cloudflare
    - cdn
    - performance
capability:
  exposes:
    - type: mcp
      namespace: cdn-analytics
      port: 8080
      tools:
        - name: get-cdn-analytics
          description: "Retrieve Cloudflare CDN analytics for a zone."
          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

Monitors competitor patent activity by tracking filings in Derwent, comparing with internal portfolio in Snowflake, and alerting via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Competitor Patent Monitoring Pipeline"
  description: "Monitors competitor patent activity by tracking filings in Derwent, comparing with internal portfolio in Snowflake, and alerting via Microsoft Teams."
  tags:
    - patents
    - derwent
    - snowflake
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: competitor-patent-monitoring
      port: 8080
      tools:
        - name: run-competitor-patent-monitoring-pipeli
          description: "Monitors competitor patent activity by tracking filings in Derwent, comparing with internal portfolio in Snowflake, and alerting via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "derwent.search-patents"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: bearer
        token: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/messages"
          operations:
            - name: send-notification
              method: POST

Searches CompuMark for registered trademarks by mark text, returning registration status, jurisdiction, and owner.

naftiko: "0.5"
info:
  label: "CompuMark Trademark Search"
  description: "Searches CompuMark for registered trademarks by mark text, returning registration status, jurisdiction, and owner."
  tags:
    - ip-analytics
    - compumark
    - trademarks
capability:
  exposes:
    - type: mcp
      namespace: ip-compumark
      port: 8080
      tools:
        - name: search-trademarks
          description: "Search CompuMark for trademarks matching a mark text."
          inputParameters:
            - name: mark_text
              in: body
              type: string
              description: "The trademark text to search."
          call: "compumark.search-marks"
          with:
            mark_text: "{{mark_text}}"
  consumes:
    - type: http
      namespace: compumark
      baseUri: "https://api.clarivate.com/apis/compumark/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.compumark_api_key"
      resources:
        - name: trademarks
          path: "/marks/search"
          operations:
            - name: search-marks
              method: GET

Searches Clarivate's Confluence knowledge base for product documentation, analytical methodologies, and internal research guidelines.

naftiko: "0.5"
info:
  label: "Confluence Knowledge Base Search"
  description: "Searches Clarivate's Confluence knowledge base for product documentation, analytical methodologies, and internal research guidelines."
  tags:
    - knowledge-management
    - confluence
    - documentation
capability:
  exposes:
    - type: mcp
      namespace: knowledge-base
      port: 8080
      tools:
        - name: search-knowledge-base
          description: "Search Confluence for documentation and research guidelines."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query string."
          call: "confluence.search-content"
          with:
            cql: "type=page AND text~'{{query}}'"
            limit: "10"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://clarivate.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/search"
          inputParameters:
            - name: cql
              in: query
            - name: limit
              in: query
          operations:
            - name: search-content
              method: GET

Deduplicates research content by comparing records in Elasticsearch, scoring similarity via Databricks ML, and flagging duplicates in Jira.

naftiko: "0.5"
info:
  label: "Content Deduplication Pipeline"
  description: "Deduplicates research content by comparing records in Elasticsearch, scoring similarity via Databricks ML, and flagging duplicates in Jira."
  tags:
    - data-quality
    - elasticsearch
    - databricks
    - jira
capability:
  exposes:
    - type: mcp
      namespace: content-deduplication
      port: 8080
      tools:
        - name: run-content-deduplication-pipeline
          description: "Deduplicates research content by comparing records in Elasticsearch, scoring similarity via Databricks ML, and flagging duplicates in Jira."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "elasticsearch.search-index"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: elasticsearch
      baseUri: "https://elasticsearch.clarivate.com"
      authentication:
        type: bearer
        token: "$secrets.elasticsearch_token"
      resources:
        - name: indices
          path: "/_search"
          operations:
            - name: search-index
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Validates ingested research content by extracting metadata from S3, running quality checks in Databricks, and logging results in Elasticsearch.

naftiko: "0.5"
info:
  label: "Content Ingestion Quality Pipeline"
  description: "Validates ingested research content by extracting metadata from S3, running quality checks in Databricks, and logging results in Elasticsearch."
  tags:
    - data-processing
    - amazon-s3
    - databricks
    - elasticsearch
capability:
  exposes:
    - type: mcp
      namespace: content-ingestion-quality
      port: 8080
      tools:
        - name: run-content-ingestion-quality-pipeline
          description: "Validates ingested research content by extracting metadata from S3, running quality checks in Databricks, and logging results in Elasticsearch."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "s3.list-objects"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "elasticsearch.search-index"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_s3_token"
      resources:
        - name: objects
          path: "/clarivate-content"
          operations:
            - name: list-objects
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: elasticsearch
      baseUri: "https://elasticsearch.clarivate.com"
      authentication:
        type: bearer
        token: "$secrets.elasticsearch_token"
      resources:
        - name: indices
          path: "/_search"
          operations:
            - name: search-index
              method: POST

Retrieves research grant details from Converis CRIS including funding amount, PI, and project status.

naftiko: "0.5"
info:
  label: "Converis Grant Lookup"
  description: "Retrieves research grant details from Converis CRIS including funding amount, PI, and project status."
  tags:
    - research
    - converis
    - grants
capability:
  exposes:
    - type: mcp
      namespace: research-converis
      port: 8080
      tools:
        - name: get-grant-details
          description: "Fetch grant details from Converis."
          inputParameters:
            - name: grant_id
              in: body
              type: string
              description: "The Converis grant identifier."
          call: "converis.get-grant"
          with:
            grant_id: "{{grant_id}}"
  consumes:
    - type: http
      namespace: converis
      baseUri: "https://api.clarivate.com/apis/converis/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.converis_api_key"
      resources:
        - name: grants
          path: "/grants/{{grant_id}}"
          inputParameters:
            - name: grant_id
              in: path
          operations:
            - name: get-grant
              method: GET

Retrieves drug development pipeline information from Cortellis including clinical trial phase, indication, and mechanism of action.

naftiko: "0.5"
info:
  label: "Cortellis Drug Pipeline Lookup"
  description: "Retrieves drug development pipeline information from Cortellis including clinical trial phase, indication, and mechanism of action."
  tags:
    - life-sciences
    - cortellis
capability:
  exposes:
    - type: mcp
      namespace: lifesci-cortellis
      port: 8080
      tools:
        - name: get-drug-pipeline
          description: "Fetch drug pipeline details from Cortellis by drug name."
          inputParameters:
            - name: drug_name
              in: body
              type: string
              description: "The drug name or compound identifier."
          call: "cortellis.get-drug"
          with:
            drug_name: "{{drug_name}}"
  consumes:
    - type: http
      namespace: cortellis
      baseUri: "https://api.clarivate.com/apis/cortellis/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.cortellis_api_key"
      resources:
        - name: drugs
          path: "/drugs"
          operations:
            - name: get-drug
              method: GET

Retrieves Coupa procurement request status for Clarivate vendor management and procurement operations.

naftiko: "0.5"
info:
  label: "Coupa Procurement Request Status"
  description: "Retrieves Coupa procurement request status for Clarivate vendor management and procurement operations."
  tags:
    - procurement
    - coupa
    - vendor-management
capability:
  exposes:
    - type: mcp
      namespace: procurement-mgmt
      port: 8080
      tools:
        - name: get-procurement-request
          description: "Retrieve a Coupa procurement request by ID."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The Coupa requisition ID."
          call: "coupa.get-requisition"
          with:
            request_id: "{{request_id}}"
  consumes:
    - type: http
      namespace: coupa
      baseUri: "https://clarivate.coupahost.com/api"
      authentication:
        type: bearer
        token: "$secrets.coupa_token"
      resources:
        - name: requisitions
          path: "/requisitions/{{request_id}}"
          inputParameters:
            - name: request_id
              in: path
          operations:
            - name: get-requisition
              method: GET

Predicts customer churn by pulling usage data from Pendo, scoring via Databricks ML, and creating retention tasks in Salesforce.

naftiko: "0.5"
info:
  label: "Customer Churn Prediction Pipeline"
  description: "Predicts customer churn by pulling usage data from Pendo, scoring via Databricks ML, and creating retention tasks in Salesforce."
  tags:
    - product-analytics
    - pendo
    - databricks
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: customer-churn-prediction
      port: 8080
      tools:
        - name: run-customer-churn-prediction-pipeline
          description: "Predicts customer churn by pulling usage data from Pendo, scoring via Databricks ML, and creating retention tasks in Salesforce."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "pendo.get-usage"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "salesforce.get-account"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: pendo
      baseUri: "https://app.pendo.io/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pendo_token"
      resources:
        - name: features
          path: "/features"
          operations:
            - name: get-usage
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account"
          operations:
            - name: get-account
              method: GET

Computes customer health scores by pulling engagement from Salesforce, usage from Pendo, and support tickets from Zendesk.

naftiko: "0.5"
info:
  label: "Customer Health Score Pipeline"
  description: "Computes customer health scores by pulling engagement from Salesforce, usage from Pendo, and support tickets from Zendesk."
  tags:
    - customer-success
    - salesforce
    - pendo
    - zendesk
capability:
  exposes:
    - type: mcp
      namespace: customer-health-score
      port: 8080
      tools:
        - name: run-customer-health-score-pipeline
          description: "Computes customer health scores by pulling engagement from Salesforce, usage from Pendo, and support tickets from Zendesk."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "salesforce.get-account"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "pendo.get-usage"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "zendesk.get-ticket"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account"
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: pendo
      baseUri: "https://app.pendo.io/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pendo_token"
      resources:
        - name: features
          path: "/features"
          operations:
            - name: get-usage
              method: GET
    - type: http
      namespace: zendesk
      baseUri: "https://clarivate.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets"
          operations:
            - name: get-ticket
              method: GET

Onboards new customers by provisioning access in Salesforce, creating training paths in Pluralsight, and sending welcome materials via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Customer Onboarding Content Pipeline"
  description: "Onboards new customers by provisioning access in Salesforce, creating training paths in Pluralsight, and sending welcome materials via Microsoft Outlook."
  tags:
    - customer-success
    - salesforce
    - pluralsight
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: customer-onboarding-content
      port: 8080
      tools:
        - name: run-customer-onboarding-content-pipelin
          description: "Onboards new customers by provisioning access in Salesforce, creating training paths in Pluralsight, and sending welcome materials via Microsoft Outlook."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "salesforce.get-account"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "pluralsight.assign-course"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "outlook.send-email"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account"
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: courses
          path: "/courses"
          operations:
            - name: assign-course
              method: POST
    - 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-email
              method: POST

Checks subscription usage in Salesforce, compares against license entitlements in Oracle, generates a health score using Databricks, and alerts the customer success team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Customer Subscription Health Pipeline"
  description: "Checks subscription usage in Salesforce, compares against license entitlements in Oracle, generates a health score using Databricks, and alerts the customer success team via Microsoft Teams."
  tags:
    - customer-success
    - salesforce
    - oracle
    - databricks
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: subscription-health
      port: 8080
      tools:
        - name: check-subscription-health
          description: "Run the subscription health check pipeline for a customer."
          inputParameters:
            - name: account_id
              in: body
              type: string
              description: "The Salesforce account ID."
          steps:
            - name: get-usage-data
              type: call
              call: "salesforce.get-account"
              with:
                account_id: "{{account_id}}"
            - name: get-license-entitlements
              type: call
              call: "oracle.get-entitlements"
              with:
                customer_id: "{{get-usage-data.customer_id}}"
            - name: calculate-health-score
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "subscription_health_scorer"
                inputs: "{account_id: '{{account_id}}', usage: {{get-usage-data.api_calls}}, entitlement: {{get-license-entitlements.max_calls}}}"
            - name: alert-cs-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "customer_success"
                channel_id: "health_alerts"
                text: "Subscription health for {{get-usage-data.account_name}}: Score {{calculate-health-score.health_score}}/100. Usage: {{get-usage-data.api_calls}}/{{get-license-entitlements.max_calls}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: oracle
      baseUri: "https://clarivate-erp.oracle.com/fscmRestApi/resources/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: entitlements
          path: "/licenseEntitlements"
          inputParameters:
            - name: customer_id
              in: query
          operations:
            - name: get-entitlements
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Assesses data privacy compliance by scanning assets in Snowflake, classifying PII via Azure Machine Learning, and creating records in ServiceNow.

naftiko: "0.5"
info:
  label: "Data Privacy Assessment Pipeline"
  description: "Assesses data privacy compliance by scanning assets in Snowflake, classifying PII via Azure Machine Learning, and creating records in ServiceNow."
  tags:
    - compliance
    - snowflake
    - azure-machine-learning
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: data-privacy-assessment
      port: 8080
      tools:
        - name: run-data-privacy-assessment-pipeline
          description: "Assesses data privacy compliance by scanning assets in Snowflake, classifying PII via Azure Machine Learning, and creating records in ServiceNow."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "snowflake.execute-query"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "azureml.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: azureml
      baseUri: "https://clarivate-ml.eastus.inference.ml.azure.com"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: endpoints
          path: "/score"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now/table"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incident"
          operations:
            - name: create-incident
              method: POST

Manages data product releases by running quality checks in Databricks, publishing to the catalog in Snowflake, and notifying via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Data Product Release Pipeline"
  description: "Manages data product releases by running quality checks in Databricks, publishing to the catalog in Snowflake, and notifying via Microsoft Teams."
  tags:
    - data-products
    - databricks
    - snowflake
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: data-product-release
      port: 8080
      tools:
        - name: run-data-product-release-pipeline
          description: "Manages data product releases by running quality checks in Databricks, publishing to the catalog in Snowflake, and notifying via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "databricks.invoke-model"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/messages"
          operations:
            - name: send-notification
              method: POST

Invokes a Databricks ML model endpoint for Clarivate predictive analytics, including citation forecasting, research trend prediction, and patent classification.

naftiko: "0.5"
info:
  label: "Databricks ML Model Inference"
  description: "Invokes a Databricks ML model endpoint for Clarivate predictive analytics, including citation forecasting, research trend prediction, and patent classification."
  tags:
    - machine-learning
    - databricks
    - research-analytics
    - data-science
capability:
  exposes:
    - type: mcp
      namespace: ml-inference
      port: 8080
      tools:
        - name: run-ml-model
          description: "Run a ML model via Databricks serving endpoint."
          inputParameters:
            - name: endpoint_name
              in: body
              type: string
              description: "The Databricks serving endpoint name."
            - name: inputs
              in: body
              type: string
              description: "The JSON input for the model."
          call: "databricks.invoke-endpoint"
          with:
            endpoint: "{{endpoint_name}}"
            inputs: "{{inputs}}"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST

Queries Datadog for application performance metrics for Clarivate's research platforms and SaaS products.

naftiko: "0.5"
info:
  label: "Datadog Application Performance Monitor"
  description: "Queries Datadog for application performance metrics for Clarivate's research platforms and SaaS products."
  tags:
    - monitoring
    - datadog
    - application-performance
    - saas
capability:
  exposes:
    - type: mcp
      namespace: apm-monitoring
      port: 8080
      tools:
        - name: get-app-metrics
          description: "Retrieve Datadog application performance metrics."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "The Datadog service name."
          call: "datadog.query-metrics"
          with:
            query: "avg:trace.servlet.request.duration{service:{{service_name}}}"
            from: "now-1h"
            to: "now"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apikey
        key: "$secrets.datadog_api_key"
        app_key: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
            - name: to
              in: query
          operations:
            - name: query-metrics
              method: GET

Searches Derwent Innovation for patents by keyword, returning patent number, title, assignee, and filing date.

naftiko: "0.5"
info:
  label: "Derwent Patent Search"
  description: "Searches Derwent Innovation for patents by keyword, returning patent number, title, assignee, and filing date."
  tags:
    - patents
    - derwent
capability:
  exposes:
    - type: mcp
      namespace: patents-derwent
      port: 8080
      tools:
        - name: search-patents
          description: "Search Derwent Innovation for patents matching a keyword query."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The patent search query."
          call: "derwent.search-patents"
          with:
            query: "{{query}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET

Conducts automated literature review for drug discovery by searching Web of Science, extracting findings via Cortellis, and summarizing in Confluence.

naftiko: "0.5"
info:
  label: "Drug Discovery Literature Review Pipeline"
  description: "Conducts automated literature review for drug discovery by searching Web of Science, extracting findings via Cortellis, and summarizing in Confluence."
  tags:
    - life-sciences
    - web-of-science
    - cortellis
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: drug-discovery-literature-review
      port: 8080
      tools:
        - name: run-drug-discovery-literature-review-pi
          description: "Conducts automated literature review for drug discovery by searching Web of Science, extracting findings via Cortellis, and summarizing in Confluence."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "cortellis.query-drugs"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "confluence.create-page"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: cortellis
      baseUri: "https://api.clarivate.com/apis/cortellis/v1"
      authentication:
        type: bearer
        token: "$secrets.cortellis_api_key"
      resources:
        - name: drugs
          path: "/drugs"
          operations:
            - name: query-drugs
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://clarivate.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Queries Clarivate's Elasticsearch cluster for research publications, patent documents, and academic citations matching a search query.

naftiko: "0.5"
info:
  label: "Elasticsearch Research Index Query"
  description: "Queries Clarivate's Elasticsearch cluster for research publications, patent documents, and academic citations matching a search query."
  tags:
    - search
    - elasticsearch
    - research
    - publications
capability:
  exposes:
    - type: mcp
      namespace: research-search
      port: 8080
      tools:
        - name: search-publications
          description: "Search Elasticsearch for research publications matching a query."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query string."
            - name: index
              in: body
              type: string
              description: "The Elasticsearch index to search (publications, patents, citations)."
          call: "elasticsearch.search"
          with:
            index: "{{index}}"
            q: "{{query}}"
            size: "20"
  consumes:
    - type: http
      namespace: elasticsearch
      baseUri: "https://clarivate-es.elastic-cloud.com"
      authentication:
        type: basic
        username: "$secrets.elasticsearch_user"
        password: "$secrets.elasticsearch_password"
      resources:
        - name: search
          path: "/{{index}}/_search"
          inputParameters:
            - name: index
              in: path
            - name: q
              in: query
            - name: size
              in: query
          operations:
            - name: search
              method: GET

Scans for emerging technologies by analyzing patent trends in Derwent, correlating with publications in Web of Science, and publishing in Confluence.

naftiko: "0.5"
info:
  label: "Emerging Technology Scanner Pipeline"
  description: "Scans for emerging technologies by analyzing patent trends in Derwent, correlating with publications in Web of Science, and publishing in Confluence."
  tags:
    - innovation
    - derwent
    - web-of-science
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: emerging-technology-scanner
      port: 8080
      tools:
        - name: run-emerging-technology-scanner-pipelin
          description: "Scans for emerging technologies by analyzing patent trends in Derwent, correlating with publications in Web of Science, and publishing in Confluence."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "derwent.search-patents"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "wos.query-wos"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "confluence.create-page"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: bearer
        token: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://clarivate.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

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

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message to the new analyst or researcher."
  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."
          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: "clarivate_onboarding_site"
                folder_path: "OnboardingDocs/{{department}}/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-employee.work_email}}"
                text: "Welcome to Clarivate, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. Documents are at {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Searches an EndNote online library for references by keyword, returning titles, authors, and citation keys.

naftiko: "0.5"
info:
  label: "EndNote Library Search"
  description: "Searches an EndNote online library for references by keyword, returning titles, authors, and citation keys."
  tags:
    - research
    - endnote
capability:
  exposes:
    - type: mcp
      namespace: research-endnote
      port: 8080
      tools:
        - name: search-references
          description: "Search an EndNote library for references."
          inputParameters:
            - name: keyword
              in: body
              type: string
              description: "The search keyword."
          call: "endnote.search-library"
          with:
            keyword: "{{keyword}}"
  consumes:
    - type: http
      namespace: endnote
      baseUri: "https://api.endnote.com/v1"
      authentication:
        type: bearer
        token: "$secrets.endnote_token"
      resources:
        - name: references
          path: "/references/search"
          operations:
            - name: search-library
              method: GET

Retrieves Figma design file metadata for Clarivate product design teams.

naftiko: "0.5"
info:
  label: "Figma Design Asset Lookup"
  description: "Retrieves Figma design file metadata for Clarivate product design teams."
  tags:
    - design
    - figma
    - product-design
    - ux
capability:
  exposes:
    - type: mcp
      namespace: design-assets
      port: 8080
      tools:
        - name: get-figma-file
          description: "Retrieve Figma design file metadata."
          inputParameters:
            - name: file_key
              in: body
              type: string
              description: "The Figma file key."
          call: "figma.get-file"
          with:
            file_key: "{{file_key}}"
  consumes:
    - type: http
      namespace: figma
      baseUri: "https://api.figma.com/v1"
      authentication:
        type: bearer
        token: "$secrets.figma_token"
      resources:
        - name: files
          path: "/files/{{file_key}}"
          inputParameters:
            - name: file_key
              in: path
          operations:
            - name: get-file
              method: GET

Triggers a GitHub Actions workflow for Clarivate application builds.

naftiko: "0.5"
info:
  label: "GitHub Actions CI Workflow Trigger"
  description: "Triggers a GitHub Actions workflow for Clarivate application builds."
  tags:
    - ci-cd
    - github-actions
    - development
    - automation
capability:
  exposes:
    - type: mcp
      namespace: ci-workflows
      port: 8080
      tools:
        - name: trigger-github-workflow
          description: "Trigger a GitHub Actions workflow dispatch event."
          inputParameters:
            - name: repo
              in: body
              type: string
              description: "The repository name."
            - name: workflow_id
              in: body
              type: string
              description: "The workflow file name or ID."
            - name: ref
              in: body
              type: string
              description: "The git reference."
          call: "github.dispatch-workflow"
          with:
            repo: "{{repo}}"
            workflow_id: "{{workflow_id}}"
            ref: "{{ref}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-dispatches
          path: "/repos/{{repo}}/actions/workflows/{{workflow_id}}/dispatches"
          inputParameters:
            - name: repo
              in: path
            - name: workflow_id
              in: path
          operations:
            - name: dispatch-workflow
              method: POST

Retrieves open pull request details for a Clarivate GitHub repository.

naftiko: "0.5"
info:
  label: "GitHub Repository PR Status"
  description: "Retrieves open pull request details for a Clarivate GitHub repository."
  tags:
    - development
    - github
    - code-review
capability:
  exposes:
    - type: mcp
      namespace: dev-workflow
      port: 8080
      tools:
        - name: get-repo-prs
          description: "List open pull requests for a GitHub repository."
          inputParameters:
            - name: repo_name
              in: body
              type: string
              description: "The repository name (org/repo format)."
          call: "github.list-prs"
          with:
            repo: "{{repo_name}}"
            state: "open"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: pull-requests
          path: "/repos/{{repo}}/pulls"
          inputParameters:
            - name: repo
              in: path
            - name: state
              in: query
          operations:
            - name: list-prs
              method: GET

Uploads research files to Google Drive for Clarivate team collaboration.

naftiko: "0.5"
info:
  label: "Google Drive Research File Upload"
  description: "Uploads research files to Google Drive for Clarivate team collaboration."
  tags:
    - document-management
    - google-drive
    - research
capability:
  exposes:
    - type: mcp
      namespace: file-storage
      port: 8080
      tools:
        - name: upload-to-drive
          description: "Upload a file to Google Drive."
          inputParameters:
            - name: folder_id
              in: body
              type: string
              description: "The Google Drive folder ID."
            - name: file_name
              in: body
              type: string
              description: "The file name."
          call: "gdrive.upload-file"
          with:
            folder_id: "{{folder_id}}"
            name: "{{file_name}}"
  consumes:
    - type: http
      namespace: gdrive
      baseUri: "https://www.googleapis.com/upload/drive/v3"
      authentication:
        type: bearer
        token: "$secrets.google_drive_token"
      resources:
        - name: files
          path: "/files"
          operations:
            - name: upload-file
              method: POST

Analyzes research grant funding by querying Converis, computing trends in Snowflake, and refreshing the Power BI analytics dashboard.

naftiko: "0.5"
info:
  label: "Grant Funding Analytics Pipeline"
  description: "Analyzes research grant funding by querying Converis, computing trends in Snowflake, and refreshing the Power BI analytics dashboard."
  tags:
    - research
    - converis
    - snowflake
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: grant-funding-analytics
      port: 8080
      tools:
        - name: run-grant-funding-analytics-pipeline
          description: "Analyzes research grant funding by querying Converis, computing trends in Snowflake, and refreshing the Power BI analytics dashboard."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "converis.get-grants"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "powerbi.refresh-dataset"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: converis
      baseUri: "https://api.clarivate.com/apis/converis/v1"
      authentication:
        type: bearer
        token: "$secrets.converis_api_key"
      resources:
        - name: grants
          path: "/grants"
          operations:
            - name: get-grants
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/refresh"
          operations:
            - name: refresh-dataset
              method: POST

Searches HubSpot for marketing leads and enriches them with company data for Clarivate product marketing.

naftiko: "0.5"
info:
  label: "HubSpot Marketing Lead Enrichment"
  description: "Searches HubSpot for marketing leads and enriches them with company data for Clarivate product marketing."
  tags:
    - marketing
    - hubspot
    - lead-management
capability:
  exposes:
    - type: mcp
      namespace: marketing-leads
      port: 8080
      tools:
        - name: search-marketing-lead
          description: "Search for a HubSpot marketing lead by email."
          inputParameters:
            - name: email
              in: body
              type: string
              description: "The email address to search."
          call: "hubspot.search-contacts"
          with:
            filterGroups: "[{filters:[{propertyName:'email',operator:'EQ',value:'{{email}}'}]}]"
  consumes:
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/crm/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: contacts-search
          path: "/objects/contacts/search"
          operations:
            - name: search-contacts
              method: POST

Retrieves researcher bibliometric profile from InCites including publication count, citation count, h-index, and top collaborators.

naftiko: "0.5"
info:
  label: "InCites Researcher Profile Lookup"
  description: "Retrieves researcher bibliometric profile from InCites including publication count, citation count, h-index, and top collaborators."
  tags:
    - research
    - incites
capability:
  exposes:
    - type: mcp
      namespace: research-incites
      port: 8080
      tools:
        - name: get-researcher-profile
          description: "Fetch researcher bibliometric profile from InCites."
          inputParameters:
            - name: researcher_id
              in: body
              type: string
              description: "The researcher identifier (ORCID or ResearcherID)."
          call: "incites.get-researcher"
          with:
            researcher_id: "{{researcher_id}}"
  consumes:
    - type: http
      namespace: incites
      baseUri: "https://api.clarivate.com/apis/incites/v2"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.incites_api_key"
      resources:
        - name: researchers
          path: "/researchers/{{researcher_id}}"
          inputParameters:
            - name: researcher_id
              in: path
          operations:
            - name: get-researcher
              method: GET

Checks the status of Informatica data integration pipelines for Clarivate's enterprise data flows including research data ingestion and patent indexing.

naftiko: "0.5"
info:
  label: "Informatica Data Pipeline Status"
  description: "Checks the status of Informatica data integration pipelines for Clarivate's enterprise data flows including research data ingestion and patent indexing."
  tags:
    - data-integration
    - informatica
    - etl
    - data-pipeline
capability:
  exposes:
    - type: mcp
      namespace: data-integration
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Retrieve Informatica pipeline job status."
          inputParameters:
            - name: job_id
              in: body
              type: string
              description: "The Informatica job ID."
          call: "informatica.get-job-status"
          with:
            job_id: "{{job_id}}"
  consumes:
    - type: http
      namespace: informatica
      baseUri: "https://dm-us.informaticacloud.com/saas/api/v2"
      authentication:
        type: bearer
        token: "$secrets.informatica_token"
      resources:
        - name: jobs
          path: "/job/{{job_id}}"
          inputParameters:
            - name: job_id
              in: path
          operations:
            - name: get-job-status
              method: GET

Optimizes cloud costs by pulling AWS billing data, analyzing usage in Snowflake, and creating cost reduction tasks in Jira.

naftiko: "0.5"
info:
  label: "Infrastructure Cost Optimization Pipeline"
  description: "Optimizes cloud costs by pulling AWS billing data, analyzing usage in Snowflake, and creating cost reduction tasks in Jira."
  tags:
    - cloud-operations
    - amazon-s3
    - snowflake
    - jira
capability:
  exposes:
    - type: mcp
      namespace: infrastructure-cost-optimization
      port: 8080
      tools:
        - name: run-infrastructure-cost-optimization-pi
          description: "Optimizes cloud costs by pulling AWS billing data, analyzing usage in Snowflake, and creating cost reduction tasks in Jira."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "s3.list-objects"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_s3_token"
      resources:
        - name: objects
          path: "/clarivate-content"
          operations:
            - name: list-objects
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Values an IP portfolio by pulling patent data from Derwent, trademark data from CompuMark, and computing valuation metrics via Databricks ML.

naftiko: "0.5"
info:
  label: "IP Portfolio Valuation Pipeline"
  description: "Values an IP portfolio by pulling patent data from Derwent, trademark data from CompuMark, and computing valuation metrics via Databricks ML."
  tags:
    - ip-analytics
    - derwent
    - compumark
    - databricks
capability:
  exposes:
    - type: mcp
      namespace: ip-portfolio-valuation
      port: 8080
      tools:
        - name: run-ip-portfolio-valuation-pipeline
          description: "Values an IP portfolio by pulling patent data from Derwent, trademark data from CompuMark, and computing valuation metrics via Databricks ML."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "derwent.search-patents"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "compumark.search-marks"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: bearer
        token: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET
    - type: http
      namespace: compumark
      baseUri: "https://api.clarivate.com/apis/compumark/v1"
      authentication:
        type: bearer
        token: "$secrets.compumark_api_key"
      resources:
        - name: marks
          path: "/marks/search"
          operations:
            - name: search-marks
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST

Retrieves Jira sprint progress for Clarivate product and engineering teams.

naftiko: "0.5"
info:
  label: "Jira Sprint Progress Tracker"
  description: "Retrieves Jira sprint progress for Clarivate product and engineering teams."
  tags:
    - project-management
    - jira
    - agile
    - sprint
capability:
  exposes:
    - type: mcp
      namespace: agile-tracking
      port: 8080
      tools:
        - name: get-sprint-progress
          description: "Retrieve Jira sprint progress."
          inputParameters:
            - name: board_id
              in: body
              type: string
              description: "The Jira board ID."
            - name: sprint_id
              in: body
              type: string
              description: "The sprint ID."
          call: "jira.get-sprint"
          with:
            board_id: "{{board_id}}"
            sprint_id: "{{sprint_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://clarivate.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/{{sprint_id}}"
          inputParameters:
            - name: board_id
              in: path
            - name: sprint_id
              in: path
          operations:
            - name: get-sprint
              method: GET

Retrieves journal impact factor, eigenfactor, and quartile ranking from Clarivate Journal Citation Reports.

naftiko: "0.5"
info:
  label: "Journal Citation Reports Lookup"
  description: "Retrieves journal impact factor, eigenfactor, and quartile ranking from Clarivate Journal Citation Reports."
  tags:
    - research
    - journal-citation-reports
capability:
  exposes:
    - type: mcp
      namespace: research-jcr
      port: 8080
      tools:
        - name: get-journal-metrics
          description: "Fetch journal impact metrics from Journal Citation Reports."
          inputParameters:
            - name: issn
              in: body
              type: string
              description: "The journal ISSN."
          call: "jcr.get-journal"
          with:
            issn: "{{issn}}"
  consumes:
    - type: http
      namespace: jcr
      baseUri: "https://api.clarivate.com/apis/jcr/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.jcr_api_key"
      resources:
        - name: journals
          path: "/journals/{{issn}}"
          inputParameters:
            - name: issn
              in: path
          operations:
            - name: get-journal
              method: GET

Evaluates a journal for indexing by checking Master Journal List, pulling citation metrics from JCR, and creating a review ticket in ServiceNow.

naftiko: "0.5"
info:
  label: "Journal Indexing Evaluation Pipeline"
  description: "Evaluates a journal for indexing by checking Master Journal List, pulling citation metrics from JCR, and creating a review ticket in ServiceNow."
  tags:
    - research
    - master-journal-list
    - journal-citation-reports
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: journal-indexing-evaluation
      port: 8080
      tools:
        - name: run-journal-indexing-evaluation-pipelin
          description: "Evaluates a journal for indexing by checking Master Journal List, pulling citation metrics from JCR, and creating a review ticket in ServiceNow."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "mjl.check-journal"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "jcr.get-journal"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: mjl
      baseUri: "https://api.clarivate.com/apis/mjl/v1"
      authentication:
        type: bearer
        token: "$secrets.mjl_api_key"
      resources:
        - name: journals
          path: "/journals/search"
          operations:
            - name: check-journal
              method: GET
    - type: http
      namespace: jcr
      baseUri: "https://api.clarivate.com/apis/jcr/v1"
      authentication:
        type: bearer
        token: "$secrets.jcr_api_key"
      resources:
        - name: journals
          path: "/journals"
          operations:
            - name: get-journal
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now/table"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incident"
          operations:
            - name: create-incident
              method: POST

Enriches the research knowledge graph by ingesting citation links from Web of Science, computing relationships in Amazon Neptune, and validating via Elasticsearch.

naftiko: "0.5"
info:
  label: "Knowledge Graph Enrichment Pipeline"
  description: "Enriches the research knowledge graph by ingesting citation links from Web of Science, computing relationships in Amazon Neptune, and validating via Elasticsearch."
  tags:
    - research
    - web-of-science
    - amazon-neptune
    - elasticsearch
capability:
  exposes:
    - type: mcp
      namespace: knowledge-graph-enrichment
      port: 8080
      tools:
        - name: run-knowledge-graph-enrichment-pipeline
          description: "Enriches the research knowledge graph by ingesting citation links from Web of Science, computing relationships in Amazon Neptune, and validating via Elasticsearch."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "neptune.run-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "elasticsearch.search-index"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: neptune
      baseUri: "https://clarivate-neptune.us-east-1.neptune.amazonaws.com:8182"
      authentication:
        type: bearer
        token: "$secrets.neptune_token"
      resources:
        - name: queries
          path: "/gremlin"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: elasticsearch
      baseUri: "https://elasticsearch.clarivate.com"
      authentication:
        type: bearer
        token: "$secrets.elasticsearch_token"
      resources:
        - name: indices
          path: "/_search"
          operations:
            - name: search-index
              method: POST

Checks the health status of Kubernetes deployments in Azure Kubernetes Service for Clarivate microservices.

naftiko: "0.5"
info:
  label: "Kubernetes Deployment Health Check"
  description: "Checks the health status of Kubernetes deployments in Azure Kubernetes Service for Clarivate microservices."
  tags:
    - infrastructure
    - azure-kubernetes-service
    - kubernetes
    - container-management
capability:
  exposes:
    - type: mcp
      namespace: k8s-ops
      port: 8080
      tools:
        - name: check-deployment-health
          description: "Check AKS deployment health status."
          inputParameters:
            - name: namespace
              in: body
              type: string
              description: "The Kubernetes namespace."
            - name: deployment_name
              in: body
              type: string
              description: "The deployment name."
          call: "aks.get-deployment"
          with:
            namespace: "{{namespace}}"
            deployment: "{{deployment_name}}"
  consumes:
    - type: http
      namespace: aks
      baseUri: "https://clarivate-aks.eastus.azmk8s.io"
      authentication:
        type: bearer
        token: "$secrets.aks_token"
      resources:
        - name: deployments
          path: "/apis/apps/v1/namespaces/{{namespace}}/deployments/{{deployment}}"
          inputParameters:
            - name: namespace
              in: path
            - name: deployment
              in: path
          operations:
            - name: get-deployment
              method: GET

Retrieves LinkedIn employer branding analytics for Clarivate talent acquisition and brand awareness.

naftiko: "0.5"
info:
  label: "LinkedIn Employer Brand Analytics"
  description: "Retrieves LinkedIn employer branding analytics for Clarivate talent acquisition and brand awareness."
  tags:
    - recruiting
    - linkedin
    - employer-branding
    - talent-acquisition
capability:
  exposes:
    - type: mcp
      namespace: employer-branding
      port: 8080
      tools:
        - name: get-employer-analytics
          description: "Retrieve LinkedIn employer brand analytics."
          inputParameters:
            - name: organization_id
              in: body
              type: string
              description: "The LinkedIn organization ID."
          call: "linkedin.get-org-analytics"
          with:
            organization_id: "{{organization_id}}"
  consumes:
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: org-analytics
          path: "/organizationalEntityFollowerStatistics?q=organizationalEntity&organizationalEntity=urn:li:organization:{{organization_id}}"
          inputParameters:
            - name: organization_id
              in: path
          operations:
            - name: get-org-analytics
              method: GET

Checks the registration and protection status of a domain via MarkMonitor brand protection platform.

naftiko: "0.5"
info:
  label: "MarkMonitor Domain Status Check"
  description: "Checks the registration and protection status of a domain via MarkMonitor brand protection platform."
  tags:
    - brand-protection
    - markmonitor
capability:
  exposes:
    - type: mcp
      namespace: brand-markmonitor
      port: 8080
      tools:
        - name: check-domain-status
          description: "Check domain registration and protection status in MarkMonitor."
          inputParameters:
            - name: domain_name
              in: body
              type: string
              description: "The domain name to check."
          call: "markmonitor.get-domain"
          with:
            domain_name: "{{domain_name}}"
  consumes:
    - type: http
      namespace: markmonitor
      baseUri: "https://api.markmonitor.com/v1"
      authentication:
        type: bearer
        token: "$secrets.markmonitor_token"
      resources:
        - name: domains
          path: "/domains/{{domain_name}}"
          inputParameters:
            - name: domain_name
              in: path
          operations:
            - name: get-domain
              method: GET

Checks whether a journal is indexed in the Clarivate Master Journal List and returns coverage details.

naftiko: "0.5"
info:
  label: "Master Journal List Lookup"
  description: "Checks whether a journal is indexed in the Clarivate Master Journal List and returns coverage details."
  tags:
    - research
    - master-journal-list
capability:
  exposes:
    - type: mcp
      namespace: research-mjl
      port: 8080
      tools:
        - name: check-journal-indexing
          description: "Verify journal indexing status in the Master Journal List."
          inputParameters:
            - name: journal_title
              in: body
              type: string
              description: "The journal title."
          call: "mjl.search-journal"
          with:
            title: "{{journal_title}}"
  consumes:
    - type: http
      namespace: mjl
      baseUri: "https://api.clarivate.com/apis/mjl/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.mjl_api_key"
      resources:
        - name: journals
          path: "/journals/search"
          operations:
            - name: search-journal
              method: GET

Triggers a Power Automate flow for Clarivate business process automation.

naftiko: "0.5"
info:
  label: "Microsoft Power Automate Flow Trigger"
  description: "Triggers a Power Automate flow for Clarivate business process automation."
  tags:
    - automation
    - microsoft-power-automate
    - business-process
capability:
  exposes:
    - type: mcp
      namespace: process-automation
      port: 8080
      tools:
        - name: trigger-power-automate-flow
          description: "Trigger a Power Automate flow."
          inputParameters:
            - name: flow_id
              in: body
              type: string
              description: "The Power Automate flow ID."
            - name: trigger_body
              in: body
              type: object
              description: "The JSON body for the flow trigger."
          call: "powerautomate.trigger-flow"
          with:
            flow_id: "{{flow_id}}"
            body: "{{trigger_body}}"
  consumes:
    - type: http
      namespace: powerautomate
      baseUri: "https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments"
      authentication:
        type: bearer
        token: "$secrets.powerautomate_token"
      resources:
        - name: flows
          path: "/{{environment_id}}/flows/{{flow_id}}/triggers/manual/run"
          inputParameters:
            - name: flow_id
              in: path
            - name: environment_id
              in: path
          operations:
            - name: trigger-flow
              method: POST

Sends a formatted notification message to a Microsoft Teams channel for Clarivate team communications.

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

Checks the status of MuleSoft API integrations for Clarivate's enterprise API management platform.

naftiko: "0.5"
info:
  label: "MuleSoft API Integration Status"
  description: "Checks the status of MuleSoft API integrations for Clarivate's enterprise API management platform."
  tags:
    - integration
    - mulesoft
    - api-management
    - enterprise
capability:
  exposes:
    - type: mcp
      namespace: api-integration
      port: 8080
      tools:
        - name: get-api-status
          description: "Retrieve MuleSoft API deployment status."
          inputParameters:
            - name: environment_id
              in: body
              type: string
              description: "The Anypoint environment ID."
            - name: api_id
              in: body
              type: string
              description: "The API ID."
          call: "mulesoft.get-api-status"
          with:
            environment_id: "{{environment_id}}"
            api_id: "{{api_id}}"
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://anypoint.mulesoft.com/apimanager/api/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: apis
          path: "/organizations/{{org_id}}/environments/{{environment_id}}/apis/{{api_id}}"
          inputParameters:
            - name: environment_id
              in: path
            - name: api_id
              in: path
          operations:
            - name: get-api-status
              method: GET

Queries New Relic for Clarivate SaaS platform health including Web of Science, Derwent, and CompuMark services.

naftiko: "0.5"
info:
  label: "New Relic SaaS Platform Monitor"
  description: "Queries New Relic for Clarivate SaaS platform health including Web of Science, Derwent, and CompuMark services."
  tags:
    - monitoring
    - new-relic
    - saas
    - platform-health
capability:
  exposes:
    - type: mcp
      namespace: platform-monitoring
      port: 8080
      tools:
        - name: get-platform-health
          description: "Retrieve New Relic application health metrics."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "The New Relic application ID."
          call: "newrelic.get-app-metrics"
          with:
            app_id: "{{app_id}}"
  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-metrics
              method: GET

Checks open access compliance by retrieving publication data from Web of Science, verifying against funder mandates, and creating tickets in Jira.

naftiko: "0.5"
info:
  label: "Open Access Compliance Pipeline"
  description: "Checks open access compliance by retrieving publication data from Web of Science, verifying against funder mandates, and creating tickets in Jira."
  tags:
    - research
    - web-of-science
    - compliance
    - jira
capability:
  exposes:
    - type: mcp
      namespace: open-access-compliance
      port: 8080
      tools:
        - name: run-open-access-compliance-pipeline
          description: "Checks open access compliance by retrieving publication data from Web of Science, verifying against funder mandates, and creating tickets in Jira."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "incites.compute-metrics"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: incites
      baseUri: "https://api.clarivate.com/apis/incites/v2"
      authentication:
        type: bearer
        token: "$secrets.incites_api_key"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: compute-metrics
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Retrieves Oracle Hyperion financial report data for Clarivate financial planning and analysis.

naftiko: "0.5"
info:
  label: "Oracle Hyperion Financial Reporting"
  description: "Retrieves Oracle Hyperion financial report data for Clarivate financial planning and analysis."
  tags:
    - finance
    - oracle-hyperion
    - financial-reporting
    - planning
capability:
  exposes:
    - type: mcp
      namespace: financial-reporting
      port: 8080
      tools:
        - name: get-financial-report
          description: "Retrieve an Oracle Hyperion financial report."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The Hyperion report ID."
          call: "hyperion.get-report"
          with:
            report_id: "{{report_id}}"
  consumes:
    - type: http
      namespace: hyperion
      baseUri: "https://clarivate-hyperion.oracle.com/HyperionPlanning/rest/v3"
      authentication:
        type: basic
        username: "$secrets.hyperion_user"
        password: "$secrets.hyperion_password"
      resources:
        - name: reports
          path: "/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-report
              method: GET

Retrieves active security alerts from Palo Alto Networks for Clarivate's network perimeter.

naftiko: "0.5"
info:
  label: "Palo Alto Networks Security Alert Check"
  description: "Retrieves active security alerts from Palo Alto Networks for Clarivate's network perimeter."
  tags:
    - security
    - palo-alto-networks
    - network
    - threat-detection
capability:
  exposes:
    - type: mcp
      namespace: network-security
      port: 8080
      tools:
        - name: get-security-alerts
          description: "Retrieve active security alerts from Palo Alto Networks."
          inputParameters:
            - name: severity
              in: body
              type: string
              description: "Alert severity filter."
          call: "paloalto.get-alerts"
          with:
            severity: "{{severity}}"
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://clarivate-fw.paloaltonetworks.com/restapi/v10.2"
      authentication:
        type: apikey
        key: "$secrets.paloalto_api_key"
      resources:
        - name: alerts
          path: "/Incidents"
          inputParameters:
            - name: severity
              in: query
          operations:
            - name: get-alerts
              method: GET

Builds a competitive patent landscape by searching Derwent Innovation, classifying patents via Databricks ML, and generating a visualization in Power BI.

naftiko: "0.5"
info:
  label: "Patent Competitive Landscape Pipeline"
  description: "Builds a competitive patent landscape by searching Derwent Innovation, classifying patents via Databricks ML, and generating a visualization in Power BI."
  tags:
    - patents
    - derwent
    - databricks
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: patent-competitive-landscape
      port: 8080
      tools:
        - name: run-patent-competitive-landscape-pipeli
          description: "Builds a competitive patent landscape by searching Derwent Innovation, classifying patents via Databricks ML, and generating a visualization in Power BI."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "derwent.search-patents"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "powerbi.refresh-dataset"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: bearer
        token: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/refresh"
          operations:
            - name: refresh-dataset
              method: POST

Orchestrates patent filing by extracting prior art from Derwent, generating filing documents, and creating a task in Jira for IP counsel.

naftiko: "0.5"
info:
  label: "Patent Filing Workflow Pipeline"
  description: "Orchestrates patent filing by extracting prior art from Derwent, generating filing documents, and creating a task in Jira for IP counsel."
  tags:
    - patents
    - derwent
    - jira
    - ip-filing
capability:
  exposes:
    - type: mcp
      namespace: patent-filing-workflow
      port: 8080
      tools:
        - name: run-patent-filing-workflow-pipeline
          description: "Orchestrates patent filing by extracting prior art from Derwent, generating filing documents, and creating a task in Jira for IP counsel."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "derwent.search-patents"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: derwent
      baseUri: "https://api.clarivate.com/apis/derwent/v1"
      authentication:
        type: bearer
        token: "$secrets.derwent_api_key"
      resources:
        - name: patents
          path: "/patents/search"
          operations:
            - name: search-patents
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Runs a patent portfolio analysis by querying patent data from Snowflake, classifying patents using Databricks ML, generating a landscape report in Tableau, and notifying the IP analytics team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Patent Portfolio Analysis Pipeline"
  description: "Runs a patent portfolio analysis by querying patent data from Snowflake, classifying patents using Databricks ML, generating a landscape report in Tableau, and notifying the IP analytics team via Microsoft Teams."
  tags:
    - patents
    - snowflake
    - databricks
    - tableau
    - microsoft-teams
    - ip-analytics
capability:
  exposes:
    - type: mcp
      namespace: patent-analytics
      port: 8080
      tools:
        - name: analyze-patent-portfolio
          description: "Run a patent portfolio analysis pipeline for an organization."
          inputParameters:
            - name: organization
              in: body
              type: string
              description: "The organization name to analyze."
            - name: technology_area
              in: body
              type: string
              description: "The technology area for focus."
          steps:
            - name: query-patents
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT patent_id, title, filing_date, classification, citation_count FROM patents WHERE assignee = '{{organization}}' AND tech_area = '{{technology_area}}'"
            - name: classify-portfolio
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "patent_classifier"
                inputs: "{organization: '{{organization}}', technology_area: '{{technology_area}}'}"
            - name: refresh-landscape
              type: call
              call: "tableau.refresh-workbook"
              with:
                workbook_id: "patent_landscape"
            - name: notify-ip-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "ip_analytics"
                channel_id: "portfolio_reports"
                text: "Patent portfolio analysis for {{organization}} ({{technology_area}}): {{query-patents.row_count}} patents found. Strength score: {{classify-portfolio.strength_score}}. Landscape: {{refresh-landscape.url}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://clarivate.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks/{{workbook_id}}/refresh"
          inputParameters:
            - name: workbook_id
              in: path
            - name: site_id
              in: path
          operations:
            - name: refresh-workbook
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Retrieves product usage analytics from Pendo for Clarivate platform features including active users, feature adoption, and engagement scores.

naftiko: "0.5"
info:
  label: "Pendo Product Usage Lookup"
  description: "Retrieves product usage analytics from Pendo for Clarivate platform features including active users, feature adoption, and engagement scores."
  tags:
    - product-analytics
    - pendo
capability:
  exposes:
    - type: mcp
      namespace: product-pendo
      port: 8080
      tools:
        - name: get-usage-metrics
          description: "Fetch product usage analytics from Pendo."
          inputParameters:
            - name: feature_id
              in: body
              type: string
              description: "The Pendo feature identifier."
          call: "pendo.get-feature-usage"
          with:
            feature_id: "{{feature_id}}"
  consumes:
    - type: http
      namespace: pendo
      baseUri: "https://app.pendo.io/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pendo_token"
      resources:
        - name: features
          path: "/feature/{{feature_id}}/usage"
          inputParameters:
            - name: feature_id
              in: path
          operations:
            - name: get-feature-usage
              method: GET

Assigns Pluralsight training courses to Clarivate team members for professional development.

naftiko: "0.5"
info:
  label: "Pluralsight Training Assignment"
  description: "Assigns Pluralsight training courses to Clarivate team members for professional development."
  tags:
    - training
    - pluralsight
    - learning
    - professional-development
capability:
  exposes:
    - type: mcp
      namespace: learning-mgmt
      port: 8080
      tools:
        - name: assign-training-course
          description: "Assign a Pluralsight training course."
          inputParameters:
            - name: user_email
              in: body
              type: string
              description: "The team member's email."
            - name: course_id
              in: body
              type: string
              description: "The Pluralsight course ID."
          call: "pluralsight.assign-course"
          with:
            email: "{{user_email}}"
            course_id: "{{course_id}}"
  consumes:
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: assignments
          path: "/assignments"
          operations:
            - name: assign-course
              method: POST

Triggers a Power BI dataset refresh for Clarivate analytics dashboards.

naftiko: "0.5"
info:
  label: "Power BI Analytics Dashboard Refresh"
  description: "Triggers a Power BI dataset refresh for Clarivate analytics dashboards."
  tags:
    - analytics
    - power-bi
    - dashboards
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: bi-dashboards
      port: 8080
      tools:
        - name: refresh-dashboard
          description: "Trigger a Power BI dataset refresh."
          inputParameters:
            - name: group_id
              in: body
              type: string
              description: "The Power BI workspace ID."
            - name: dataset_id
              in: body
              type: string
              description: "The dataset ID."
          call: "powerbi.refresh-dataset"
          with:
            group_id: "{{group_id}}"
            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: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Tracks feature adoption by pulling telemetry from Pendo, analyzing trends in Snowflake, and refreshing the product dashboard in Power BI.

naftiko: "0.5"
info:
  label: "Product Feature Adoption Pipeline"
  description: "Tracks feature adoption by pulling telemetry from Pendo, analyzing trends in Snowflake, and refreshing the product dashboard in Power BI."
  tags:
    - product-analytics
    - pendo
    - snowflake
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: product-feature-adoption
      port: 8080
      tools:
        - name: run-product-feature-adoption-pipeline
          description: "Tracks feature adoption by pulling telemetry from Pendo, analyzing trends in Snowflake, and refreshing the product dashboard in Power BI."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "pendo.get-usage"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "powerbi.refresh-dataset"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: pendo
      baseUri: "https://app.pendo.io/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pendo_token"
      resources:
        - name: features
          path: "/features"
          operations:
            - name: get-usage
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/refresh"
          operations:
            - name: refresh-dataset
              method: POST

Retrieves full-text document metadata from ProQuest by document identifier for academic research content.

naftiko: "0.5"
info:
  label: "ProQuest Document Retrieval"
  description: "Retrieves full-text document metadata from ProQuest by document identifier for academic research content."
  tags:
    - research
    - proquest
capability:
  exposes:
    - type: mcp
      namespace: research-proquest
      port: 8080
      tools:
        - name: get-document
          description: "Fetch document metadata from ProQuest."
          inputParameters:
            - name: document_id
              in: body
              type: string
              description: "The ProQuest document identifier."
          call: "proquest.get-document"
          with:
            document_id: "{{document_id}}"
  consumes:
    - type: http
      namespace: proquest
      baseUri: "https://api.proquest.com/v1"
      authentication:
        type: bearer
        token: "$secrets.proquest_token"
      resources:
        - name: documents
          path: "/documents/{{document_id}}"
          inputParameters:
            - name: document_id
              in: path
          operations:
            - name: get-document
              method: GET

Monitors retractions by scanning Web of Science, updating the research database in Snowflake, and alerting editorial team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Publication Retraction Monitoring Pipeline"
  description: "Monitors retractions by scanning Web of Science, updating the research database in Snowflake, and alerting editorial team via Microsoft Teams."
  tags:
    - research
    - web-of-science
    - snowflake
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: publication-retraction-monitoring
      port: 8080
      tools:
        - name: run-publication-retraction-monitoring-p
          description: "Monitors retractions by scanning Web of Science, updating the research database in Snowflake, and alerting editorial team via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/messages"
          operations:
            - name: send-notification
              method: POST

Triggers a Qlik Sense app reload for Clarivate patent analytics and IP landscape reporting.

naftiko: "0.5"
info:
  label: "Qlik Sense Patent Analytics Report"
  description: "Triggers a Qlik Sense app reload for Clarivate patent analytics and IP landscape reporting."
  tags:
    - analytics
    - qlik-sense
    - patent-analytics
    - ip
capability:
  exposes:
    - type: mcp
      namespace: patent-reporting
      port: 8080
      tools:
        - name: reload-patent-report
          description: "Trigger a Qlik Sense app reload for patent analytics."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "The Qlik Sense app ID."
          call: "qlik.reload-app"
          with:
            app_id: "{{app_id}}"
  consumes:
    - type: http
      namespace: qlik
      baseUri: "https://clarivate.us.qlikcloud.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.qlik_token"
      resources:
        - name: reloads
          path: "/reloads"
          operations:
            - name: reload-app
              method: POST

Generates quarterly business review data by pulling revenue from Salesforce, usage from Pendo, and notifying via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Quarterly Business Review Pipeline"
  description: "Generates quarterly business review data by pulling revenue from Salesforce, usage from Pendo, and notifying via Microsoft Teams."
  tags:
    - business-operations
    - salesforce
    - pendo
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: quarterly-business-review
      port: 8080
      tools:
        - name: run-quarterly-business-review-pipeline
          description: "Generates quarterly business review data by pulling revenue from Salesforce, usage from Pendo, and notifying via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "salesforce.get-account"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "pendo.get-usage"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account"
          operations:
            - name: get-account
              method: GET
    - type: http
      namespace: pendo
      baseUri: "https://app.pendo.io/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pendo_token"
      resources:
        - name: features
          path: "/features"
          operations:
            - name: get-usage
              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/messages"
          operations:
            - name: send-notification
              method: POST

Orchestrates software releases by triggering CI/CD in GitHub Actions, running tests in Azure DevOps, and notifying engineering via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Release Deployment Pipeline"
  description: "Orchestrates software releases by triggering CI/CD in GitHub Actions, running tests in Azure DevOps, and notifying engineering via Microsoft Teams."
  tags:
    - engineering
    - github-actions
    - azure-devops
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: release-deployment
      port: 8080
      tools:
        - name: run-release-deployment-pipeline
          description: "Orchestrates software releases by triggering CI/CD in GitHub Actions, running tests in Azure DevOps, and notifying engineering via Microsoft Teams."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "github.trigger-workflow"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "azdevops.trigger-pipeline"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "msteams.send-notification"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflows
          path: "/repos/actions"
          operations:
            - name: trigger-workflow
              method: POST
    - type: http
      namespace: azdevops
      baseUri: "https://dev.azure.com/clarivate"
      authentication:
        type: bearer
        token: "$secrets.azdevops_token"
      resources:
        - name: pipelines
          path: "/_apis/pipelines"
          operations:
            - name: trigger-pipeline
              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/messages"
          operations:
            - name: send-notification
              method: POST

Builds a research collaboration network by querying co-authorship data from Web of Science, computing network metrics via Amazon Neptune, and visualizing in Tableau.

naftiko: "0.5"
info:
  label: "Research Collaboration Network Pipeline"
  description: "Builds a research collaboration network by querying co-authorship data from Web of Science, computing network metrics via Amazon Neptune, and visualizing in Tableau."
  tags:
    - research
    - web-of-science
    - amazon-neptune
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: research-collaboration-network
      port: 8080
      tools:
        - name: run-research-collaboration-network-pipe
          description: "Builds a research collaboration network by querying co-authorship data from Web of Science, computing network metrics via Amazon Neptune, and visualizing in Tableau."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "neptune.run-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "tableau.refresh-workbook"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: neptune
      baseUri: "https://clarivate-neptune.us-east-1.neptune.amazonaws.com:8182"
      authentication:
        type: bearer
        token: "$secrets.neptune_token"
      resources:
        - name: queries
          path: "/gremlin"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://clarivate.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/refresh"
          operations:
            - name: refresh-workbook
              method: POST

Ingests new research data by extracting from Amazon S3, transforming via Azure Data Factory, loading into Snowflake, and triggering a Databricks quality check with notification to the data team.

naftiko: "0.5"
info:
  label: "Research Data Ingestion Pipeline"
  description: "Ingests new research data by extracting from Amazon S3, transforming via Azure Data Factory, loading into Snowflake, and triggering a Databricks quality check with notification to the data team."
  tags:
    - data-engineering
    - amazon-s3
    - azure-data-factory
    - snowflake
    - databricks
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: data-ingestion
      port: 8080
      tools:
        - name: ingest-research-data
          description: "Run the full research data ingestion pipeline."
          inputParameters:
            - name: source_bucket
              in: body
              type: string
              description: "The S3 source bucket."
            - name: source_prefix
              in: body
              type: string
              description: "The S3 source prefix."
            - name: target_table
              in: body
              type: string
              description: "The Snowflake target table."
          steps:
            - name: trigger-etl
              type: call
              call: "adf.create-pipeline-run"
              with:
                pipeline_name: "research_ingestion"
            - name: run-quality-check
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "data_quality_checker"
                inputs: "{table: '{{target_table}}'}"
            - name: notify-data-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "data_engineering"
                channel_id: "ingestion_status"
                text: "Research data ingestion complete for {{target_table}}. Quality score: {{run-quality-check.score}}. Pipeline: {{trigger-etl.run_id}}."
  consumes:
    - type: http
      namespace: adf
      baseUri: "https://management.azure.com/subscriptions/{{sub_id}}/resourceGroups/{{rg}}/providers/Microsoft.DataFactory/factories/clarivate-adf"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: pipelines
          path: "/pipelines/{{pipeline_name}}/createRun"
          inputParameters:
            - name: pipeline_name
              in: path
          operations:
            - name: create-pipeline-run
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Refreshes the research data lake by extracting records from Web of Science, transforming in Databricks, and loading into Amazon Redshift.

naftiko: "0.5"
info:
  label: "Research Data Lake Refresh Pipeline"
  description: "Refreshes the research data lake by extracting records from Web of Science, transforming in Databricks, and loading into Amazon Redshift."
  tags:
    - data-engineering
    - web-of-science
    - databricks
    - amazon-redshift
capability:
  exposes:
    - type: mcp
      namespace: research-data-lake-refresh
      port: 8080
      tools:
        - name: run-research-data-lake-refresh-pipeline
          description: "Refreshes the research data lake by extracting records from Web of Science, transforming in Databricks, and loading into Amazon Redshift."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "wos.query-wos"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "databricks.invoke-model"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "redshift.execute-query"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: bearer
        token: "$secrets.wos_api_key"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: query-wos
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/invocations"
          operations:
            - name: invoke-model
              method: POST
    - type: http
      namespace: redshift
      baseUri: "https://redshift.clarivate.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.redshift_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST

Assesses research impact by querying Web of Science for citation data, computing bibliometric indicators via InCites, and generating a dashboard in Tableau with team notification.

naftiko: "0.5"
info:
  label: "Research Impact Assessment Pipeline"
  description: "Assesses research impact by querying Web of Science for citation data, computing bibliometric indicators via InCites, and generating a dashboard in Tableau with team notification."
  tags:
    - research
    - web-of-science
    - incites
    - tableau
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: research-impact
      port: 8080
      tools:
        - name: assess-research-impact
          description: "Run research impact assessment with citation analysis, bibliometrics, and visualization."
          inputParameters:
            - name: researcher_id
              in: body
              type: string
              description: "The researcher ORCID or ResearcherID."
            - name: time_period
              in: body
              type: string
              description: "The analysis time period."
          steps:
            - name: get-citations
              type: call
              call: "wos.get-citations"
              with:
                researcher_id: "{{researcher_id}}"
                period: "{{time_period}}"
            - name: compute-metrics
              type: call
              call: "incites.compute-bibliometrics"
              with:
                researcher_id: "{{researcher_id}}"
                citation_data: "{{get-citations.citations}}"
            - name: refresh-dashboard
              type: call
              call: "tableau.refresh-workbook"
              with:
                workbook_id: "research_impact"
            - name: notify-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "research_analytics"
                channel_id: "impact_reports"
                text: "Impact assessment for {{researcher_id}}: h-index {{compute-metrics.h_index}}, citations {{get-citations.total_citations}}. Dashboard: {{refresh-dashboard.url}}."
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.wos_api_key"
      resources:
        - name: citations
          path: "/citations"
          operations:
            - name: get-citations
              method: GET
    - type: http
      namespace: incites
      baseUri: "https://api.clarivate.com/apis/incites/v2"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.incites_api_key"
      resources:
        - name: bibliometrics
          path: "/bibliometrics/compute"
          operations:
            - name: compute-bibliometrics
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://clarivate.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/default/workbooks/{{workbook_id}}/refresh"
          inputParameters:
            - name: workbook_id
              in: path
          operations:
            - name: refresh-workbook
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

When a new publication is indexed, enriches it with citation data from Snowflake, classifies it using Azure Machine Learning, stores enriched data in Databricks, and notifies the research team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Research Publication Enrichment Pipeline"
  description: "When a new publication is indexed, enriches it with citation data from Snowflake, classifies it using Azure Machine Learning, stores enriched data in Databricks, and notifies the research team via Microsoft Teams."
  tags:
    - research
    - snowflake
    - azure-machine-learning
    - databricks
    - microsoft-teams
    - data-enrichment
capability:
  exposes:
    - type: mcp
      namespace: publication-enrichment
      port: 8080
      tools:
        - name: enrich-publication
          description: "Enrich a research publication with citation data, classification, and notification."
          inputParameters:
            - name: publication_id
              in: body
              type: string
              description: "The publication identifier (DOI or internal ID)."
          steps:
            - name: get-citation-data
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT citation_count, h_index, field_weighted_citation_impact FROM citations WHERE publication_id = '{{publication_id}}'"
            - name: classify-publication
              type: call
              call: "azureml.invoke-endpoint"
              with:
                endpoint: "publication_classifier"
                inputs: "{publication_id: '{{publication_id}}'}"
            - name: store-enriched-data
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "publication_ingestion"
                inputs: "{publication_id: '{{publication_id}}', citations: {{get-citation-data.citation_count}}, classification: '{{classify-publication.category}}'}"
            - name: notify-research-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "research_analytics"
                channel_id: "new_publications"
                text: "Publication {{publication_id}} enriched: {{get-citation-data.citation_count}} citations, FWCI {{get-citation-data.field_weighted_citation_impact}}, classified as {{classify-publication.category}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: azureml
      baseUri: "https://clarivate-ml.eastus.inference.ml.azure.com"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: endpoints
          path: "/score"
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://clarivate.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Retrieves a Salesforce account record by ID, returning company details, subscription status, and account manager for Clarivate customer management.

naftiko: "0.5"
info:
  label: "Salesforce Account Lookup"
  description: "Retrieves a Salesforce account record by ID, returning company details, subscription status, and account manager for Clarivate customer management."
  tags:
    - crm
    - salesforce
    - account-management
    - customer
capability:
  exposes:
    - type: mcp
      namespace: crm-accounts
      port: 8080
      tools:
        - name: get-account
          description: "Retrieve a Salesforce account by ID."
          inputParameters:
            - name: account_id
              in: body
              type: string
              description: "The Salesforce account ID."
          call: "salesforce.get-account"
          with:
            account_id: "{{account_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://clarivate.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/sobjects/Account/{{account_id}}"
          inputParameters:
            - name: account_id
              in: path
          operations:
            - name: get-account
              method: GET

Retrieves Salesforce Marketing Cloud campaign analytics for Clarivate product marketing and customer engagement.

naftiko: "0.5"
info:
  label: "Salesforce Marketing Cloud Campaign Analytics"
  description: "Retrieves Salesforce Marketing Cloud campaign analytics for Clarivate product marketing and customer engagement."
  tags:
    - marketing
    - salesforce-marketing-cloud
    - campaigns
    - customer-engagement
capability:
  exposes:
    - type: mcp
      namespace: marketing-analytics
      port: 8080
      tools:
        - name: get-campaign-analytics
          description: "Retrieve Salesforce Marketing Cloud campaign analytics."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The campaign ID."
          call: "sfmc.get-campaign-stats"
          with:
            campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: sfmc
      baseUri: "https://clarivate.rest.marketingcloudapis.com/interaction/v1"
      authentication:
        type: bearer
        token: "$secrets.sfmc_token"
      resources:
        - name: campaigns
          path: "/interactions/{{campaign_id}}/stats"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign-stats
              method: GET

When a travel expense is submitted in SAP Concur, validates amounts, syncs to Oracle Financials, and notifies the approver via Microsoft Teams.

naftiko: "0.5"
info:
  label: "SAP Concur Expense Processing"
  description: "When a travel expense is submitted in SAP Concur, validates amounts, syncs to Oracle Financials, and notifies the approver via Microsoft Teams."
  tags:
    - finance
    - sap-concur
    - oracle
    - microsoft-teams
    - expense-management
capability:
  exposes:
    - type: mcp
      namespace: expense-processing
      port: 8080
      tools:
        - name: process-expense-report
          description: "Process a SAP Concur expense report through validation, Oracle sync, and notification."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The SAP Concur expense report ID."
          steps:
            - name: get-expense-report
              type: call
              call: "concur.get-report"
              with:
                report_id: "{{report_id}}"
            - name: create-oracle-entry
              type: call
              call: "oracle.create-journal-entry"
              with:
                amount: "{{get-expense-report.total_amount}}"
                currency: "{{get-expense-report.currency}}"
                employee_id: "{{get-expense-report.employee_id}}"
            - name: notify-approver
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-expense-report.approver_email}}"
                text: "Expense Report {{report_id}} for ${{get-expense-report.total_amount}} is pending your approval. Oracle journal: {{create-oracle-entry.journal_id}}."
  consumes:
    - type: http
      namespace: concur
      baseUri: "https://us.api.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: expense-reports
          path: "/expense/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-report
              method: GET
    - type: http
      namespace: oracle
      baseUri: "https://clarivate-erp.oracle.com/fscmRestApi/resources/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: journal-entries
          path: "/journalEntries"
          operations:
            - name: create-journal-entry
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Looks up a SAP purchase order by number and returns header status, vendor, and total value for Clarivate procurement operations.

naftiko: "0.5"
info:
  label: "SAP Purchase Order Status"
  description: "Looks up a SAP purchase order by number and returns header status, vendor, and total value for Clarivate procurement operations."
  tags:
    - procurement
    - erp
    - sap
    - purchase-order
capability:
  exposes:
    - type: mcp
      namespace: erp-procurement
      port: 8080
      tools:
        - name: get-purchase-order
          description: "Look up a SAP purchase order by PO number."
          inputParameters:
            - name: po_number
              in: body
              type: string
              description: "The SAP purchase order number."
          call: "sap.get-po"
          with:
            po_number: "{{po_number}}"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://clarivate-s4.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: purchase-orders
          path: "/A_PurchaseOrder('{{po_number}}')"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-po
              method: GET

Triages security vulnerabilities by scanning with Palo Alto Networks, correlating with ServiceNow assets, and creating remediation tasks in Jira.

naftiko: "0.5"
info:
  label: "Security Vulnerability Triage Pipeline"
  description: "Triages security vulnerabilities by scanning with Palo Alto Networks, correlating with ServiceNow assets, and creating remediation tasks in Jira."
  tags:
    - security
    - palo-alto-networks
    - servicenow
    - jira
capability:
  exposes:
    - type: mcp
      namespace: security-vulnerability-triage
      port: 8080
      tools:
        - name: run-security-vulnerability-triage-pipel
          description: "Triages security vulnerabilities by scanning with Palo Alto Networks, correlating with ServiceNow assets, and creating remediation tasks in Jira."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "paloalto.get-alerts"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://panorama.clarivate.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.paloalto_token"
      resources:
        - name: alerts
          path: "/alerts"
          operations:
            - name: get-alerts
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now/table"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Fetches the current status of a ServiceNow incident for Clarivate IT support.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Status"
  description: "Fetches the current status of a ServiceNow incident for Clarivate IT support."
  tags:
    - it-support
    - servicenow
    - incident-management
capability:
  exposes:
    - type: mcp
      namespace: itsm-incidents
      port: 8080
      tools:
        - name: get-incident-status
          description: "Retrieve a ServiceNow incident by number."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number."
          call: "servicenow.get-incident"
          with:
            number: "{{incident_number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          inputParameters:
            - name: number
              in: query
          operations:
            - name: get-incident
              method: GET

Searches Clarivate SharePoint document libraries for research methodologies, product specs, and governance documents.

naftiko: "0.5"
info:
  label: "SharePoint Research Document Library Search"
  description: "Searches Clarivate SharePoint document libraries for research methodologies, product specs, and governance documents."
  tags:
    - document-management
    - sharepoint
    - research
capability:
  exposes:
    - type: mcp
      namespace: doc-search
      port: 8080
      tools:
        - name: search-sharepoint-docs
          description: "Search SharePoint document libraries."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query."
            - name: site_id
              in: body
              type: string
              description: "The SharePoint site ID."
          call: "sharepoint.search-docs"
          with:
            site_id: "{{site_id}}"
            query: "{{query}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: search
          path: "/sites/{{site_id}}/drive/root/search(q='{{query}}')"
          inputParameters:
            - name: site_id
              in: path
            - name: query
              in: path
          operations:
            - name: search-docs
              method: GET

Reports on SLA compliance by pulling incident data from ServiceNow, computing metrics in Snowflake, and distributing via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "SLA Compliance Reporting Pipeline"
  description: "Reports on SLA compliance by pulling incident data from ServiceNow, computing metrics in Snowflake, and distributing via Microsoft Outlook."
  tags:
    - operations
    - servicenow
    - snowflake
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: sla-compliance-reporting
      port: 8080
      tools:
        - name: run-sla-compliance-reporting-pipeline
          description: "Reports on SLA compliance by pulling incident data from ServiceNow, computing metrics in Snowflake, and distributing via Microsoft Outlook."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "servicenow.create-incident"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "outlook.send-email"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://clarivate.service-now.com/api/now/table"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-email
              method: POST

Executes a Snowflake SQL query against Clarivate's analytics warehouse for bibliometric analysis, patent research, and citation data.

naftiko: "0.5"
info:
  label: "Snowflake Research Data Query"
  description: "Executes a Snowflake SQL query against Clarivate's analytics warehouse for bibliometric analysis, patent research, and citation data."
  tags:
    - data-warehouse
    - snowflake
    - research-analytics
    - bibliometrics
capability:
  exposes:
    - type: mcp
      namespace: research-warehouse
      port: 8080
      tools:
        - name: query-research-data
          description: "Execute a Snowflake analytics query for research data."
          inputParameters:
            - name: sql
              in: body
              type: string
              description: "The SQL query to execute."
          call: "snowflake.execute-statement"
          with:
            statement: "{{sql}}"
            warehouse: "CLARIVATE_RESEARCH_WH"
            database: "CLARIVATE_ANALYTICS"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST

Queries SolarWinds for network performance at Clarivate data centers and office locations.

naftiko: "0.5"
info:
  label: "SolarWinds Network Performance Check"
  description: "Queries SolarWinds for network performance at Clarivate data centers and office locations."
  tags:
    - network-monitoring
    - solarwinds
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: network-monitoring
      port: 8080
      tools:
        - name: get-network-health
          description: "Retrieve SolarWinds network node performance."
          inputParameters:
            - name: node_id
              in: body
              type: string
              description: "The SolarWinds node ID."
          call: "solarwinds.get-node"
          with:
            node_id: "{{node_id}}"
  consumes:
    - type: http
      namespace: solarwinds
      baseUri: "https://clarivate-solarwinds.com:17778/SolarWinds/InformationService/v3/Json"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: nodes
          path: "/Query"
          inputParameters:
            - name: node_id
              in: query
          operations:
            - name: get-node
              method: GET

Triggers a Tableau workbook refresh for Clarivate citation impact analysis dashboards.

naftiko: "0.5"
info:
  label: "Tableau Citation Impact Dashboard"
  description: "Triggers a Tableau workbook refresh for Clarivate citation impact analysis dashboards."
  tags:
    - analytics
    - tableau
    - citation-analysis
    - research
capability:
  exposes:
    - type: mcp
      namespace: analytics-dashboards
      port: 8080
      tools:
        - name: refresh-citation-dashboard
          description: "Trigger a Tableau workbook refresh for citation analysis."
          inputParameters:
            - name: workbook_id
              in: body
              type: string
              description: "The Tableau workbook ID."
          call: "tableau.refresh-workbook"
          with:
            workbook_id: "{{workbook_id}}"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://clarivate.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks/{{workbook_id}}/refresh"
          inputParameters:
            - name: workbook_id
              in: path
            - name: site_id
              in: path
          operations:
            - name: refresh-workbook
              method: POST

Searches Techstreet for industry standards documents by standard number or keyword.

naftiko: "0.5"
info:
  label: "Techstreet Standards Search"
  description: "Searches Techstreet for industry standards documents by standard number or keyword."
  tags:
    - standards
    - techstreet
capability:
  exposes:
    - type: mcp
      namespace: standards-techstreet
      port: 8080
      tools:
        - name: search-standards
          description: "Search Techstreet for industry standards."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query or standard number."
          call: "techstreet.search-standards"
          with:
            query: "{{query}}"
  consumes:
    - type: http
      namespace: techstreet
      baseUri: "https://api.techstreet.com/v1"
      authentication:
        type: bearer
        token: "$secrets.techstreet_token"
      resources:
        - name: standards
          path: "/standards/search"
          operations:
            - name: search-standards
              method: GET

Runs trademark clearance by searching CompuMark for conflicts, checking domain availability via MarkMonitor, and creating a clearance report in Jira.

naftiko: "0.5"
info:
  label: "Trademark Clearance Pipeline"
  description: "Runs trademark clearance by searching CompuMark for conflicts, checking domain availability via MarkMonitor, and creating a clearance report in Jira."
  tags:
    - ip-analytics
    - compumark
    - markmonitor
    - jira
capability:
  exposes:
    - type: mcp
      namespace: trademark-clearance
      port: 8080
      tools:
        - name: run-trademark-clearance-pipeline
          description: "Runs trademark clearance by searching CompuMark for conflicts, checking domain availability via MarkMonitor, and creating a clearance report in Jira."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "compumark.search-marks"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "markmonitor.check-domain"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "jira.create-issue"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: compumark
      baseUri: "https://api.clarivate.com/apis/compumark/v1"
      authentication:
        type: bearer
        token: "$secrets.compumark_api_key"
      resources:
        - name: marks
          path: "/marks/search"
          operations:
            - name: search-marks
              method: GET
    - type: http
      namespace: markmonitor
      baseUri: "https://api.markmonitor.com/v1"
      authentication:
        type: bearer
        token: "$secrets.markmonitor_token"
      resources:
        - name: domains
          path: "/domains"
          operations:
            - name: check-domain
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://clarivate.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Benchmarks university research output by querying InCites for institutional metrics, comparing against peers in Snowflake, and publishing to Tableau.

naftiko: "0.5"
info:
  label: "University Research Benchmarking Pipeline"
  description: "Benchmarks university research output by querying InCites for institutional metrics, comparing against peers in Snowflake, and publishing to Tableau."
  tags:
    - research
    - incites
    - snowflake
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: university-research-benchmarking
      port: 8080
      tools:
        - name: run-university-research-benchmarking-pi
          description: "Benchmarks university research output by querying InCites for institutional metrics, comparing against peers in Snowflake, and publishing to Tableau."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
            - name: scope
              in: body
              type: string
              description: "The processing scope."
          steps:
            - name: fetch-data
              type: call
              call: "incites.compute-metrics"
              with:
                input_id: "{{input_id}}"
            - name: process-data
              type: call
              call: "snowflake.execute-query"
              with:
                data: "{{fetch-data.result}}"
            - name: deliver-results
              type: call
              call: "tableau.refresh-workbook"
              with:
                data: "{{process-data.result}}"
  consumes:
    - type: http
      namespace: incites
      baseUri: "https://api.clarivate.com/apis/incites/v2"
      authentication:
        type: bearer
        token: "$secrets.incites_api_key"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: compute-metrics
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://clarivate.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://clarivate.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/refresh"
          operations:
            - name: refresh-workbook
              method: POST

Retrieves citation metrics and publication details for a given article from the Web of Science API.

naftiko: "0.5"
info:
  label: "Web of Science Citation Lookup"
  description: "Retrieves citation metrics and publication details for a given article from the Web of Science API."
  tags:
    - research
    - web-of-science
capability:
  exposes:
    - type: mcp
      namespace: research-wos
      port: 8080
      tools:
        - name: get-citation-metrics
          description: "Fetch citation count, h-index contribution, and journal impact factor for an article."
          inputParameters:
            - name: doi
              in: body
              type: string
              description: "The article DOI."
          call: "wos.get-article"
          with:
            doi: "{{doi}}"
  consumes:
    - type: http
      namespace: wos
      baseUri: "https://api.clarivate.com/apis/wos-starter/v1"
      authentication:
        type: apiKey
        name: X-ApiKey
        in: header
        value: "$secrets.wos_api_key"
      resources:
        - name: articles
          path: "/documents"
          operations:
            - name: get-article
              method: GET

Retrieves a Workday employee profile by worker ID for Clarivate HR operations.

naftiko: "0.5"
info:
  label: "Workday Employee Profile Lookup"
  description: "Retrieves a Workday employee profile by worker ID for Clarivate HR operations."
  tags:
    - hr
    - workday
    - employee-management
capability:
  exposes:
    - type: mcp
      namespace: hr-employees
      port: 8080
      tools:
        - name: get-employee-profile
          description: "Retrieve a Workday employee profile."
          inputParameters:
            - name: worker_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{worker_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET

Retrieves customer support ticket details from Zendesk including status, priority, and agent assignment.

naftiko: "0.5"
info:
  label: "Zendesk Support Ticket Status"
  description: "Retrieves customer support ticket details from Zendesk including status, priority, and agent assignment."
  tags:
    - customer-support
    - zendesk
capability:
  exposes:
    - type: mcp
      namespace: support-zendesk
      port: 8080
      tools:
        - name: get-ticket-status
          description: "Fetch support ticket details from Zendesk."
          inputParameters:
            - name: ticket_id
              in: body
              type: string
              description: "The Zendesk ticket identifier."
          call: "zendesk.get-ticket"
          with:
            ticket_id: "{{ticket_id}}"
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://clarivate.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets/{{ticket_id}}"
          inputParameters:
            - name: ticket_id
              in: path
          operations:
            - name: get-ticket
              method: GET

Creates Zoom meetings for Clarivate customer demos, internal training, and team collaboration.

naftiko: "0.5"
info:
  label: "Zoom Meeting Scheduler"
  description: "Creates Zoom meetings for Clarivate customer demos, internal training, and team collaboration."
  tags:
    - communications
    - zoom
    - meetings
capability:
  exposes:
    - type: mcp
      namespace: video-meetings
      port: 8080
      tools:
        - name: create-zoom-meeting
          description: "Create a Zoom meeting."
          inputParameters:
            - name: topic
              in: body
              type: string
              description: "The meeting topic."
            - name: start_time
              in: body
              type: string
              description: "Start time in ISO 8601 format."
            - name: duration
              in: body
              type: integer
              description: "Duration in minutes."
          call: "zoom.create-meeting"
          with:
            topic: "{{topic}}"
            start_time: "{{start_time}}"
            duration: "{{duration}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST