servicenow-mcp-ai
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SN_AUTH | No | Auth method: basic, oauth, apikey, token, or none | auto |
| SN_PORT | No | TCP port for http transport | 3000 |
| SN_USER | Yes | ServiceNow username for Basic auth | |
| SN_TLS_CA | No | Optional CA bundle PEM | |
| SN_API_KEY | No | ServiceNow Inbound API Key | |
| SN_DOCS_DIR | No | Directory for docs package | docs/instance |
| SN_ENV_FILE | No | Explicit path to env file | |
| SN_INSTANCE | Yes | ServiceNow instance URL or hostname | |
| SN_PASSWORD | Yes | ServiceNow password | |
| SN_READONLY | No | When truthy, refuse write operations | false |
| SN_HTTP_HOST | No | Bind address for http transport | 127.0.0.1 |
| SN_LOG_LEVEL | No | Log verbosity | info |
| SN_TRANSPORT | No | Transport: stdio or http | stdio |
| SN_CODESEARCH | No | Opt-in to Code Search API | false |
| SN_HTTP_TOKEN | No | Bearer token for http transport | |
| SN_REDACT_PII | No | Mask email/phone/national-id patterns | false |
| SN_TIMEOUT_MS | No | Per-request timeout in milliseconds | 30000 |
| SN_WRITE_MODE | No | Write mode: plan or apply | plan |
| SN_MAX_RECORDS | No | Hard cap on records returned | 10000 |
| SN_MAX_RETRIES | No | Retries for transient failures | 2 |
| SN_OAUTH_GRANT | No | OAuth grant type | password |
| SN_OAUTH_SCOPE | No | Optional OAuth scope | |
| SN_TABLES_DENY | No | Comma-separated table denylist | |
| SN_BEARER_TOKEN | No | Pre-obtained bearer token | |
| SN_TABLES_ALLOW | No | Comma-separated table allowlist | |
| SN_ALLOWED_HOSTS | No | Comma-separated allow-list of permitted hosts | |
| SN_OAUTH_JWT_KEY | No | PEM private key for jwt_bearer grant | |
| SN_PACKAGES_DENY | No | Packages to exclude | |
| SN_REDACT_FIELDS | No | Mask these field values | |
| SN_RESULT_PRETTY | No | Pretty-print JSON results | false |
| SN_TOOL_PACKAGES | No | Tool packages to enable | core |
| SN_ACTIVE_PROFILE | No | Active connection profile | default |
| SN_MAX_CONCURRENT | No | Maximum parallel HTTP requests | 4 |
| SN_TLS_CLIENT_KEY | No | Private key PEM for client certificate | |
| SN_OAUTH_CLIENT_ID | No | OAuth client id | |
| SN_TLS_CLIENT_CERT | No | Client certificate PEM for mTLS | |
| SN_MAX_RESULT_CHARS | No | Character budget for query result truncation | 100000 |
| SN_INCLUDE_REF_LINKS | No | Include reference field links | false |
| SN_PACKAGES_READONLY | No | Packages with read-only tools | |
| SN_OAUTH_REDIRECT_URI | No | Loopback redirect URL for PKCE login | http://localhost:53682/callback |
| SN_OAUTH_CLIENT_SECRET | No | OAuth client secret | |
| SN_OAUTH_REFRESH_TOKEN | No | Refresh token for refresh_token grant | |
| SN_SCHEMA_CACHE_TTL_SEC | No | TTL for schema cache | 300 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": true,
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| servicenow_incident_triage | Guide the assistant through triaging an incident: summarise, assess priority, categorise, find similar incidents and recommend next steps. |
| servicenow_change_impact_analysis | Guide the assistant through impact analysis for a change request: affected CIs, schedule conflicts, related changes and a go/no-go recommendation. |
| servicenow_instance_overview | Guide 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_write | Guide 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
| Name | Description |
|---|---|
| status | Current instance, user, auth mode and access policy. Password is never included. |
| capabilities | Which 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). |
| policy | Effective table rules (exact and pattern), protected tables, import-set tables, read-only and write mode per profile — the guards' own evaluator. |
| tools-reference | Every tool by package: read or write, whether it is registered under the current package policy, and a one-line summary. |
| encoded-query | Encoded-query syntax (operators, ORDERBY, javascript: values), its limits (no escaping, URL length) and how fetchAll pages. |
| tables | List of tables from sys_db_object (requires credentials). |
| incident | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| problem | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| change_request | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| sc_request | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| sc_req_item | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| sc_task | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| task | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| sys_user | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| sys_user_group | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| cmdb_ci | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
| kb_knowledge | Columns of a table from sys_dictionary. URI: servicenow://schema/<table>. |
TDQS
Scored across 20 tools
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.
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.
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.
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.