How to create a MCP server in servicenow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hello Community,
i am trying to create my own MCP server in servicenow which will be consume by other external application to access the incident summary. i followed the docs and setup a oauth authentication, but tools added in the MCP server are not visible in the external application.
please help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Gotcha my friend — if your external app can authenticate but it can’t see any tools, that usually means the MCP call is reaching ServiceNow, but tool discovery is returning empty. A few common things to check:
1) Make sure the external app is calling the right MCP server URL
This happens a lot: people add tools to one MCP server, but the external app is pointed at a different one (or the Quickstart server).
So double-check the exact endpoint your external app is using matches the MCP server where you added the tools.
2) Confirm the tools are actually attached + active on that server
In the MCP Server Console, open the tool and verify:
it’s saved/active
it’s assigned to that MCP server (not just created in the tool list)
If a tool exists but isn’t linked to the server the client is calling, the client won’t see it.
3) OAuth is valid, but the token doesn’t have permission to “see tools”
This is another big one. You can get a token successfully, but if the OAuth client is scoped/limited in a way that blocks MCP discovery, the tools list comes back empty.
A quick way to test: use the same token in Postman/curl and call the MCP server endpoint. If that returns no tools, it’s not your external app — it’s auth/scope/server config.
4) Make sure you’re using the correct inbound integration
Sometimes there are multiple inbound integration records (especially if other platform features created one automatically). If the external app is using the wrong client_id/secret, you can end up authenticated but not authorized the way you expect.
@varunagarwal83 - Please mark as Accepted Solution and Thumbs Up if you find Helpful 🙂
