Quick Tutorial: MCP Client to ServiceNow HRSD MCP Server Knowledge Tool
New article articles in ServiceNow Community
·
Aug 20, 2026
·
article
In this tutorial, we’re going to go over MCP client setup to connect to a ServiceNow MCP Server via OAuth 2.0. I’m going to use the HRSD MCP Server (released August 2026) and demo the use case against the HR Knowledge Search tool.
I’m going to use the following MCP clients:
- Claude Desktop
- Postman
Microsoft Copilot Studio Agents was previously covered in another tutorial. ChatGPT Codex doesn’t currently seem to support direct OAuth configuration, so I won’t include that example here.
Prerequisites
For this tutorial, I’m running the following setup:
- Australia Patch 5 W33
- ServiceNow Otto Platform Prime [sn_ai_plat_prm] 2.2.0
- Model Context Protocol Server [sn_mcp_server] 1.7.2
- HRSD MCP Server [sn_hr_mcp_server] 1.0.2
- Claude Desktop version 1.32885.1 (a757f5) on Windows 11, with a Free plan
- Postman 12.23.2 on MacOS Tahoe 26.5.2
Activate HRSD MCP Server
In ServiceNow, login as a System Administrator [admin]. Go to Admin Center > MCP Server Console :
Under Servers , verify that HRSD MCP Server is Active :
If it is not active, hit the ... icon to the right and select Activate :
Select the HRSD MCP Server , and review the available Tools :
We’ll target the HR Knowledge Search tool for demonstration purposes of this tutorial.
Set up OAuth for MCP Client
Under OAuth setup required , select the Set up OAuth button:
This should open a new browser tab to the Inbound Integrations tab of the Machine Identity Console workspace/experience. Select New integration :
Under Select your application connection type , pick OAuth – Authorization code grant :
Create a new Inbound integration for OAuth with Authorization code by filling out the Name and Provider name. The Client ID and Client secret should be automatically generated. Make sure Active is selected.
For Claude Desktop or Claude AI, use the following Redirect URLs (I put both in, comma-delimited):
https://claude.ai/api/mcp/auth\_callback,https://claude.com/api/mcp/auth\_callback
Set the Auth scope to useraccount or something of lesser permission. The useraccount Auth scope will, by default, grant all permissions that the authenticated user has. Be mindful of what this means for a production scenario!
Under Advanced options , I set the Token Format to JWT , although Claude seems to take both Opaque or JWT:
Save the OAuth Inbound Integration application registry record.
From Claude Desktop
Open Claude Desktop. From your user profile, go to Settings > Connectors > Add > Add custom connector :
In the Add custom connector modal, enter your MCP server name and URL :
Select Continue. Under the Authentication settings, select Always required. Under OAuth client , select Use your own OAuth client. At the bottom, select Add.
On the next screen, enter your ServiceNow Inbound Integration’s OAuth Client ID and OAuth Client Secret. At the bottom, select Add.
You are returned to the Connectors screen:
Select the Connect button. This should launch an authentication window in your browser.
Select Allow. Afterwards, the redirect should go back to Claude Desktop. You should see the MCP server connected, with the Tools listed. You can set granular permissions for these Tools here in Claude Desktop.
Exit the Settings and start a new chat in Claude. Ask something like: What are my tools for the HRSD MCP Server?
Your Tools list should be returned. Ask for HR Knowledge afterwards: Tell me about my organization’s spam policy.
If you are prompted to run the Tool, select Allow once.
The HR Knowledge Search Tool should run, and a response returned from the Knowledge Base.
That’s it for Claude Desktop.
From Postman
Following earlier steps, set up a separate OAuth Inbound Integration application registry for Postman. Note that Postman has a different Redirect URL endpoint than Claude:
https://oauth.pstmn.io/v1/callback
Set Auth scope to useraccount. Again, be mindful of the Auth scope considerations:
I believe that the Token Format must be JWT for Postman:
Save the OAuth Inbound Integration application registry record.
Open your Postman client. Create a new POST request. Under Authorization , fill in the following field values:
Under POST
- URL: https://<your instance name>.service-now.com/sncapps/mcp-server/mcp/sn_hr_mcp_server_hr_default
- Auth type: OAuth 2.0
- Add authorization to: Request headers
Under Configure New Token
- Token Name: Postman Token
- Grant type: Authorization Code
- Callback URL: https://oauth.pstmn.io/v1/callback
- Authorize using browser: (checked)
- Auth URL: https://<your instance name>.service-now.com/oauth_auth.do
- Access Token URL: https://<your instance name>.service-now.com/oauth_token.do
- Client ID: <from ServiceNow OAuth Inbound Integration app registry>
- Client Secret: <from ServiceNow OAuth Inbound Integration app registry>
- Scope: useraccount
- State: state100
- Client Authentication: Send as Basic Auth header
At the bottom of the Authorization tab, select Get new access token. You should see a popup window appear:
You’ll be redirected to the instance to allow the connection:
Select Allow to continue. Postman should receive the authenticated call, and you should have a token in Postman:
Under Manage Tokens , select Use Token :
Next, the Accept header must align to the MCP standards. In the Headers tab, change your Accept Key value to be application/json, text/event-stream. If you have another Accept Key already generated with value */* , uncheck that row, and insert a new row:
To kick things off, you can send a initialize call. The current MCP version I have today is 2025-06-18, but the initialize process is removed in later versions of MCP, starting in the 2026-07-28 specification.
In the Body tab, insert the following and send:
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "postman-test", "version": "1.0.0" } } }
The initialize response:
Next, in the Body tab, insert your tools/list call. This will list the Tools that the ServiceNow MCP Server is offering up:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {} }
Select Send to send your request to the ServiceNow MCP Server. Review the response that you get back:
Finally, let’s construct a payload that invokes the Tool for HR Knowledge Search. In the Body tab, insert the following, and send the request:
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "hr_knowledge_search", "arguments": { "query": "Tell me about my organization's spam policy." } } }
Here’s the response:
There you have it, Postman to ServiceNow MCP Server connection validated.
Resources
HRSD MCP Server:
Claude Desktop to Service Mapping MCP Server: https://www.servicenow.com/docs/r/zurich/it-operations-management/service-mapping/connect-claude-desktop-sm-mcp.html
https://www.servicenow.com/community/servicenow-otto-articles/quick-tutorial-mcp-client-to-servicenow-hrsd-mcp-server/ta-p/3589606