Set Up a ServiceNow MCP Server with Subflows and Actions
MCP Workspace is available to a limited set of customers. Moveworks is validating the experience and gathering feedback, so capabilities and limits may change. To request access, register your interest.
ServiceNow’s MCP Server Console lets you turn existing Subflows and Actions into MCP tools and expose them from an MCP server on your instance. Once that server is connected to MCP Workspace, the assistant can call those tools on behalf of your employees.
This is a good fit when you already have deterministic workflow logic in ServiceNow and want employees to use it from the assistant without rebuilding it in Agent Studio.
This guide walks through the full setup end to end:
- Prepare a Subflow or Action so ServiceNow allows it to be called by AI.
- Create tools and an MCP server in ServiceNow’s MCP Server Console.
- Create an OAuth inbound integration so Moveworks can authenticate.
- Connect the server in Moveworks MCP Workspace, test, and launch.
ServiceNow updates MCP Server Console regularly, so each ServiceNow step below links to the matching ServiceNow page. If what you see on your instance differs from this guide, follow ServiceNow’s docs. Start with Creating tools for a Model Context Protocol server for an overview.
Before You Start
Prerequisites
ServiceNow
- An instance on a release that includes MCP Server Console. We recommend Australia Patch 3 or later, with MCP Server Console.
- Integration Hub, if your Subflows or Actions use spoke actions.
- A user who can elevate to security_admin (to create ACLs) and who holds sn_mcp_server.admin or admin (to create tools and servers), plus oauth_admin, mi_admin, or admin (to create the OAuth integration).
Moveworks
- MCP Workspace enabled for your organization.
- Agent Studio admin access.
Choose Which Subflows and Actions to Expose
Not every Subflow or Action can become an MCP tool. Start with a small set that meets all of these:
- Synchronous. Subflows and Actions with wait steps, asynchronous execution, or human intervention steps (such as approvals) can’t be used as tools. See the prerequisites in ServiceNow’s Create a tool from a Subflow and Create a tool from an Action.
- Fast. Moveworks tool calls time out after about 60 seconds. Avoid long-running logic.
- Supported input and output types. To see the list of supported input types, open
sys_properties.listand search forsn_fd_genai.mcp_tools.compatibility.inputs. See ServiceNow’s Check the compatibility of a Subflow or Action. - Net-new for the assistant. Avoid exposing tools that duplicate something the assistant can already do (for example, an existing ServiceNow plugin). Overlap makes tool selection less predictable. See Configure and Test MCP Workspace.
Step 1: Prepare the Subflow or Action in ServiceNow
Every Subflow or Action must pass three checks before MCP Server Console lets you add it as a tool: security, data types, and execution behavior.
Create an AI ACL for a Subflow or Action and Check the compatibility of a Subflow or Action
Publish the Subflow or Action
- In ServiceNow, open Workflow Studio.
- Open the Subflow or Action you want to expose.
- Select Test and confirm it returns the expected outputs.
- Select Publish. Publishing triggers ServiceNow’s compatibility check, and you need the published internal name to create the ACL in the next step.
Create an AI ACL
ServiceNow uses a deny-by-default model for AI access. Each Subflow or Action needs an AI ACL with the Invoked from AI operation. A standard record ACL won’t work. Follow ServiceNow’s Create an AI ACL for a Subflow or Action for the current field values; the summary below reflects that page at the time of writing.
- Elevate your role to security_admin from the profile menu.
- Make sure your application scope matches the scope of the Subflow or Action.
- Open the Subflow or Action in Workflow Studio and select Manage Security in the upper right. You can also go to All > Access Control (ACL).
- Select New and fill in the fields below.
- Select Submit.
With per-user OAuth, tools run as the signed-in employee. The ACL role you choose decides who can call the tool. If you require an admin-only role, regular employees will get empty results or errors.
For how tool calls are authorized for human users versus autonomous agents, see the access control section of ServiceNow’s Creating tools for a Model Context Protocol server.
Check Compatibility
After you publish and add the ACL, ServiceNow evaluates the Subflow or Action and records the result in a compatibility staging table. Follow the steps in ServiceNow’s Check the compatibility of a Subflow or Action to find your component. All three columns must be true:
security_compatibledata_compatibleexecution_compatible
ServiceNow checks security first. If security_compatible is false, the other two columns show N/A. Fix the ACL, then republish so the component is re-evaluated.
Step 2: Create Tools and an MCP Server in ServiceNow
Create the MCP Server
- Go to Admin > MCP Server Console.
- On the Configuration tab, select Servers, then select Create server.
- Fill in the fields below. For the full field list, see ServiceNow’s Create a Model Context Protocol server.
Add Tools from Your Subflows and Actions
- In the Tools section of the server form, select Add tools.
- Select Create tool, then choose Subflow or Action.
- Fill in the tool fields below. ServiceNow documents these fields in Create a tool from a Subflow and Create a tool from an Action.
- Optional: In the Tool inputs section, turn off any inputs you don’t want the assistant to set. Some required inputs can’t be turned off.
- Select Create.
- Repeat for each Subflow or Action, then select the tools and select Add.
- Back on the server form, select Create to activate the server.
- Copy the Server URL. It looks like
https://<instance>.service-now.com/sncapps/mcp-server/mcp/<server-name>. You’ll need it in Step 4.
- ❌ “Supplier risk subflow”
- ✅ “Checks whether a supplier passes the company’s risk compliance policy using its DUNS number. Returns pass or fail and the risk score. Use when someone asks if a supplier can be onboarded.”
Editing a tool’s name, description, or inputs changes it on every server that uses it. See Creating tools for a Model Context Protocol server.
Step 3: Create an OAuth Inbound Integration in ServiceNow
Moveworks connects to your ServiceNow MCP server with OAuth 2.0 Authorization Code. Each employee signs in with their own ServiceNow account, so their existing permissions apply.
- In MCP Server Console, select Set up OAuth in the banner. You can also go to All > Machine Identity Console and open the Inbound integrations tab.
- Select New integration, then choose OAuth - Authorization code grant.
- Fill in the fields below.
- Select Save. If prompted to assign an auth scope, select Skip for now.
- Copy the Client ID and Client Secret and store them securely.
ServiceNow MCP servers reject opaque tokens. This is the most common cause of authentication errors.
Also, don’t reuse integrations that share a server’s name (with underscores). ServiceNow creates those for AI Control Tower monitoring. Both requirements come from ServiceNow’s Create an OAuth inbound integration for an MCP client.
Step 4: Connect the Server in Moveworks
Create an HTTP Connector
- In Agent Studio, open Connectors and select Create.
- Fill in the fields below, then select Save.
Add the MCP Server
- In Agent Studio, open MCP Servers and select Create.
- Select Custom Server.
- Enter a name and description. Use words employees would naturally say, and describe what the server can and can’t do. The assistant uses these to decide when to use the server.
- In the URL field, enter
https://<instance>.service-now.comwith no trailing slash. - In the Path field, enter
/sncapps/mcp-server/mcp/<server-name>from the Server URL you copied in Step 2. - Under the connector section, choose Inherit from existing connector and select the connector you just created.
- Select Authenticate and sign in to ServiceNow. Select Allow when prompted.
- In the Tools section, select Preview Tools. You should see the tools you created in Step 2.
Set the Tool Approval Policy
Moveworks applies one approval policy to all tools on a server:
- Follow server guidance (default): Tools marked read-only, non-destructive, and not open world run without asking. Everything else asks the employee first. This is why the Annotations you set in Step 2 matter.
- Always ask user: Every call asks first. Recommended for servers with tools that create or update records.
- Always allowed: No approval prompts. Use only for trusted, read-only servers.
Publish and Launch
- Select Publish.
- Make sure the server is Enabled.
- In Launch Configuration, start with a small pilot audience.
The first time an employee uses a ServiceNow tool, the assistant asks them to sign in to ServiceNow in the conversation. After that, it won’t ask again.
For more detail, see Connect and Manage Servers.
Step 5: Test End to End
- Open the assistant as a user in your pilot audience.
- Ask a request that should trigger one of your tools, for example: “Can we onboard the supplier with DUNS number 123456789? Check if it passes our risk policy.”
- The user should be asked to authenticate to ServiceNow.
- Confirm the assistant calls the right tool, passes the right inputs, and returns the result.
- Try a request that should not use the tool and confirm the assistant doesn’t call it.
- Review MCP tool call logs to see the inputs and outputs of each call.
When you change tools in ServiceNow (add, remove, or edit descriptions), select Preview Tools again in Agent Studio to refresh the list.
Troubleshooting
For more, see Limitations and Troubleshooting.