MCP Servers

Use this resource to manage MCP (Model Context Protocol) servers programmatically.

TOKEN AND HASHED TOKEN AUTHENTICATION

hashed_token is the default authentication type for token-based MCP servers. The token authentication type is considered legacy. Existing servers using token continue to work, but new servers use hashed_token. Refer to Create a hashed token for more information on how to manage tokens on hashed_token servers.

Quick reference

TypeResourceDescription
GET/api/mcp/mcp_serversList MCP servers.
POST/api/mcp/mcp_serversCreate an MCP server.
GET/api/mcp/mcp_servers/:handleRetrieve MCP server details.
PUT/api/mcp/mcp_servers/:handleUpdate an MCP server.
DELETE/api/mcp/mcp_servers/:handleDelete an MCP server.
POST/api/mcp/mcp_servers/:handle/token_renewRenew MCP server authentication token.
POST/api/mcp/mcp_servers/:mcp_server_handle/tokensCreate a hashed token.
DELETE/api/mcp/mcp_servers/:mcp_server_handle/tokens/:idDelete a hashed token.
POST/api/mcp/mcp_servers/:mcp_server_handle/tokens/:id/refreshRefresh a hashed token.
POST/api/mcp/mcp_servers/:handle/assign_toolsAssign tools to an MCP server.
POST/api/mcp/mcp_servers/:handle/assign_user_groupsAssign user groups to an MCP server.
POST/api/mcp/mcp_servers/:handle/remove_user_groupsRemove user groups from an MCP server.
PUT/api/mcp/mcp_servers/:handle/update_folderMove an MCP server to a different folder.
GET/api/mcp/mcp_servers/:mcp_server_handle/server_policiesRetrieve the server policy configuration.
PUT/api/mcp/mcp_servers/:mcp_server_handle/server_policiesUpdate the server policy configuration.
GET/api/mcp/mcp_servers/:mcp_server_handle/toolsList tools for an MCP server.
PUT/api/mcp/mcp_servers/:mcp_server_handle/tools/:idUpdate the tool description for an MCP.
DELETE/api/mcp/mcp_servers/:mcp_server_handle/tools/:idDelete a tool.
GET/api/mcp/user_groupsList identity provider user groups.

List MCP servers

Returns a list of MCP servers in the workspace.

GET https://YOUR_DATA_CENTER/api/mcp/mcp_servers

Query parameters

NameTypeDescription
project_idnumber
optional
Filter by project ID.
folder_idnumber
optional
Filter by folder ID.
authentication_methodstring
optional
Filter by authentication method. Accepted values: hashed_token, token (legacy), workato_idp.
pagenumber
optional
Page number. Defaults to 1.
per_pagenumber
optional
Number of items per page. Maximum is 50.

Sample request

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers?folder_id=:folder_id_value' \
      -H 'Authorization: Bearer <api_token>'

Sample response

json
{
    "data": [
        {
            "id": 1001,
            "name": "Sales Tools MCP Server",
            "description": "Provides CRM and deal management tools for AI clients",
            "folder_id": 27180380,
            "project_id": 13595198,
            "authentication_method": "hashed_token",
            "tools_count": 5
        },
        {
            "id": 1002,
            "name": "HR Automation Server",
            "description": "HR onboarding and employee management tools",
            "folder_id": 27180380,
            "project_id": 13595198,
            "authentication_method": "workato_idp",
            "tools_count": 3
        }
    ],
    "count": 2,
    "page": 1,
    "per_page": 50
}

Create an MCP server

Creates a new MCP server in the workspace.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers

Payload

NameTypeDescription
namestring
required
Server name.
folder_idnumber
required
Folder ID for the MCP server.
descriptionstring
optional
Server description.
asset_idnumber
optional
API collection ID. Omit to create a project asset server.
toolsarray of objects
optional
Tools to assign to the server at creation. Each object requires trigger_application (string) and id (string). id is a number when used with workato_recipe_function and workato_api_platform tools. id is a string handle when used with workato_genie tools.

HASHED TOKEN AS DEFAULT AUTH TYPE

MCP servers use hashed_token as the default auth_type unless you specify a different authentication type. Use the MCP hashed tokens endpoints to manage tokens on a hashed_token server.

Sample request

shell
curl  -X POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "name": ":name",
            "description": ":description",
            "folder_id": :folder_id_value,
            "tools": [
              {
                "trigger_application": ":trigger_application",
                "id": ":tool_id"
              }
            ]
          }'

Sample response

json
{
    "data": {
        "id": 1001,
        "name": "Sales Tools MCP Server",
        "description": "Provides CRM and deal management tools for AI clients",
        "asset_type": "api_collection",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 1,
        "mcp_url": "https://www.workato.com/mcp/servers/sales-tools-mcp-server?token=abc123xyz",
        "auth_type": "hashed_token",
        "idp_user_group_ids": [],
        "api_collection": null,
        "created_at": "2025-10-15T13:41:05.207-07:00",
        "updated_at": "2025-10-15T13:41:05.207-07:00"
    }
}

Get MCP server details

Retrieves details for a specific MCP server.

GET https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Sample request

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle' \
      -H 'Authorization: Bearer <api_token>'

Sample response

json
{
    "data": {
        "id": 1001,
        "name": "Sales Tools MCP Server",
        "description": "Provides CRM and deal management tools for AI clients",
        "asset_type": "api_collection",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 5,
        "mcp_url": "https://www.workato.com/mcp/servers/sales-tools-mcp-server?token=abc123xyz",
        "auth_type": "hashed_token",
        "idp_user_group_ids": [],
        "api_collection": null,
        "created_at": "2025-10-15T13:41:05.207-07:00",
        "updated_at": "2025-10-16T09:22:11.100-07:00"
    }
}

Update an MCP server

Updates an existing MCP server.

PUT https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Payload

NameTypeDescription
namestring
optional
Server name.
descriptionstring
optional
Server description.
auth_typestring
optional
Authentication type. Accepted values: hashed_token (default), token (legacy), workato_idp.
idp_user_group_idsarray of strings
optional
Identity provider user group IDs that have access to the server. Only applicable when auth_type is workato_idp.
folder_idnumber
optional
Target folder ID to move the server.

LEGACY AUTH TYPE

Workato retains the token auth_type for backward compatibility. New servers should use hashed_token. Create token profiles with the MCP hashed tokens endpoints to switch an existing server's auth_type to hashed_token. hashed_token servers use individually named, revocable token profiles instead of a single server-level token.

Sample request

shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "name": ":name",
            "description": ":description",
            "auth_type": ":auth_type"
          }'

Sample response

json
{
    "data": {
        "id": 1001,
        "name": "Sales & CRM Tools MCP Server",
        "description": "Provides CRM, deal management, and pipeline tools for AI clients",
        "asset_type": "api_collection",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 5,
        "mcp_url": "https://www.workato.com/mcp/servers/sales-tools-mcp-server?token=abc123xyz",
        "auth_type": "hashed_token",
        "idp_user_group_ids": [],
        "api_collection": null,
        "created_at": "2025-10-15T13:41:05.207-07:00",
        "updated_at": "2025-10-17T11:05:33.812-07:00"
    }
}

Delete an MCP server

Deletes an MCP server.

DELETE https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Sample request

shell
curl  -X DELETE 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle' \
      -H 'Authorization: Bearer <api_token>'

Sample response

Returns 204 No Content on success.

Renew MCP server authentication token

Generates a new authentication token for an MCP server and invalidates the previous token. Use this endpoint to rotate credentials after a security event or as part of a regular credential rotation policy.

LEGACY ENDPOINT

This endpoint applies to servers using the legacy token auth type, which carry a single server-level token. Use Refresh a hashed token for hashed_token servers, which operates on an individual, named token profile.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/token_renew

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/token_renew' \
      -H 'Authorization: Bearer <api_token>'

Sample response

Returns the updated MCP server object with the new mcp_url containing the refreshed token.

json
{
    "data": {
        "id": 1001,
        "name": "Sales & CRM Tools MCP Server",
        "description": "Provides CRM, deal management, and pipeline tools for AI clients",
        "asset_type": "api_collection",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 5,
        "mcp_url": "https://www.workato.com/mcp/servers/sales-tools-mcp-server?token=newtoken789",
        "auth_type": "token",
        "idp_user_group_ids": [],
        "api_collection": null,
        "created_at": "2025-10-15T13:41:05.207-07:00",
        "updated_at": "2025-10-18T08:00:00.000-07:00"
    }
}

MCP hashed tokens

MCP hashed token endpoints manage individual, named token profiles for MCP servers with hashed_token as the auth_type. This is an update from the the legacy token auth type in which a single server-level token is managed through token renewal. hashed_token supports up to 50 named, independently revocable token profiles per server.

Create a hashed token

Creates a token profile for a server with hashed_token as the auth_type.

MCP servers support a maximum of 50 active hashed tokens.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.

Payload

NameTypeDescription
namestring
required
Token profile name. Must be non-blank, no longer than 100 characters, and case-insensitively unique among the server's active tokens.

Additional constraints

This endpoint is only available for hashed_token servers. Calling this endpoint on a token or workato_idp server returns an error.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "name": ":name"
          }'

Sample response

Returns 201 Created with the token profile at the response root rather than nested under data.

json
{
    "id": 731,
    "name": "Production token",
    "auth_type": "hashed_token",
    "created_at": "2026-07-10T10:00:00.000Z",
    "created_by": {
        "id": 42,
        "full_name": "Example User"
    },
    "token_first_symbols": "abc",
    "token_last_symbols": "wxyz",
    "plain_token": "<plain_token>"
}

PLAIN TOKEN IS SHOWN ONCE

plain_token is returned only at creation and can't be retrieved later. Store the token securely. You can use the refresh the token endpoint to generate a new token if needed.

Delete a hashed token

Deleting a hashed token doesn't remove it from the database. The hashed token profile is marked as inactive. The token immediately stops working and can no longer authenticate MCP requests.

DELETE https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens/:id

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.
idnumber
required
Token profile ID.

Sample request

shell
curl  -X DELETE 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens/:id' \
      -H 'Authorization: Bearer <api_token>'

Sample response

Returns 200 OK with an empty response body.

This endpoint is available only for hashed_token servers. Deleted profiles no longer appear in the server's mcp_profiles array.

Refresh a hashed token

Invalidates the current token value for a profile and returns a fresh plain token.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens/:id/refresh

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.
idnumber
required
Active token profile ID.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tokens/:id/refresh' \
      -H 'Authorization: Bearer <api_token>'

Sample response

Returns 200 OK. The response has the same root-level shape as token creation and contains the plain_token, token_first_symbols, and token_last_symbols.

json
{
    "id": 731,
    "name": "Production token",
    "auth_type": "hashed_token",
    "created_at": "2026-07-10T10:00:00.000Z",
    "created_by": {
        "id": 42,
        "full_name": "Example User"
    },
    "token_first_symbols": "def",
    "token_last_symbols": "uvwx",
    "plain_token": "<new_plain_token>"
}

This endpoint is available only for hashed_token servers. The returned plain_token is exposed only in this response. Store the token securely as you can't retrieve it later.

Assign tools to an MCP server

Assigns one or more tools to an MCP server. Tools already assigned to the server aren't duplicated.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/assign_tools

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Payload

NameTypeDescription
toolsarray of objects
required
Tools to assign. Each object requires trigger_application (string) and id (string).

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/assign_tools' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "tools": [
              {
                "trigger_application": ":trigger_application_1",
                "id": ":tool_id_1"
              },
              {
                "trigger_application": ":trigger_application_2",
                "id": ":tool_id_2"
              }
            ]
          }'

Sample response

Returns the updated MCP server object.

json
{
    "data": {
        "id": 1001,
        "name": "Sales & CRM Tools MCP Server",
        "description": "Provides CRM, deal management, and pipeline tools for AI clients",
        "asset_type": "api_collection",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 7,
        "mcp_url": "https://www.workato.com/mcp/servers/sales-tools-mcp-server?token=newtoken789",
        "auth_type": "hashed_token",
        "idp_user_group_ids": [],
        "api_collection": null,
        "created_at": "2025-10-15T13:41:05.207-07:00",
        "updated_at": "2025-10-18T09:15:22.000-07:00"
    }
}

Assign user groups to an MCP server

Assigns identity provider user groups to an MCP server. Only applicable when the server's auth_type is workato_idp.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/assign_user_groups

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Payload

NameTypeDescription
idp_user_group_idsarray of strings
required
IDs of the user groups to add.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/assign_user_groups' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "idp_user_group_ids": [":user_group_id_1", ":user_group_id_2"]
          }'

Sample response

Returns the updated MCP server object with the assigned user group IDs reflected in idp_user_group_ids.

json
{
    "data": {
        "id": 1002,
        "name": "HR Automation Server",
        "description": "HR onboarding and employee management tools",
        "asset_type": "project_asset",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 3,
        "mcp_url": "https://www.workato.com/mcp/servers/hr-automation-server?token=hrtoken456",
        "auth_type": "workato_idp",
        "idp_user_group_ids": ["group-abc123", "group-def456"],
        "api_collection": null,
        "created_at": "2025-10-15T10:00:00.000-07:00",
        "updated_at": "2025-10-18T10:30:00.000-07:00"
    }
}

Remove user groups from an MCP server

Removes identity provider user groups from an MCP server.

POST https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/remove_user_groups

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Payload

NameTypeDescription
idp_user_group_idsarray of strings
required
IDs of the user groups to remove.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/remove_user_groups' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "idp_user_group_ids": [":user_group_id"]
          }'

Sample response

Returns the updated MCP server object with the specified groups removed from idp_user_group_ids.

json
{
    "data": {
        "id": 1002,
        "name": "HR Automation Server",
        "description": "HR onboarding and employee management tools",
        "asset_type": "project_asset",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 3,
        "mcp_url": "https://www.workato.com/mcp/servers/hr-automation-server?token=hrtoken456",
        "auth_type": "workato_idp",
        "idp_user_group_ids": ["group-def456"],
        "api_collection": null,
        "created_at": "2025-10-15T10:00:00.000-07:00",
        "updated_at": "2025-10-18T11:00:00.000-07:00"
    }
}

Move MCP server to a different folder

Moves an MCP server to a specified folder.

PUT https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/update_folder

URL parameters

NameTypeDescription
handlestring
required
MCP server handle.

Payload

NameTypeDescription
folder_idnumber
required
Target folder ID.

Sample request

shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:handle/update_folder' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "folder_id": :folder_id_value
          }'

Sample response

Returns the updated MCP server object with the new folder_id reflected in created_at and updated_at timestamps.

json
{
    "data": {
        "id": 1002,
        "name": "HR Automation Server",
        "description": "HR onboarding and employee management tools",
        "asset_type": "project_asset",
        "logo_url": "https://www.workato.com/images/mcp-server-logo.png",
        "tools_count": 3,
        "mcp_url": "https://www.workato.com/mcp/servers/hr-automation-server?token=hrtoken456",
        "auth_type": "workato_idp",
        "idp_user_group_ids": ["group-def456"],
        "api_collection": null,
        "created_at": "2025-10-15T10:00:00.000-07:00",
        "updated_at": "2025-10-18T12:00:00.000-07:00"
    }
}

Get server policy configuration

Retrieves the security policy configuration for an MCP server, including rate limits, quota limits, Classless Inter-Domain Routing (CIDR), and IP addresses.

GET https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/server_policies

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.

Sample request

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/server_policies' \
      -H 'Authorization: Bearer <api_token>'

Sample response

json
{
    "id": 501,
    "mcp_server_id": 1001,
    "rate_limits": {
        "per_minute": 60
    },
    "quota_limits": {
        "per_day": 10000
    },
    "ip_allow_list": ["203.0.113.0/24"],
    "ip_deny_list": [],
    "created_at": "2025-10-15T13:41:05.207-07:00",
    "updated_at": "2025-10-16T09:22:11.100-07:00"
}

Update server policy configuration

Updates the security policy configuration, including IP for an MCP server.

PUT https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/server_policies

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.

Payload

NameTypeDescription
mcp_server_policyobject
required
Policy configuration object.
mcp_server_policy[rate_limits]object
optional
Rate limit configurations.
mcp_server_policy[quota_limits]object
optional
Quota limit configurations.
mcp_server_policy[ip_allow_list]array of strings
optional
IP addresses or CIDR ranges to allow.
mcp_server_policy[ip_deny_list]array of strings
optional
IP addresses or CIDR ranges to deny.

Sample request

shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/server_policies' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "mcp_server_policy": {
              "rate_limits": { "per_minute": :per_minute_value },
              "quota_limits": { "per_day": :per_day_value },
              "ip_allow_list": [":ip_allow_1", ":ip_allow_2"],
              "ip_deny_list": []
            }
          }'

Sample response

json
{
    "id": 501,
    "mcp_server_id": 1001,
    "rate_limits": {
        "per_minute": 30
    },
    "quota_limits": {
        "per_day": 5000
    },
    "ip_allow_list": ["203.0.113.0/24", "198.51.100.42"],
    "ip_deny_list": [],
    "created_at": "2025-10-15T13:41:05.207-07:00",
    "updated_at": "2025-10-18T14:00:00.000-07:00"
}

List tools for an MCP server

Returns a paginated list of tools assigned to an MCP server.

GET https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.

Query parameters

NameTypeDescription
vua_requiredboolean
optional
Filter by whether Verified User Access (VUA) is required.
searchstring
optional
Search term to filter tools by name.
pagenumber
optional
Page number. Defaults to 1.
per_pagenumber
optional
Number of items per page. Defaults to 100. Maximum is 100.

Sample request

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools' \
      -H 'Authorization: Bearer <api_token>'

Sample response

json
{
    "data": [
        {
            "id": 3001,
            "name": "Create Salesforce Lead",
            "description": "Creates a new lead record in Salesforce CRM",
            "trigger_application": "workato_api_platform",
            "action_applications": ["salesforce"],
            "flow_id": 66870001,
            "vua_required": false
        },
        {
            "id": 3002,
            "name": "Send Deal Notification",
            "description": "Sends a Slack notification when a deal stage changes",
            "trigger_application": "workato_recipe_function",
            "action_applications": ["slack"],
            "flow_id": 66870002,
            "vua_required": true
        }
    ],
    "count": 2,
    "page": 1,
    "per_page": 100
}

Update tool description

Updates the description of a tool within an MCP server. This modifies the description shown to AI clients without affecting the underlying recipe or API endpoint.

PUT https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools/:id

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.
idnumber
required
Tool ID.

Payload

NameTypeDescription
descriptionstring
optional
New description for the tool.

Sample request

shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools/:id' \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "description": ":description"
          }'

Sample response

json
{
    "id": 3001,
    "name": "Create Salesforce Lead",
    "description": "Creates a new lead record in Salesforce CRM with name, email, and company details",
    "trigger_application": "workato_api_platform",
    "action_applications": ["salesforce"],
    "flow_id": 66870001,
    "vua_required": false
}

Delete a tool

Removes a tool from an MCP server.

API ENDPOINTS CAN'T BE DELETED

Only tools backed by recipe functions or genies can be deleted. Attempting to delete an API endpoint tool returns a 400 Bad Request error.

DELETE https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools/:id

URL parameters

NameTypeDescription
mcp_server_handlestring
required
MCP server handle.
idnumber
required
Tool ID.

Sample request

shell
curl  -X DELETE 'https://YOUR_DATA_CENTER/api/mcp/mcp_servers/:mcp_server_handle/tools/:id' \
      -H 'Authorization: Bearer <api_token>'

Sample response

Returns 204 No Content on success.

List identity provider user groups

Returns a paginated list of identity provider user groups available in the workspace. Use the group IDs from this response when assigning access to MCP servers that use workato_idp authentication.

GET https://YOUR_DATA_CENTER/api/mcp/user_groups

Query parameters

NameTypeDescription
pagenumber
optional
Page number. Defaults to 1.
per_pagenumber
optional
Number of items per page. Defaults to 100. Maximum is 100.

Sample request

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/mcp/user_groups' \
      -H 'Authorization: Bearer <api_token>'

Sample response

json
{
    "data": [
        {
            "id": "group-abc123",
            "name": "Sales Team",
            "users_count": 24,
            "created_at": "2025-01-10T08:00:00.000Z",
            "updated_at": "2025-09-15T12:30:00.000Z"
        },
        {
            "id": "group-def456",
            "name": "HR Admins",
            "users_count": 6,
            "created_at": "2025-01-10T08:00:00.000Z",
            "updated_at": "2025-08-20T10:00:00.000Z"
        }
    ],
    "count": 2,
    "page": 1,
    "per_page": 100
}

Last updated: