Workato · Arazzo Workflow

Workato Secure MCP Server Access

Version 1.0.0

Apply security policies and grant a user group access to an MCP server.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub AgenticAPI ManagementAutomationB2BEmbedded iPaaSEnterpriseIntegrationiPaaSOrchestrationWorkflowsArazzoWorkflows

Provider

workato

Workflows

secure-mcp-server-access
Set policies and assign a user group to an MCP server.
Confirms an MCP server, finds a user group, applies security policies, and assigns the group to the server.
4 steps inputs: handle, ipAllowlist, requestsPerMinute outputs: appliedRateLimit, serverName, userGroups
1
getServer
Confirm the MCP server exists before changing its policies.
2
findUserGroup
List available user groups and select the first one to grant access.
3
updatePolicies
Apply rate-limit and IP-allowlist security policies to the server.
4
grantAccess
Grant the selected user group access to the MCP server.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Workato Secure MCP Server Access
  summary: Apply security policies and grant a user group access to an MCP server.
  description: >-
    Locks down a Model Context Protocol server. The workflow confirms the MCP
    server exists, looks up an available identity provider user group, updates
    the server's security policies with rate limits and IP controls, and grants
    the user group access. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: mcpServersApi
  url: ../openapi/workato-mcp-servers-api-openapi.yml
  type: openapi
- name: policiesApi
  url: ../openapi/workato-policies-api-openapi.yml
  type: openapi
- name: userGroupsApi
  url: ../openapi/workato-user-groups-api-openapi.yml
  type: openapi
workflows:
- workflowId: secure-mcp-server-access
  summary: Set policies and assign a user group to an MCP server.
  description: >-
    Confirms an MCP server, finds a user group, applies security policies, and
    assigns the group to the server.
  inputs:
    type: object
    required:
    - handle
    - requestsPerMinute
    properties:
      handle:
        type: string
        description: The handle (slug) of the MCP server to secure.
      requestsPerMinute:
        type: integer
        description: Maximum number of requests allowed per minute.
      ipAllowlist:
        type: array
        description: List of IP addresses or CIDR ranges allowed to access the server.
        items:
          type: string
  steps:
  - stepId: getServer
    description: Confirm the MCP server exists before changing its policies.
    operationId: getMcpServer
    parameters:
    - name: handle
      in: path
      value: $inputs.handle
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      serverName: $response.body#/name
  - stepId: findUserGroup
    description: List available user groups and select the first one to grant access.
    operationId: listMcpUserGroups
    parameters:
    - name: per_page
      in: query
      value: 100
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.items.length > 0
      type: jsonpath
    outputs:
      userGroupId: $response.body#/items/0/id
  - stepId: updatePolicies
    description: Apply rate-limit and IP-allowlist security policies to the server.
    operationId: updateMcpServerPolicies
    parameters:
    - name: mcp_server_handle
      in: path
      value: $inputs.handle
    requestBody:
      contentType: application/json
      payload:
        rate_limit:
          requests_per_minute: $inputs.requestsPerMinute
        ip_allowlist: $inputs.ipAllowlist
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appliedRateLimit: $response.body#/rate_limit
  - stepId: grantAccess
    description: Grant the selected user group access to the MCP server.
    operationId: assignUserGroupsToMcpServer
    parameters:
    - name: handle
      in: path
      value: $inputs.handle
    requestBody:
      contentType: application/json
      payload:
        user_group_ids:
        - $steps.findUserGroup.outputs.userGroupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userGroups: $response.body#/items
  outputs:
    serverName: $steps.getServer.outputs.serverName
    appliedRateLimit: $steps.updatePolicies.outputs.appliedRateLimit
    userGroups: $steps.grantAccess.outputs.userGroups

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/workato-secure-mcp-server-access-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.