v2.0 makes the breadth of v1 safe and self-aware: writes preview before they run, the server reports which capabilities it can actually achieve on your instance, and code_health audits the access-control layer. (v1 = breadth; v2 = trust + depth.)
Breaking changes
- Writes are plan-by-default.
SN_WRITE_MODE=planis the new default. The write tools — record CRUD (create/update/delete_record), change (create/update_change), CMDB CI (create/update_ci), import-set insert, email send, catalog order, attachment upload/delete, batch (when it contains writes), and the ATF run tools — now return a non-mutating before/after preview instead of executing.- Migration: to apply a change, pass
apply: trueon the call, or setSN_WRITE_MODE=applyto restore the v1.x "execute immediately" behaviour globally. Automations that relied on a write running on the first call must do one of these.
- Migration: to apply a change, pass
Added
- DF-0 — capability preflight. New always-on
servicenow_check_capabilitiestool andservicenow://capabilitiesresource: probe which admin-restrictedsys_*tables the connected user can actually read, and report which capabilities (schema reads, script intelligence, ACL audit) are achievable — so the script/codecheck tools never promise a read they cannot make.servicenow_table_logicnow degrades a 401/403 on one artefact type to anunreadableflag instead of failing the whole overview. (67 tools / 18 packages.) - DF-2 — plan-and-apply + local audit journal.
SN_WRITE_MODE(plan|apply) and a per-callapplyargument gate every record-style write tool; each applied mutation is appended to a per-profile, append-only journal at<SN_DOCS_DIR>/<profile>/write-journal.{jsonl,md}— a client-side audit trail where there is no AI Control Tower. - DF-1 — ACL security scan.
servicenow_code_healthnow folds in a security dimension over the active ACLs (sys_security_acl):eval/side-effects/gs.getUserin ACL evaluation scripts, and roles-only ACLs (no condition and no script). Thesys_security_aclread is gated behind DF-0 — when it is unreadable the scan reports the role needed rather than a silently empty all-clear. - DF-4 — where-used / impact graph. New
servicenow_where_usedtool: find where a table, field or script is referenced across the instance's code — textual references in every script source, plus (for a table) the business rules, client scripts, UI policies/actions and ACLs attached to it. Read-only; optional Mermaid reference graph. The IDE-grade "find usages" the platform lacks. - DF-5 — client-side field redaction.
SN_REDACT_FIELDSmasks named field values before query results are serialised for the model;SN_REDACT_PIIalso masks email/phone/national-id patterns inside any string value. Opt-in (off by default); the redaction count is reported in the result. - DF-6 — HTTP transport.
SN_TRANSPORT=http(portSN_PORT, default 3000) serves the MCP server over Streamable HTTP so the official ServiceNow MCP Client app and remote clients can consume it; the default staysstdio. The endpoint binds to loopback (127.0.0.1) by default (SN_HTTP_HOSTto widen) and supports an optionalSN_HTTP_TOKENbearer guard (constant-time check); broader TLS/network hardening remains the operator's responsibility. - CSV export.
servicenow_query_tableacceptsformat: "csv"for a spreadsheet-friendly export — a dependency-free RFC-4180 formatter that reuses the DF-5 redaction. - Claude Code plugin (DX-1). A
.claude-plugin/bundle (plugin + marketplace manifest) makes the server installable with/plugin marketplace add LeassTaTT/servicenow-mcp-aithen/plugin install servicenow-mcp-ai— zero-config, the server wired up. - DF-3 — CI drift gate.
servicenow-mcp-ai drift <profileA> <profileB>promotescompare_instancesto a release artifact: it prints the Markdown drift report and exits non-zero when the instances differ, so a pipeline can block a deploy on configuration drift. - VS Code extension. An
extension/sub-package registers the MCP server with VS Code Copilot Chat (agent mode) on install (viaregisterMcpServerDefinitionProvider→npx -y servicenow-mcp-ai), so VS Code users get the tools with no manualmcp.json. Publishable to the VS Code Marketplace.
Changed
- The out-of-the-box posture for writes is now safe-by-default (preview first) — see Breaking changes.
Documentation
- DX-3 hero demo. A "Quick demo" section in the README and the docs site shows the three
signature moves in one call each: find-usages (servicenow_where_used), what-runs-on-save
(servicenow_trace_table_event) and dev-vs-prod drift (servicenow-mcp-ai drift). The matching
screen-capture GIF is the only remaining DX-3 piece. - CLI reference. The README now documents the
servicenow-mcp-aicommand-line surface — the
server,loginanddrift <a> <b>invocations — with their parameters and exit codes.