ServiceNow runs on your own machine — the client starts it, so there is no endpoint to ping. 56 installs a week from npm. Last commit 2 Nov 2026.
ServiceNow ITSM MCP server for Model Context Protocol hosts
We read the source, 23 h ago · rules 995398eba69f
A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.
fs.writeFileSync(outFd, pdfBuffer);
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const fullPath = path.join(stagingDir, filename);
const child = spawn(process.execPath, [script], {
if (isUnder(resolvedAbs, sshDir)) return { hit: true, reason: '~/.ssh/** is sensitive' };
<script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js"></script>
const entries = fs.readdirSync(workspacePath, { withFileTypes: true });
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add mcp-server-servicenow -e 'SERVICENOW_INSTANCE=<SERVICENOW_INSTANCE>' -e 'SERVICENOW_USERNAME=<SERVICENOW_USERNAME>' -e 'SERVICENOW_PASSWORD=<SERVICENOW_PASSWORD>' -- npx -y @mindstone/mcp-server-servicenow
{
"mcpServers": {
"mcp-server-servicenow": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE": "<SERVICENOW_INSTANCE>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_USERNAME": "<SERVICENOW_USERNAME>"
}
}
}
}
[mcp_servers.mcp-server-servicenow]
command = "npx"
args = ["-y", "@mindstone/mcp-server-servicenow"]
env = { SERVICENOW_INSTANCE = "<SERVICENOW_INSTANCE>", SERVICENOW_USERNAME = "<SERVICENOW_USERNAME>", SERVICENOW_PASSWORD = "<SERVICENOW_PASSWORD>" }
{
"mcpServers": {
"mcp-server-servicenow": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE": "<SERVICENOW_INSTANCE>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_USERNAME": "<SERVICENOW_USERNAME>"
}
}
}
}
{
"servers": {
"mcp-server-servicenow": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE": "<SERVICENOW_INSTANCE>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_USERNAME": "<SERVICENOW_USERNAME>"
}
}
}
}
Put your own values in place of
<SERVICENOW_INSTANCE> (ServiceNow instance name (e.g. acme for acme.service-now.com)), <SERVICENOW_USERNAME> (ServiceNow username), <SERVICENOW_PASSWORD> (ServiceNow password).
The author’s registry entry marks them as required.
Optional settings from the registry entry, left out of the block above:
SERVICENOW_CLIENT_ID (OAuth 2.0 client ID (optional; alternative to username/password when the instance enforces MFA/SSO — requires an OAuth application registry entry with the client credentials grant enabled)), SERVICENOW_CLIENT_SECRET (OAuth 2.0 client secret (optional; used with SERVICENOW_CLIENT_ID instead of username/password)).
Zendesk MCP server for Model Context Protocol hosts
Freshdesk Support MCP server for Model Context Protocol hosts
Humaans HR platform MCP server for Model Context Protocol hosts
A Model Context Protocol (MCP) server for esa.io
MCP (Model Context Protocol) server for Appwrite
Wise (formerly TransferWise) MCP server for Model Context Protocol hosts
OpenAI image generation MCP server for Model Context Protocol hosts
Mixmax email productivity MCP server for Model Context Protocol hosts
Answers built from our own checks of this server.