Create a tool from an Action
Create a tool from an Action to expose it to Model Context Protocol (MCP) clients from an MCP Server.
Before you begin
Perform these steps before creating a tool from an Action:
-
Create an Action in Workflow Studio using supported input and output data types. See Create an action in Workflow Studio to learn more.
Note: Only synchronous actions are supported. Actions with wait steps, asynchronous execution, or human intervention steps can't be used as tools.
-
Establish the requisite AI Access Control List (ACL) to facilitate external invocation of the component. See Create an AI ACL for a Subflow or Action to learn more.
-
Confirm the compatibility status in the staging table. See Check the compatibility of a Subflow or Action to learn more.
Role required: sn_mcp_server.tools_admin, sn_mcp_server.admin, or admin
Procedure
-
Select Action from these categories.
[Omitted image "mcp-create-tool-moveworks.png"] Alt text: Tool creation
-
On the form, fill in the fields.
[Omitted image "mcp-server-create-tool-action.png"] Alt text: Create tool from Action
Note: The category is auto-populated if selected in the last modal.
|
Field |
Description |
|---|---|
|
Action |
Select an Action type from the list. |
|
Label |
An internal name for the tool. |
|
MCP app |
An active MCP app linked to this action. |
|
Description |
The description of what the tool intends to do. This input is exposed to AI clients and used to determine when to call this tool. Note: Admins must add specific and action-oriented description as the AI clients access it to decide when to invoke the tool. |
|
Annotations |
Indication of the tool's behavior with MCP clients, including whether it only reads data, is idempotent, makes destructive changes or updates, or can call external links. You can also specifically combine these annotations as needed. The MCP client will use the selected annotations to categorise tools according to their behavior. |
|
Required roles |
The MCP Tools admin selects one or more roles from the User Role [sys_user_role] table to specify which roles can access and use the tool. |
|
MCP Servers |
One or more servers you want to add your tool to. |
In the Tool inputs section, the fields associated with the capability are added.
-
Turn off inputs from the tool that you don't want to expose.
-
In the Tool inputs section, locate the tool input.
-
From the Enabled column, select the toggle to turn off the input.
Note: Some tool inputs are required and can't be turned off.
-
-
Select Create.
What to do next
Invoke the tool via Claude or an alternative MCP client and verify that it functions as intended with the tool you registered. Launch MCP client to test end-to-end execution. For more information, see Connecting to an MCP server from an MCP client.
Parent Topic:Creating tools for a Model Context Protocol server
---
title: Create a tool from an Action
description: Create a tool from an Action to expose it to Model Context Protocol \(MCP\) clients from an MCP Server.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/intelligent-experiences/create-action-tool.html
release: australia
topic_type: task
last_updated: "2026-07-29"
reading_time_minutes: 2
keywords: [Create subflow tool type for MCP server]
breadcrumb: [Creating tools, Configure, MCP Server Console, Extending AI with external systems and providers, Enable AI Experiences]
---
# Create a tool from an Action
Create a tool from an Action to expose it to Model Context Protocol \(MCP\) clients from an MCP Server.
## Before you begin
Perform these steps before creating a tool from an Action:
1. Create an Action in Workflow Studio using supported input and output data types. See [Create an action in Workflow Studio](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/build-workflows/create-action.md) to learn more.
**Note:** Only synchronous actions are supported. Actions with wait steps, asynchronous execution, or human intervention steps can't be used as tools.
2. Establish the requisite AI Access Control List \(ACL\) to facilitate external invocation of the component. See [Create an AI ACL for a Subflow or Action](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/intelligent-experiences/create-ai-acl.md) to learn more.
3. Confirm the compatibility status in the staging table. See [Check the compatibility of a Subflow or Action](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/intelligent-experiences/check-compatibility-of-subflow.md) to learn more.
Role required: sn\_mcp\_server.tools\_admin, sn\_mcp\_server.admin, or admin
## Procedure
1. Select Action from these categories.
\[Omitted image "mcp-create-tool-moveworks.png"\] Alt text: Tool creation
2. On the form, fill in the fields.
\[Omitted image "mcp-server-create-tool-action.png"\] Alt text: Create tool from Action
**Note:** The **category** is auto-populated if selected in the last modal.
<table id="table_l2y_lhm_hgc"><thead><tr><th>
Field
</th><th>
Description
</th></tr></thead><tbody><tr><td>
Action
</td><td>
Select an Action type from the list.
</td></tr><tr><td>
Label
</td><td>
An internal name for the tool.
</td></tr><tr><td>
MCP app
</td><td>
An active MCP app linked to this action.
</td></tr><tr><td>
Description
</td><td>
The description of what the tool intends to do. This input is exposed to AI clients and used to determine when to call this tool.
**Note:** Admins must add specific and action-oriented description as the AI clients access it to decide when to invoke the tool.
</td></tr><tr><td>
Annotations
</td><td>
Indication of the tool's behavior with MCP clients, including whether it only reads data, is idempotent, makes destructive changes or updates, or can call external links. You can also specifically combine these annotations as needed.
The MCP client will use the selected annotations to categorise tools according to their behavior.
</td></tr><tr><td>
Required roles
</td><td>
The MCP Tools admin selects one or more roles from the User Role \[sys\_user\_role\] table to specify which roles can access and use the tool.
</td></tr><tr><td>
MCP Servers
</td><td>
One or more servers you want to add your tool to.
</td></tr></tbody>
</table> **Note:** A tool can be used by multiple servers so any changes that you make to a tool apply to all servers that use the tool. Before editing a tool, review which servers it's associated with to determine the impact for every server.
In the Tool inputs section, the fields associated with the capability are added.
3. Turn off inputs from the tool that you don't want to expose.
1. In the Tool inputs section, locate the tool input.
2. From the Enabled column, select the toggle to turn off the input.
**Note:** Some tool inputs are required and can't be turned off.
4. Select **Create**.
## What to do next
Invoke the tool via Claude or an alternative MCP client and verify that it functions as intended with the tool you registered. Launch MCP client to test end-to-end execution. For more information, see [Connecting to an MCP server from an MCP client](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/intelligent-experiences/connect-mcp-server-client.md).
**Parent Topic:**[Creating tools for a Model Context Protocol server](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/intelligent-experiences/creating-tools-mcp-server.md)
| title | Create a tool from an Action |
| description | Create a tool from an Action to expose it to Model Context Protocol \(MCP\) clients from an MCP Server. |
| locale | en-US |
| canonical_url | https://www.servicenow.com/docs/r/australia/intelligent-experiences/create-action-tool.html |
| release | australia |
| topic_type | task |
| last_updated | 2026-07-29 |
| reading_time_minutes | 2 |
| keywords | Create subflow tool type for MCP server |
| breadcrumb | Creating toolsConfigureMCP Server ConsoleExtending AI with external systems and providersEnable AI Experiences |