- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
If you've stood up an MCP server with MCP Server Console, you know the last mile is connecting a client to it over OAuth. Traditionally that means creating an OAuth inbound integration and handing the client a client ID and secret. Client ID Metadata Documents (CIMD) make that step much lighter: the client identifies itself with a single HTTPS URL that points to a small JSON file describing it, and you register it in a few clicks by pointing your instance at that URL.
CIMD is available from the Zurich Patch 7 and Australia Patch 1 releases onward. In this walkthrough we'll connect Visual Studio Code to a ServiceNow MCP server end to end.
What you'll need
- An instance on Zurich Patch 7 / Australia Patch 1 or later, with MCP Server Console available.
- At least one MCP server (or the preconfigured Quickstart Server). Creating a server needs the
sn_mcp_server.admin(oradmin) role. - Permission to register OAuth clients (
oauth_admin,mi_admin, oradmin). - An MCP client that publishes a CIMD document. VS Code does.
Step 1 — Find your MCP server URL
In MCP Server Console, open your server and copy its Server URL. It looks like:
https://<your-instance>.service-now.com/sncapps/mcp-server/mcp/<server-name>
If you're using the Quickstart Server, the server name is sn_mcp_server_default.
Step 2 — Understand the client's CIMD document
With CIMD, the client hosts a JSON file at an HTTPS URL, and that URL is the client's client_id. You don't create or host this file — the client owns it. VS Code publishes its document here:
https://vscode.dev/oauth/client-metadata.json
Open it in a browser and you'll see something like this:
{
"client_id": "https://vscode.dev/oauth/client-metadata.json",
"client_name": "Visual Studio Code",
"client_uri": "https://vscode.dev/product",
"logo_uri": "https://code.visualstudio.com/assets/branding/code-stable.png",
"redirect_uris": ["http://127.0.0.1:33418/", "https://vscode.dev/redirect"],
"grant_types": ["authorization_code", "refresh_token", "urn:ietf:params:oauth:grant-type:device_code"],
"response_types": ["code"],
"token_endpoint_auth_method": "none",
"application_type": "native"
}
A few things worth noticing as a developer:
client_idmatches the document's own URL — that binding is what your instance validates.token_endpoint_auth_methodisnone, so this is a public client. ServiceNow registers CIMD clients as public clients and secures the flow with PKCE.response_typesiscode— the authorization code flow.redirect_urisincludes a loopback address (127.0.0.1), which is typical for a desktop client.
Step 3 — Register the CIMD client in ServiceNow
Navigate to All > System OAuth > CIMD Clients, then select New.
You can also start from Application Registry > New and choose Configure a Client ID Metadata Document (CIMD) client on the "What kind of OAuth application?" screen.
In the Add a CIMD OAuth Client dialog, paste the client's CIMD metadata URL and select Fetch Metadata. If you'd rather enter everything by hand, choose Enter the details instead.
https://vscode.dev/oauth/client-metadata.json
ServiceNow fetches the document and shows the retrieved values for review — Client Name, Redirect URIs, Response Types, Client URI, and Logo URI. Pick a Metadata Sync Mode:
- Live — for fully trusted clients. ServiceNow automatically fetches the latest configuration from the client's metadata.
- Static — for pre-approved clients. ServiceNow pins the configuration captured during onboarding and makes no automatic updates later.
Select Create to save the client. The Client ID is set automatically from the metadata URL.
That's the whole registration. Note that registration is required — a client that hasn't been registered can't connect.
Step 4 — Connect VS Code to your MCP server
Add your ServiceNow MCP server in VS Code using the Server URL from Step 1. VS Code connects with the OAuth authorization code flow and PKCE, presenting its CIMD URL as the client_id. When prompted, sign in to your instance and approve access.
The exact UI for adding an MCP server varies by client, so follow your client's documentation for where to enter the server URL and start the connection.
Step 5 — Test the connection
Once the client authenticates, it receives the list of tools your server exposes. Try a prompt that maps to one of those tools — for example, with the Quickstart Server's incident tools, ask it to summarize recently closed incidents.
Wrapping up
CIMD turns client onboarding into a paste-a-URL, click-Create step, while keeping you in control — every CIMD client is registered by an admin, runs as a public client with PKCE, and can be switched between Live and Static syncing. It's a clean way to bring MCP clients onto your ServiceNow MCP server without juggling client secrets.
Have you connected an MCP client this way? Share your setup and questions in the comments.
- 127 Views
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.