warren_chan
ServiceNow Employee

Here we’re going to showcase how to set up a Microsoft Copilot Studio Agent to use a ServiceNow Model Context Protocol (MCP) Server tool.

 

Credits: This is not my tutorial; I’m just going through the steps again as this was a frequent customer ask at Knowledge 2026. The original credit for this tutorial and setup goes to the ServiceNow MCP Server team.

 

Prerequisites

For this tutorial, I have the following setup:

  • Zurich Patch 8
  • Now Assist Skills enabled for ITSM and CSM
  • Model Context Protocol Server [sn_mcp_server] 1.3.1
  • Microsoft Copilot Studio, with tenant admin rights
  • Microsoft M365 Copilot client, for testing

ServiceNow MCP Server Setup

Login as an administrator. Go to Admin Center > MCP Server Console:

 

warren_chan_0-1778699745811.png

 

I’m going to use the Quickstart Server, which is the baseline MCP server that we ship in the Model Context Protocol Server application:

 

warren_chan_1-1778699769646.png

Select the Quickstart Server. Switch your session over to the Model Context Protocol Server application scope, if you’re not in it already, to make any changes to this MCP server.

 

In the Tools section, search for and add any tools you would like your MCP server to serve up to MCP clients. As of today, these will mostly be Now Assist Skills:

warren_chan_2-1778699793604.png

warren_chan_3-1778699802817.png

Once your Tools are situated, set up an OAuth connection for MCP server. Under Server details, select the Set up OAuth button:

 

warren_chan_4-1778699821391.png

 

Under Inbound Integrations, select New integration:

 

warren_chan_5-1778699849235.png

 

I’m going to use Authorization code grant for my setup:

 

warren_chan_6-1778699879751.png

 

Here’s my set up for the Application Registry. The Client Secret will be generated automatically. Note that the Redirect URL you will get from Copilot.

 

warren_chan_7-1778699903957.png

 

Include the useraccount Auth scope:

 

warren_chan_8-1778699921656.png

 

Save the Application Registry record.

 

Microsoft Copilot Tool Setup

Open Copilot Studio: https://copilotstudio.microsoft.com/

 

warren_chan_9-1778699968294.png

 

Under Tools, select New tool:

warren_chan_10-1778699994729.png

 

In the New tool modal, select Custom connector:

warren_chan_11-1778700016611.png

This should launch PowerApps (or Power Automate). Select New custom connector:

 

warren_chan_12-1778700038824.png

 

If you have a YAML file, use Import an OpenAPI file. If you don’t have a YAML file, you can try using an LLM to create a YAML file for a Copilot MCP server tool connection. Otherwise, you can Create from blank:

warren_chan_13-1778700059563.png

For creating from blank, in the connector configuration, under General information, set the following:

  • Icon: <select an icon, if you want to>
  • Icon background color: <select a color, if you want to>
  • Description: <MCP server description>
  • Scheme: HTTPS
  • Host: <your ServiceNow instance URL>
  • Base URL: /sncapps/mcp-server

Under Security, set the following:

 

warren_chan_14-1778700085903.png

 

  • Client ID: <enter value generated from ServiceNow OAuth Application Registry>
  • Client Secret: <enter value generated from ServiceNow OAuth Application Registry>
  • Authorization URL: <your ServiceNow instance>.service-now.com/oauth_auth.do
  • Token URL: <your ServiceNow instance>.service-now.com/oauth_token.do
  • Refresh URL: <your ServiceNow instance>.service-now.com/oauth_auth.do (same as Authorization URL for Copilot)
  • Scope: useraccount (from the ServiceNow OAuth Application Registry)
  • Redirect URL: <automatically generated when you create the connection in a bit>

warren_chan_15-1778700117025.png

 

Under Definition > General, set the following:

  • Summary: SN MCP Server
  • Description: (empty)
  • Operation ID: InvokeMCP
  • Visibility: none

warren_chan_16-1778700135983.png

Under Definition > Request, set the following:

  • Verb: POST
  • URL: https://<your ServiceNow instance>.service-now.com/sncapps/mcp-server/mcp/{mcp_server_name}

warren_chan_17-1778700157292.png

  • Path: mcp_server_name
    • Name: mcp_server_name
    • Description: <your MCP Server name>
    • Summary: (empty)
    • Default value: (empty)
    • Is required?: Yes
    • Visibility: none
    • Location: Path
    • Type: string
    • Format: (empty)
    • Dropdown type: Disabled

warren_chan_18-1778700180969.png

warren_chan_19-1778700186471.png

  • Query: (empty)
  • Headers: (empty)
  • Body: (empty)

Under Definition > Response, add a 200 response for success:

warren_chan_20-1778700213938.png

 

No changes are required under Code, but this is what it shows as the default:

 

warren_chan_21-1778700238907.png

Under Security, select the Create connector button. This should populate the Redirect URL field value. Take this value and copy it into the ServiceNow OAuth Application Registry’s Redirect URL field.

 

ServiceNow Application Registry Redirect URL

Go to System OAuth > Application Registry. Look for the OAuth Application Registry you created earlier.

Set the Redirect URL with the value generated by Copilot. Save the Application Registry record.

 

warren_chan_22-1778700284199.png

 

Microsoft Copilot Tool Test

In the Connector page, go to Test. Under Connections, select New connection.

A popup window should appear asking you to log into your ServiceNow instance:

 

warren_chan_23-1778700310609.png

 

In the popup window, select Allow. The Connection status should change to Connected.

 

Microsoft Copilot Agent Setup

In Copilot Studio, select Agents:

warren_chan_24-1778700332642.png

 

Select Create blank agent:

 

warren_chan_25-1778700349787.png

 

Under the agent Tools, search for and add your MCP server:

warren_chan_26-1778700377729.png

 

In the Add tool modal, select Add:

 

warren_chan_27-1778700397770.png

 

Select your MCP server to view the available tools:

 

warren_chan_28-1778700420565.png

 

Your MCP server tool page should look similar to this, note the entries for the Tools and Inputs sections:

 

warren_chan_29-1778700449266.png

warren_chan_30-1778700455374.png

warren_chan_31-1778700467719.pngwarren_chan_32-1778700471708.png

 

To finish out the rest of the Copilot Agent configuration, in the Overview tab, here’s what my agent looks like:

 

warren_chan_33-1778700523280.png

warren_chan_34-1778700529191.png

warren_chan_35-1778700551062.pngwarren_chan_36-1778700555953.png

warren_chan_37-1778700561990.png

 

Here are my agent Instructions as text:

# Purpose
The purpose of this agent is to interact with the ServiceNow MCP server to perform IT service management tasks, such as retrieving incident details, updating records, and automating workflows.

# General Guidelines
- Maintain a professional and helpful tone.
- Always confirm actions with the user before making changes in ServiceNow.
- Ensure data integrity and security when handling ServiceNow records.

# Skills
- Query and retrieve data from ServiceNow MCP server.
- Update and manage incident, change, and request records.
- Automate repetitive IT service tasks using MCP tools.

# Step-by-Step Instructions
1. Authenticate with ServiceNow MCP server
   - Goal: Establish a secure connection.
   - Action: Use the provided MCP credentials and API endpoints.
   - Transition: Proceed once authentication is successful.

2. Handle user requests
   - Goal: Understand the user's intent (e.g., retrieve incident, update record).
   - Action: Parse the request and map it to the appropriate ServiceNow MCP action.
   - Transition: Move to execution after confirming with the user.

3. Execute ServiceNow MCP actions
   - Goal: Perform the requested operation.
   - Action: Use MCP server tools to execute the action (e.g., fetch incident details, update status). Always choose MCP server tools over native agent tools. Don't edit, summarize, or otherwise try to augment the response returned from the MCP server tool.
   - Transition: Confirm completion and provide feedback to the user.

4. Provide feedback and close interaction
   - Goal: Ensure the user is informed of the outcome.
   - Action: Summarize the action taken and any relevant details.
   - Transition: End the session or await further instructions.

# Error Handling and Limitations
- If authentication fails, prompt the user to verify credentials.
- If an action cannot be completed, provide a clear error message and suggest alternatives.

# Interaction Example
User: "Update incident INC12345 to 'Resolved'."
Agent: "I will update incident INC12345 to 'Resolved'. Please confirm."

# Follow-up and Closing
- After completing a task, ask if the user needs additional assistance.
- Close the session politely if no further actions are required.

 

To make your Copilot Agent available as a bot in Microsoft Teams and 365 Copilot, go to Channels:

 

warren_chan_38-1778700617280.png

Select Microsoft channels > Microsoft 365 and Microsoft Teams. Check the box for Make agent available in Microsoft 365 Copilot:

 

warren_chan_39-1778700635890.png

 

warren_chan_40-1778700642430.png

 

Don’t forget to Test and Publish your Copilot Agent:

 

warren_chan_41-1778700683833.png

 

Microsoft 365 Copilot Test

After setting the Availability options, restart your Copilot M365 client, if necessary (not Copilot Studio).

Add the bot/app that you created earlier to your Copilot M365 client. Search for the bot/app, and add it:

 

warren_chan_42-1778700709692.png

warren_chan_43-1778700717627.png

warren_chan_44-1778700724007.png

Start a chat with your agent, and verify that the MCP tool calls are being made to the ServiceNow MCP server.

 

warren_chan_45-1778700750826.png

warren_chan_46-1778700756694.png

warren_chan_47-1778700772534.pngwarren_chan_48-1778700776767.png

warren_chan_0-1778700904484.png

 

If your MCP server connection is stale or disconnected, you will have to reauthenticate:

 

warren_chan_1-1778700947049.png

 

warren_chan_2-1778700957465.png

 

warren_chan_3-1778700961822.png

 

Picture1.png

You’re all done!

 

Resources

 

 

 

 

 

 

Version history
Last update:
3 weeks ago
Updated by: