LabscoMCP early access ↗
IvanBBaevMCP SERVER

ServiceNow MCP

Query and change a ServiceNow instance over its REST APIs — with record writes answering as a preview until you pass apply.

by IvanBBaev ↗ERP & Vertical Business SystemsCommunity

LABSCO SUMMARY

Full Table API reach over an instance, with the writes previewing themselves first.

The read half is the reason to wire it up: any table, encoded queries, server-side aggregates, and column definitions straight out of sys_dictionary — plus the ability to ask which restricted tables the connected user can actually reach before an agent plans around them. Writes are there too, and since 2.0 they answer with a preview until a call explicitly passes apply: true.

What it is

An MCP server over a ServiceNow instance's REST APIs: Table, Aggregate, Attachment, Import Set, Batch and CMDB, plus the Service Catalog, Change Management and Knowledge plugin APIs. Since 2.0 the record-write tools return a non-mutating preview unless the call passes apply: true.

What you get

  • Any table, read properly: servicenow_query_table with encoded queries, field selection and pagination, and servicenow_get_record by sys_id
  • Writes with the preview default — servicenow_create_record, servicenow_update_record, servicenow_delete_record
  • Schema without opening the platform UI: servicenow_list_tables from sys_db_object, servicenow_describe_table from sys_dictionary with type, mandatory and reference per column
  • Aggregates computed server-side rather than paged back — servicenow_aggregate does count, avg, min, max and sum with optional grouping
  • Attachments listed, read, uploaded as base64 and deleted: servicenow_list_attachments, servicenow_download_attachment, servicenow_upload_attachment, servicenow_delete_attachment
  • Several instances side by side — servicenow_list_instances, servicenow_use_instance, and servicenow_set_credentials to change the connection at runtime
  • A preflight pair worth running first: servicenow_test_connection reads one sys_user record and reports status and latency, servicenow_check_capabilities reports which admin-restricted sys_* tables your user can actually read
  • More packages behind SN_TOOL_PACKAGES — script intelligence, servicenow_where_used for every script and ACL touching a field, servicenow_trace_table_event for what runs on save, code checking and ATF. The default profile is core; all enables everything

Requirements

A ServiceNow instance and credentials for it. SN_INSTANCE is the host — dev12345.service-now.com — and the quickest path is Basic auth with SN_USER and SN_PASSWORD. For anything long-lived, npx servicenow-mcp-ai login runs the one-time OAuth 2.1 flow with PKCE and stores a refresh token instead of the password; API key via SN_API_KEY and a pre-obtained bearer token are also supported. Node.js 20 or newer. Run it as npx -y servicenow-mcp-ai over stdio; credentials resolve from SN_ENV_FILE, then ~/.config/servicenow-mcp-ai/.env, then the project .env, with real environment variables taking precedence.

Setup effort

One command plus credentials — npx servicenow-mcp-ai, then supply credentials