ServiceNow MCP server — 67 tools over the full REST surface, with plan-and-apply write safety, capability preflight and an ACL security scan.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
admin
servicenow_set_credentials
-
aggregate
servicenow_aggregate
-
all
every package below.
-
atf
servicenow_list_atf_tests
-
attachment
servicenow_list_attachments
-
batch
servicenow_batch
-
catalog
servicenow_list_catalogs
-
change
servicenow_list_changes
-
cmdb
servicenow_list_cis
-
codecheck
servicenow_lint_script
-
core
(default) — table, schema, aggregate, attachment.
-
docs
servicenow_docs_list
-
email
servicenow_send_email
-
flows
servicenow_trace_table_event
-
importset
servicenow_insert_import_set_row
-
instance
servicenow_snapshot_instance
-
knowledge
servicenow_search_knowledge
-
schema
servicenow_list_tables
-
scripts
servicenow_list_scripts
-
table
servicenow_query_table
analyzed commit 5acdcc7 · analyzer v33 · 1w ago
skills & prompt files 1
danger signals3
- dynamic code execution new Function() IvanBBaev-servicenow-mcp-ai-5acdcc7/src/api/codecheck.ts :177
new Function(source); - suspicious endpoint 169.254.169.254 (cloud metadata) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/jira-host.test.js :29
"http://169.254.169.254/latest/meta-data", - suspicious endpoint 169.254.169.254 (cloud metadata) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/servicenow.test.js :32
"http://169.254.169.254/latest/meta-data",
code files: 139
filesystem 24
- fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/scripts/gen-manifest.mjs :5
import { writeFileSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/scripts/readme-tools.mjs :6
import { readFileSync, writeFileSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/scripts/ts-source-loader.mjs :7
import { existsSync } from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/api/compare.ts :2
import { promises as fs } from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/api/docs.ts :1
import { promises as fs } from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/auth.ts :1
import { readFileSync } from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/config.ts :8
} from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/mtls.ts :1
import { readFileSync } from "node:fs"; - fs IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/write-journal.ts :1
import { appendFileSync, mkdirSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/all-tools-smoke.test.js :4
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/codecheck.test.js :4
import { mkdtempSync, rmSync, existsSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/compare.test.js :3
import { promises as fs } from "node:fs";
show 12 more
- fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/config-store.test.js :3
import { promises as fs } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/docs.test.js :3
import { promises as fs } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/env-docs-sync.test.js :15
import { readFileSync, readdirSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/jira-http.test.js :3
import fs from "node:fs/promises"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/manifest-snapshot.test.js :3
import { readFileSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/mcp-smoke.test.js :3
import { promises as fs } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/oauth.test.js :6
import { mkdtempSync, rmSync, readFileSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/profiles.test.js :3
import { promises as fs } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/readme-sync.test.js :3
import { readFileSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/snapshot.test.js :3
import { promises as fs } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/write-journal.test.js :7
import { mkdtempSync, readFileSync, rmSync } from "node:fs"; - fs (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/write-mode.test.js :3
import { mkdtempSync, readFileSync, readdirSync } from "node:fs";
shell / exec 1
- shell IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/oauth-login.ts :2
import { spawn } from "node:child_process";
network 6
- net IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/auth.ts :240
res = await fetch(url, { - net IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/http.ts :148
return fetch(url, init); - net IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/jira/http.ts :150
fetch(url, { - net IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/oauth-login.ts :1
import { createServer } from "node:http"; - net IvanBBaev-servicenow-mcp-ai-5acdcc7/src/mcp/transport.ts :1
import { createServer } from "node:http"; - net (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/oauth.test.js :4
import { createServer } from "node:http";
secrets 8
- secrets IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/jira/config.ts :23
apiToken: process.env.JIRA_API_TOKEN?.trim() ?? "", - secrets IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/mtls.ts :30
process.env.SN_TLS_CLIENT_KEY, - secrets IvanBBaev-servicenow-mcp-ai-5acdcc7/src/core/settings.ts :216
return process.env.SN_HTTP_TOKEN?.trim() || undefined; - secrets (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/auth.test.js :14
process.env.SN_OAUTH_CLIENT_SECRET = "shhh"; - secrets (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/config-store.test.js :27
process.env.SN_PASSWORD = "changed-behind-the-back"; - secrets (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/helpers.js :17
process.env.SN_PASSWORD = "s3cret"; - secrets (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/jira-http.test.js :73
assert.equal(process.env.JIRA_API_TOKEN, "secret-token"); - secrets (weak) IvanBBaev-servicenow-mcp-ai-5acdcc7/test/oauth.test.js :176
assert.equal(process.env.SN_OAUTH_REFRESH_TOKEN, "rt-123");
install hooks 1
- prepublishOnly IvanBBaev-servicenow-mcp-ai-5acdcc7/package.json :46
npm run check
declared dependencies 13
- @modelcontextprotocol/sdk@^1.12.0
- dotenv@^16.4.5
- zod@^3.23.8
- @eslint/js@^9.39.4
- @types/node@^22.0.0
- c8@^11.0.0
- eslint@^9.39.4
- eslint-config-prettier@^9.1.2
- fast-check@^4.8.0
- globals@^15.15.0
- prettier@^3.8.4
- typescript@^5.5.0
show 1 more
- typescript-eslint@^8.61.0