arazzo: 1.0.1
info:
title: Workato Curate an MCP Server's Tools
summary: Refine a tool's description on an MCP server, or remove it.
description: >-
Improves the tools an AI agent sees through a Model Context Protocol server.
The workflow lists the server's tools, branches on whether any exist,
updates the first tool's description so agents understand when to use it,
and re-lists the tools to confirm the change. 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: toolsApi
url: ../openapi/workato-tools-api-openapi.yml
type: openapi
workflows:
- workflowId: curate-mcp-server-tool
summary: Update the description of the first tool on an MCP server.
description: >-
Lists an MCP server's tools, branches when at least one exists, updates the
first tool's description, and re-lists the tools to verify.
inputs:
type: object
required:
- handle
- description
properties:
handle:
type: string
description: The handle (slug) of the MCP server whose tool is curated.
description:
type: string
description: The updated tool description explaining when and how to use it.
steps:
- stepId: listTools
description: List the server's tools and select the first one to curate.
operationId: listMcpServerTools
parameters:
- name: mcp_server_handle
in: path
value: $inputs.handle
- name: per_page
in: query
value: 100
successCriteria:
- condition: $statusCode == 200
outputs:
firstToolId: $response.body#/items/0/id
onSuccess:
- name: hasTools
type: goto
stepId: updateTool
criteria:
- context: $response.body
condition: $.items.length > 0
type: jsonpath
- name: noTools
type: end
criteria:
- context: $response.body
condition: $.items.length == 0
type: jsonpath
- stepId: updateTool
description: Update the first tool's description to guide AI agent usage.
operationId: updateMcpServerTool
parameters:
- name: mcp_server_handle
in: path
value: $inputs.handle
- name: id
in: path
value: $steps.listTools.outputs.firstToolId
requestBody:
contentType: application/json
payload:
description: $inputs.description
successCriteria:
- condition: $statusCode == 200
outputs:
updatedToolId: $response.body#/id
- stepId: confirmTools
description: Re-list the server's tools to confirm the description was updated.
operationId: listMcpServerTools
parameters:
- name: mcp_server_handle
in: path
value: $inputs.handle
- name: per_page
in: query
value: 100
successCriteria:
- condition: $statusCode == 200
outputs:
tools: $response.body#/items
outputs:
updatedToolId: $steps.updateTool.outputs.updatedToolId
tools: $steps.confirmTools.outputs.tools
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.