Skip to main content
Glama
IvanBBaev

servicenow-mcp-ai

by IvanBBaev

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SN_AUTHNoAuth method: basic, oauth, apikey, token, or noneauto
SN_PORTNoTCP port for http transport3000
SN_USERYesServiceNow username for Basic auth
SN_TLS_CANoOptional CA bundle PEM
SN_API_KEYNoServiceNow Inbound API Key
SN_DOCS_DIRNoDirectory for docs packagedocs/instance
SN_ENV_FILENoExplicit path to env file
SN_INSTANCEYesServiceNow instance URL or hostname
SN_PASSWORDYesServiceNow password
SN_READONLYNoWhen truthy, refuse write operationsfalse
SN_HTTP_HOSTNoBind address for http transport127.0.0.1
SN_LOG_LEVELNoLog verbosityinfo
SN_TRANSPORTNoTransport: stdio or httpstdio
SN_CODESEARCHNoOpt-in to Code Search APIfalse
SN_HTTP_TOKENNoBearer token for http transport
SN_REDACT_PIINoMask email/phone/national-id patternsfalse
SN_TIMEOUT_MSNoPer-request timeout in milliseconds30000
SN_WRITE_MODENoWrite mode: plan or applyplan
SN_MAX_RECORDSNoHard cap on records returned10000
SN_MAX_RETRIESNoRetries for transient failures2
SN_OAUTH_GRANTNoOAuth grant typepassword
SN_OAUTH_SCOPENoOptional OAuth scope
SN_TABLES_DENYNoComma-separated table denylist
SN_BEARER_TOKENNoPre-obtained bearer token
SN_TABLES_ALLOWNoComma-separated table allowlist
SN_ALLOWED_HOSTSNoComma-separated allow-list of permitted hosts
SN_OAUTH_JWT_KEYNoPEM private key for jwt_bearer grant
SN_PACKAGES_DENYNoPackages to exclude
SN_REDACT_FIELDSNoMask these field values
SN_RESULT_PRETTYNoPretty-print JSON resultsfalse
SN_TOOL_PACKAGESNoTool packages to enablecore
SN_ACTIVE_PROFILENoActive connection profiledefault
SN_MAX_CONCURRENTNoMaximum parallel HTTP requests4
SN_TLS_CLIENT_KEYNoPrivate key PEM for client certificate
SN_OAUTH_CLIENT_IDNoOAuth client id
SN_TLS_CLIENT_CERTNoClient certificate PEM for mTLS
SN_MAX_RESULT_CHARSNoCharacter budget for query result truncation100000
SN_INCLUDE_REF_LINKSNoInclude reference field linksfalse
SN_PACKAGES_READONLYNoPackages with read-only tools
SN_OAUTH_REDIRECT_URINoLoopback redirect URL for PKCE loginhttp://localhost:53682/callback
SN_OAUTH_CLIENT_SECRETNoOAuth client secret
SN_OAUTH_REFRESH_TOKENNoRefresh token for refresh_token grant
SN_SCHEMA_CACHE_TTL_SECNoTTL for schema cache300

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": true,
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
servicenow_query_tableA

Read records from any table (Table API): encoded query, fields, paging, fetchAll. '^' cannot be escaped inside a value; very long queries can hit HTTP 414 — split them. See the servicenow://reference/encoded-query resource.

servicenow_get_recordC

Read a single record from a table by its sys_id.

servicenow_create_recordC

Create a new record in a table with the given field values.

servicenow_update_recordB

Update fields on an existing record identified by its sys_id.

servicenow_upsert_recordA

Create or update one record matched by an exact key of field/value pairs: no match creates, one updates, several are refused (AMBIGUOUS_KEY). Pass the plan's expected_action / expected_sys_id with apply:true; a changed decision gives STALE_RECORD.

servicenow_delete_recordC

Delete a record from a table by its sys_id.

servicenow_list_tablesA

List tables from sys_db_object, optionally filtered by a name or label fragment.

servicenow_describe_tableA

List a table's columns from sys_dictionary (name, label, type, mandatory, reference, default, flags). details:true adds choice lists and dictionary overrides.

servicenow_aggregateA

Server-side aggregates (count, avg, min, max, sum) over a table via the Stats API, optionally grouped.

servicenow_set_credentialsA

Save connection credentials to the env file for later requests (any subset; auth / oauth_client_id / oauth_grant pick the method). Secrets are never arguments: list them in request_secrets for elicitation. See 'instance' for host changes.

servicenow_list_instancesB

List the connection profiles: name, host, user, auth method (and OAuth grant), refresh-token state, read-only flag, write mode, credentials complete. Secrets are never included.

servicenow_use_instanceA

Switch the connection profile (over HTTP: this session only unless persist).

servicenow_explain_policyA

Say whether a table may be read or written under the active policy and which rule decides, or, without a table, return the effective policy. Local; no instance call.

servicenow_get_statusA

Show instance, auth, missing credentials, per-profile write mode, policy, limits, TLS, queue, write counters, version, uptime. Secrets are never shown.

servicenow_test_connectionA

Verify the credentials work: reads one sys_user record, reports ok/status/latency. Auth and connectivity problems come back as ok:false, not errors.

servicenow_check_capabilitiesA

Preflight which sys_* tables are readable and which capabilities work — run it before scripts/flows/codecheck on a governed instance. 'groups' picks matrix probes; results are cached (refresh:true).

servicenow_list_packagesA

List tool packages with their session state: enabled, configured, denied, read-only, tool count. Toggle one with servicenow_enable_package / servicenow_disable_package.

servicenow_enable_packageA

Enable a tool package for this session (list_changed is sent). Denied packages are refused; a read-only package brings only its read tools. Ends with the session.

servicenow_disable_packageA

Disable a tool package for this session: its tools, resources and prompts are withdrawn (list_changed is sent). The admin tools cannot be disabled.

servicenow_find_toolsA

Search all tool packages, loaded or not, by intent; servicenow_enable_package loads a match's package.

Prompts

Interactive templates invoked by user choice

NameDescription
servicenow_incident_triageGuide the assistant through triaging an incident: summarise, assess priority, categorise, find similar incidents and recommend next steps.
servicenow_change_impact_analysisGuide the assistant through impact analysis for a change request: affected CIs, schedule conflicts, related changes and a go/no-go recommendation.
servicenow_instance_overviewGuide the assistant through what this connection can do: the capability matrix, the connection status and the tool packages that can be enabled for this session.
servicenow_safe_writeGuide the assistant through a safe write: check the write mode, read the current state, plan, apply only after the user approves, verify, and name the revert path.

Resources

Contextual data attached and managed by the client

NameDescription
statusCurrent instance, user, auth mode and access policy. Password is never included.
capabilitiesWhich admin-restricted sys_* tables the connected user can read, and which capabilities (schema reads, script intelligence, ACL audit) are therefore achievable, plus the per-group capability matrix (writes, update sets, attachments, aggregate, import sets, email, ATF, version, roles).
policyEffective table rules (exact and pattern), protected tables, import-set tables, read-only and write mode per profile — the guards' own evaluator.
tools-referenceEvery tool by package: read or write, whether it is registered under the current package policy, and a one-line summary.
encoded-queryEncoded-query syntax (operators, ORDERBY, javascript: values), its limits (no escaping, URL length) and how fetchAll pages.
tablesList of tables from sys_db_object (requires credentials).
incidentColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
problemColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
change_requestColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
sc_requestColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
sc_req_itemColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
sc_taskColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
taskColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
sys_userColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
sys_user_groupColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
cmdb_ciColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.
kb_knowledgeColumns of a table from sys_dictionary. URI: servicenow://schema/<table>.

TDQS

A3.7/5.0

Scored across 20 tools

Disambiguation4/5

The core table tools (query, get, create, update, upsert, delete) are clearly distinct, and schema/aggregate tools have unique purposes. The main overlap is among diagnostics/connection tools (get_status, explain_policy, check_capabilities, test_connection) and package discovery (list_packages vs find_tools), which are distinguishable but could blur for an agent.

Naming Consistency5/5

All tools consistently use the servicenow_ prefix with snake_case verb_noun naming (get_record, list_tables, enable_package, etc.). The convention is predictable throughout with no mixed styles.

Tool Count4/5

At 20 tools the set is on the heavier side, but it splits cleanly into record CRUD, schema/aggregation, connection diagnostics, and package management. Each tool appears to earn its place, though some diagnostic tools could potentially be consolidated.

Completeness4/5

The surface provides full record lifecycle coverage (query, get, create, update, upsert, delete) plus schema discovery, aggregation, connection management, and package toggling. Minor gaps remain around bulk operations, attachments, and field-level validation, but core ServiceNow table workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive