Use PDIs? Take our 5-minute survey to help shape the PDI roadmap.

Travis Toulson
Administrator

I have built a handful of MCP servers off platform now, and the shape of it is always the same. Spin up a Node project. Wire in the MCP SDK. Figure out auth, which is never as simple as the docs make it look. Then find somewhere to actually run the thing, so now you are picking a host, standing up a deploy pipeline, and maintaining a second project that has nothing to do with the problem you sat down to solve. Somewhere near the end of all that, you finally get to write the part that talks to ServiceNow.

 

Then I built the same kind of server on ServiceNow instead, and most of that list just stopped being my problem. No scaffolding. No host. No pipeline. And auth was the same OAuth setup I have done a hundred times for reasons that had nothing to do with AI.

 

This is the series where we build one together.

 

Table of Contents

Chapter 1: Why This Series

Chapter 2: What Is an MCP Server?

Chapter 3: Anatomy of an MCP Server on ServiceNow

Chapter 4: How to Implement an MCP Server on ServiceNow

  1. Setup: instance, plugin, verify

More coming


Chapter 1: Why This Series

 

 

I'm Travis Toulson, Senior Developer Advocate at ServiceNow, and this series is about connecting third party AI assistants to your instance using ServiceNow's native MCP server capabilities.

 

Why now? ServiceNow shipped the MCP Server Console as part of Action Fabric late last year, and this past May added the REST API tool, which is the one this build uses.

 

Why bother? Before this, giving an AI assistant access to the data and processes in your instance meant building and hosting an MCP server yourself, or copying data out of ServiceNow by hand and pasting it into a chat.

 

Now the server runs on the platform. Claude authenticates as a real user through an OAuth registry you created, it can only call the tools you put on the server, and everything it does happens inside your instance under your ACLs.

 

The hard part of building one is not the configuration. It is deciding which tools to expose and how to describe them, because those descriptions are what the model reads when it decides what to do. That comes up repeatedly once the building starts.

 

Each episode runs about two to three minutes. Watch them in order or jump to whatever you need right now. Everything in the videos is also written out on this page, scripts included, so if reading is faster for you then skip the videos and work straight from here.

 

And if there is something you want covered on MCP in ServiceNow, tell me in the comments and I will add an episode.


Chapter 2: What Is an MCP Server?

 

 

MCP stands for Model Context Protocol. It is a standard way for an AI model to talk to software outside of the model. Software like, say, ServiceNow.

 

Here is the problem it solves. A model like Claude is very good at reasoning, writing, and figuring out what needs to happen next. What it is not good at, on its own, is taking action. It cannot log into your instance. It cannot run a query. It cannot click a button. MCP is how it gets to do those things.

There are three pieces worth knowing.

 

The client is the AI application itself. Claude, in our case. The thing a person is actually chatting with.

ServiceNow can be a client too. Build Agent connects out to third party MCP servers like Figma's. This series goes the other direction, with ServiceNow as the server.

 

The server is the program that sits between the AI and the software. It exposes a specific set of capabilities to the AI, and it knows how to go do the work in that software when asked.

 

The tools are the individual actions the server offers up, like getting the details of an incident or updating a record. Each one has a name, a description, and a defined set of inputs.

 

MCP in three parts: the client asks, the server does the work, the tool defines what's possible

 

Client, server, tool. Those three words are most of what you need to follow the rest of this series.

 

When you are chatting with Claude and it needs to do something real, it looks at the tools available, decides which one fits what you asked for, fills in the inputs, and asks the server to run it. That is the whole mechanic.


Chapter 3: Anatomy of an MCP Server on ServiceNow

 

 

Now let's see how those concepts land as actual records and metadata on the platform. There are four pieces you will keep running into.

 

The OAuth application registry handles authentication. It is what lets an AI client log into your instance securely, under a scope that limits what it is allowed to touch.

 

The MCP server record is the thing you stand up and expose. It has a URL and a list of tools it is willing to offer.

 

The MCP tool record gives the client the ability to perform one specific action. Name, description, inputs. Those three things are exactly what the model reads to decide when and how to use it.

 

The backing implementation is whatever actually does the work. In this walkthrough it is a Scripted REST API. It does not have to be. Flow action, Now Assist skill, knowledge graph, subflow. The tool does not care what is behind it as long as it gets an answer back.

 

The four pieces of an MCP server on ServiceNow: OAuth application registry, MCP server record, MCP tool records, and the backing implementation

 

Once that picture is in your head, the rest of this is filling in details.


Chapter 4: How to Implement an MCP Server on ServiceNow

 

We are building a server that lets Claude read and update incidents by number. Two tools, two REST resources, one OAuth registry, one server.

 

What you need before you start

  • An instance on Australia Patch 2 or later (the REST API tool needs it)
  • Now Assist Admin Console (sn_nowassist_admin) installed. Confirm this before you start, because the MCP Server plugin may not install cleanly without it. Other Now Assist dependencies come along automatically.
  • The admin role
  • A Claude.ai account, or another MCP-compatible client

Step 1: Getting your instance ready

 

 

Install the plugin. Navigate to All > System Applications > All Available Applications > All and search for Model Context Protocol Server (App ID sn_mcp_server). Install it.

 

Verify it actually worked. Do this before you build anything on top of it.

 

Type sys_service.list in the filter navigator and search for MCP in the name column. You should see two records: MCP-S and mcp-server.

 

Open mcp-server and check the Service Endpoints related list. There should be a record with Active set to true and a URL of https://mcps-prod-default.

 

Then hit the health endpoint from your terminal:

curl https://<your-instance>.service-now.com/sncapps/mcp-server/health

 

You want this back:

{"status":"healthy"}

 

Anything else means the install didn't quite go as planned. You'll need to fix that before you go further. And if you need help, feel free to reach out. I don't have all the answers but I do like trying to find them.

 

Create a scoped app. Everything you build in this guide should live in one scope. Go to All > System Applications > Studio and create a new scoped application, something like Incident MCP Server. I started mine in the ServiceNow IDE and then built and installed it so it showed up platform-side, but use whatever environment you like.

 

Then make sure your app is selected in the application picker before you create anything else. Every record in the following steps needs to be in that scope, including the tools and the server.


More coming

 

This series is not finished, and this article is going to grow with it.

 

The rest of the build lands here as I record it, starting with the Scripted REST API that our first MCP tool will call. Subscribe on YouTube if you want the episodes as we post them.