Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WRITE_ENABLEDNoSet to 'true' to enable write operations (create/update/delete)false
MCP_TOOL_PACKAGENoTool package to use (e.g., 'full', 'service_desk', etc.)
SCRIPTING_ENABLEDNoSet to 'true' to enable script executionfalse
CMDB_WRITE_ENABLEDNoSet to 'true' to enable CMDB write operationsfalse
NOW_ASSIST_ENABLEDNoSet to 'true' to enable Now Assist AI featuresfalse
SN_INSTANCES_CONFIGNoPath to instances JSON file for multi-instance support
SERVICENOW_INSTANCE_URLNoThe URL of your ServiceNow instance (e.g., https://dev12345.service-now.com)
SERVICENOW_OAUTH_PASSWORDNoThe password for Password Grant authentication (required if using password grant)
SERVICENOW_OAUTH_USERNAMENoThe username for Password Grant authentication (required if using password grant)
SERVICENOW_OAUTH_CLIENT_IDNoThe OAuth client ID from the Application Registry
SERVICENOW_OAUTH_CLIENT_SECRETNoThe OAuth client secret from the Application Registry

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
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
query_recordsB

Query ServiceNow records with filtering, field selection, pagination, and sorting

get_table_schemaA

Get the structure and field information for a ServiceNow table

get_recordA

Retrieve complete details of a specific record by sys_id

get_userB

Look up user details by email or username

get_groupA

Find assignment group details by name or sys_id

search_cmdb_ciB

Search for configuration items (CIs) in the CMDB

get_cmdb_ciB

Get complete information about a specific configuration item

list_relationshipsA

Show parent and child relationships for a CI

list_discovery_schedulesA

List discovery schedules and their run status

list_mid_serversA

List MID servers and verify they are healthy

list_active_eventsA

List Event Management events (em_event), newest first. Defaults to unprocessed events (state Ready or Error); pass state "all" for every event. For the alerts operators act on, use list_alerts.

cmdb_health_dashboardA

Get CMDB data quality metrics (completeness of server and network CI data)

service_mapping_summaryA

View service dependencies and related CIs for impact analysis

natural_language_searchB

Search ServiceNow using plain English (experimental)

natural_language_updateA

Update a record using natural language (experimental, requires WRITE_ENABLED=true)

list_instancesA

List all configured ServiceNow instances (multi-instance / multi-customer support)

switch_instanceA

Switch the active ServiceNow instance for this session

get_current_instanceA

Get the currently active ServiceNow instance name and URL

create_ci_relationshipC

[CMDB Write] Create a relationship between two CMDB Configuration Items

cmdb_impact_analysisB

Analyze the downstream impact of a Configuration Item change or outage

run_discovery_scanB

[CMDB Write] Trigger a ServiceNow Discovery scan for network/infrastructure

describe_tableA

Return full field schema for a ServiceNow table using sys_dictionary — includes field types, reference targets, mandatory/unique flags, and parent table. More accurate than get_table_schema for empty tables or custom tables.

check_table_accessA

Diagnose the connected service account's effective access to one or more tables BEFORE attempting operations. Returns per-table readable/writable flags plus a status that distinguishes WHY access failed: "not_installed" (Invalid table — the table does not exist, e.g. plugin/app not installed), "no_access" (403 — table exists but ACL denies this account), "empty" (readable but zero rows — truly empty or ACL row filtering), or "accessible". Also returns the account's current user and assigned roles. Read is probed with a sysparm_limit=1 GET; write is probed non-destructively with an empty PATCH to a reserved all-zero sys_id (404=writable, 403=denied) — no record is ever created or modified. Useful to check whether a plugin is installed and to avoid "User Not Authorized" retries.

get_integration_healthA

Report the health of Vulnerability Response data integration runs (sn_vul_integration_run) over a recent window. Surfaces failed runs and — critically — silent stalls where no runs occurred at all (e.g. an NVD/Qualys feed quietly failing with 503/429). Returns success/failure counts, the most recent success and failure timestamps, recent run details, and actionable alerts.

create_incidentA

Create a new incident record (requires WRITE_ENABLED=true)

get_incidentA

Get full details of an incident by number (e.g. INC0012345) or sys_id

update_incidentA

Update fields on an existing incident (requires WRITE_ENABLED=true)

resolve_incidentA

Resolve an incident with resolution code and notes (requires WRITE_ENABLED=true)

close_incidentA

Close a resolved incident (requires WRITE_ENABLED=true)

add_work_noteA

Add an internal work note to any ITSM record (requires WRITE_ENABLED=true)

add_commentA

Add a customer-visible comment to any ITSM record (requires WRITE_ENABLED=true)

create_problemB

Create a new problem record (requires WRITE_ENABLED=true)

get_problemA

Get full details of a problem by number (PRB...) or sys_id

update_problemB

Update fields on an existing problem (requires WRITE_ENABLED=true)

resolve_problemA

Resolve a problem with root cause and resolution notes (requires WRITE_ENABLED=true)

create_change_requestB

Create a new change request (requires WRITE_ENABLED=true)

get_change_requestA

Get full details of a change request by number (CHG...) or sys_id

update_change_requestB

Update fields on a change request (requires WRITE_ENABLED=true)

list_change_requestsA

List change requests with optional filtering by state or query

submit_change_for_approvalA

Move a change request to "Requested" state for approval (requires WRITE_ENABLED=true)

close_change_requestA

Close a change request with close code and notes (requires WRITE_ENABLED=true)

schedule_cab_meetingC

[Write] Schedule a Change Advisory Board (CAB) meeting

get_taskA

Get details of any task record by number or sys_id

update_taskB

Update fields on a task record (requires WRITE_ENABLED=true)

list_my_tasksA

List tasks assigned to the currently configured user

complete_taskA

Mark a task as complete (requires WRITE_ENABLED=true)

list_knowledge_basesB

List all knowledge bases available in the instance

search_knowledgeA

Search knowledge base articles by keyword

get_knowledge_articleA

Get the full content of a knowledge article by number (KB...) or sys_id

create_knowledge_articleB

Create a new knowledge article (requires WRITE_ENABLED=true)

update_knowledge_articleB

Update a knowledge article (requires WRITE_ENABLED=true)

publish_knowledge_articleA

Publish a draft knowledge article (requires WRITE_ENABLED=true)

retire_knowledge_articleA

[Write] Retire a knowledge article (mark as outdated)

list_catalog_itemsC

List available service catalog items

search_catalogA

Search the service catalog for items matching a keyword

get_catalog_itemA

Get full details of a catalog item including its variables

create_catalog_itemA

Create a new service catalog item (requires WRITE_ENABLED=true)

update_catalog_itemB

Update an existing catalog item (requires WRITE_ENABLED=true)

order_catalog_itemA

Order a service catalog item (requires WRITE_ENABLED=true)

create_approval_ruleA

Create an approval rule that automatically generates approval requests when a record matches given conditions (requires WRITE_ENABLED=true). Uses the sysapproval_rule table.

get_my_approvalsA

List approvals pending for the currently configured user

list_approvalsA

List approval requests with optional filters

approve_requestA

Approve a pending approval request (requires WRITE_ENABLED=true)

reject_requestA

Reject a pending approval request (requires WRITE_ENABLED=true)

get_sla_detailsA

Get SLA breach status for a specific task or incident

list_active_slasA

List active SLA records with optional filters

create_catalog_variableA

[Write] Add a form variable to a service catalog item

create_catalog_ui_policyA

[Write] Create a UI policy for a catalog item form

list_requestsB

List service catalog requests (sc_request). Supports filtering by state and requested_for user.

get_requestA

Get a service catalog request (sc_request) by number or sys_id, including its requested items

list_request_itemsB

List requested items (sc_req_item) for a given request or catalog item

get_request_itemA

Get a requested item (sc_req_item) by number or sys_id, including its fulfillment tasks

cancel_requestA

Cancel an open service catalog request (requires WRITE_ENABLED=true)

update_request_itemA

Update a requested item — stage, assignment, or work notes (requires WRITE_ENABLED=true)

list_usersB

List users with optional search filter

create_userA

Create a new user account (requires WRITE_ENABLED=true)

update_userB

Update a user account (requires WRITE_ENABLED=true)

list_groupsA

List groups with optional search filter

create_groupA

Create a new assignment group (requires WRITE_ENABLED=true)

update_groupA

Update a group (requires WRITE_ENABLED=true)

add_user_to_groupA

Add a user to a group (requires WRITE_ENABLED=true)

remove_user_from_groupA

Remove a user from a group (requires WRITE_ENABLED=true)

list_reportsA

List saved reports in the instance (latest release: /api/now/reporting)

get_reportA

Get the definition and metadata of a saved report

run_aggregate_queryB

Run a grouped aggregate (COUNT, SUM, AVG) query on any table (latest release: /api/now/stats/{table})

trend_queryB

Get time-bucketed trend data for a table (useful for monthly/weekly trend charts)

get_performance_analyticsB

Get Performance Analytics widget data (requires PA plugin; latest release: /api/now/pa/widget/{sys_id})

export_report_dataB

Export raw table data as structured JSON for use in external reports

get_sys_logA

Retrieve system log entries for debugging or auditing

list_scheduled_jobsA

List scheduled jobs and their run schedules

get_scheduled_jobA

Get full details of a scheduled job by sys_id or name

create_scheduled_jobA

Create a new scheduled script execution job (requires WRITE_ENABLED=true)

update_scheduled_jobB

Update a scheduled job (requires WRITE_ENABLED=true)

trigger_scheduled_jobA

Immediately execute a scheduled job on-demand (requires WRITE_ENABLED=true)

create_reportA

Create a new saved report on any table (requires WRITE_ENABLED=true)

update_reportB

Update an existing saved report definition (requires WRITE_ENABLED=true)

list_job_run_historyA

Read scheduler history aggregates by job classification and time window (sys_scheduler_job_history), not individual job success/failure logs. job_sys_id and status filters are unsupported.

create_scheduled_reportB

[Write] Schedule a report for recurring email delivery

create_kpiC

[Write] Create a Key Performance Indicator from ServiceNow data

list_atf_suitesA

List ATF test suites in the instance

get_atf_suiteA

Get details of a test suite including test count

run_atf_suiteA

Execute an ATF test suite (requires ATF_ENABLED=true)

list_atf_testsA

List ATF test cases, optionally filtered by suite

get_atf_testA

Get details of a specific test case

run_atf_testA

Execute a single ATF test (requires ATF_ENABLED=true)

get_atf_suite_resultB

Get the results of a test suite run

list_atf_test_resultsA

List individual test results within a suite run

get_atf_failure_insightA

Get ATF Failure Insight data — metadata changes between last successful and failed run (role changes, field value changes)

nlq_queryB

Ask a natural language question and get structured ServiceNow data (ServiceNow NLQ API)

ai_searchA

Semantic AI-powered search across KB, catalog, incidents (ServiceNow AI Search)

generate_summaryB

Generate an AI summary of any record using Now Assist (latest release: sn_assist/skill/summarize)

suggest_resolutionA

Get AI-powered resolution suggestion for an incident based on similar past incidents

categorize_incidentA

Use Predictive Intelligence to predict category, assignment group, and priority (latest release: LightGBM algorithm)

get_virtual_agent_topicsB

List Virtual Agent topics available in the instance (latest release: streaming VA API)

trigger_agentic_playbookB

Invoke an Agentic Playbook — context-aware AI agents that complete tasks autonomously

get_ms_copilot_topicsA

List VA topics exposed to Microsoft Copilot 365 via Custom Engine Agent integration

generate_work_notesB

Generate AI-drafted work notes for a record based on its current context

get_pi_modelsA

List available Predictive Intelligence solutions (classification/similarity models)

list_business_rulesA

List business rules (requires SCRIPTING_ENABLED=true)

get_business_ruleA

Get full details and script body of a business rule (requires SCRIPTING_ENABLED=true)

create_business_ruleA

Create a new business rule (requires SCRIPTING_ENABLED=true). ServiceNow supports ES2021 async/await in scripts.

update_business_ruleB

Update a business rule (requires SCRIPTING_ENABLED=true)

list_script_includesA

List script includes (requires SCRIPTING_ENABLED=true)

get_script_includeA

Get full script body of a script include (requires SCRIPTING_ENABLED=true)

create_script_includeA

Create a new script include (requires SCRIPTING_ENABLED=true)

update_script_includeA

Update a script include (requires SCRIPTING_ENABLED=true)

list_client_scriptsA

List client scripts (requires SCRIPTING_ENABLED=true)

get_client_scriptA

Get full details and script body of a client script (requires SCRIPTING_ENABLED=true)

list_changesetsA

List update sets (changesets) (requires SCRIPTING_ENABLED=true)

get_changesetA

Get details of an update set (requires SCRIPTING_ENABLED=true)

commit_changesetA

Commit an update set (requires SCRIPTING_ENABLED=true)

publish_changesetA

Publish/export an update set to XML for deployment (requires SCRIPTING_ENABLED=true)

create_client_scriptA

Create a new client script (onLoad, onChange, onSubmit, onCellEdit) (requires SCRIPTING_ENABLED=true)

update_client_scriptB

Update an existing client script (requires SCRIPTING_ENABLED=true)

list_ui_policiesA

List UI Policies for a table (field visibility, mandatory, read-only rules) (requires SCRIPTING_ENABLED=true)

get_ui_policyA

Get full details and conditions of a UI Policy (requires SCRIPTING_ENABLED=true)

create_ui_policyA

Create a new UI Policy to control field behavior dynamically (requires SCRIPTING_ENABLED=true)

list_ui_actionsA

List UI Actions (buttons, context menus, related links) for a table (requires SCRIPTING_ENABLED=true)

get_ui_actionA

Get full details and script of a UI Action (requires SCRIPTING_ENABLED=true)

create_ui_actionA

Create a new UI Action (button or link) on a form (requires SCRIPTING_ENABLED=true)

update_ui_actionB

Update an existing UI Action (requires SCRIPTING_ENABLED=true)

list_aclsA

List Access Control rules (ACLs) — who can read/write/create/delete records (requires SCRIPTING_ENABLED=true)

get_aclA

Get full details of an ACL rule including its script and role requirements (requires SCRIPTING_ENABLED=true)

create_aclA

Create a new ACL rule to control access to a table or field (requires SCRIPTING_ENABLED=true)

update_aclA

Update an existing ACL rule (requires SCRIPTING_ENABLED=true)

create_storyA

Create a new agile story/user story (requires WRITE_ENABLED=true)

update_storyB

Update an agile story (requires WRITE_ENABLED=true)

list_storiesB

List agile stories with optional sprint or state filter

create_epicB

Create a new epic (requires WRITE_ENABLED=true)

update_epicA

Update an epic (requires WRITE_ENABLED=true)

list_epicsA

List epics with optional product, theme or state filter

create_scrum_taskA

Create a scrum task (sub-task of a story) (requires WRITE_ENABLED=true)

update_scrum_taskB

Update a scrum task (requires WRITE_ENABLED=true)

list_scrum_tasksA

List scrum tasks, optionally filtered by story

create_hr_caseB

Create a new HR Service Delivery case (requires WRITE_ENABLED=true)

get_hr_caseA

Get full details of an HR case by number (e.g. HRCS0001234) or sys_id

update_hr_caseB

Update fields on an existing HR case (requires WRITE_ENABLED=true)

list_hr_casesA

List HR cases with optional filters (status, subject person, service)

close_hr_caseA

Close an HR case with resolution notes (requires WRITE_ENABLED=true)

list_hr_servicesA

List available HR services (Onboarding, Offboarding, Benefits, Payroll, etc.)

get_hr_serviceA

Get details of a specific HR service including its tasks and SLAs

get_hr_profileA

Get the HR profile for a user (employment details, department, manager)

update_hr_profileA

Update HR profile fields for a user (requires WRITE_ENABLED=true)

list_hr_tasksA

List HR tasks associated with an HR case

create_hr_taskA

Create a task within an HR case (requires WRITE_ENABLED=true)

get_hr_case_activityA

Get the full activity log and journal entries for an HR case

create_onboarding_caseA

Create an employee onboarding case with all standard tasks. [Write]

create_offboarding_caseB

Create an employee offboarding case with exit tasks. [Write]

get_hr_lifecycle_eventsA

Get HR lifecycle events for an employee (promotions, transfers, leaves)

list_hr_document_templatesA

List available HR document templates (offer letters, contracts, policies)

create_csm_caseA

Create a new Customer Service case (requires WRITE_ENABLED=true)

get_csm_caseA

Get full details of a CSM case by number (e.g. CS0001234) or sys_id

update_csm_caseA

Update fields on an existing CSM case (requires WRITE_ENABLED=true)

list_csm_casesA

List CSM cases with optional filters (account, contact, state, priority)

close_csm_caseA

Close a CSM case with resolution details (requires WRITE_ENABLED=true)

get_csm_accountA

Get details of a customer account including contacts and open cases count

list_csm_accountsB

List customer accounts with optional search filter

get_csm_contactA

Get details of a customer contact (name, account, phone, email)

list_csm_contactsA

List contacts for an account or search across all contacts

get_csm_case_slaA

Get SLA details and remaining time for a CSM case

list_csm_productsA

List products and services available in the CSM catalog

create_security_incidentA

Create a Security Operations incident (requires WRITE_ENABLED=true)

get_security_incidentA

Get full details of a security incident by number or sys_id

update_security_incidentB

Update a security incident record (requires WRITE_ENABLED=true)

list_security_incidentsB

List security incidents with filters (severity, state, category)

list_vulnerabilitiesA

List vulnerability entries from the Vulnerability Response module

get_vulnerabilityA

Get details of a specific vulnerability entry including CVSS score and affected CIs

update_vulnerabilityA

Update a vulnerability entry (state, risk acceptance notes, remediation date) (requires WRITE_ENABLED=true)

get_threat_intelligenceA

Query threat intelligence data — IOCs, threat actors, and campaigns

list_security_playbooksA

List Security Incident Response playbooks. These are Process Automation Designer definitions (sys_pd_process_definition) shipped in the sn_si_aw scope, e.g. the Malware / Phishing / Failed Login templates.

run_security_playbookA

Start a Security Incident Response playbook (a Process Automation Designer definition in the sn_si_aw scope) against a security incident, the same way the SIR Analyst Workspace does: sn_playbook.PlaybookExperience.triggerPlaybook(). Schedules a one-time server script, so it requires SCRIPTING_ENABLED=true. Skips if that playbook is already queued or in progress on the incident. Set wait_seconds to poll for the resulting execution (sys_pd_context). [Scripting]

get_security_dashboardA

Get security posture dashboard — open incidents by severity, vulnerability counts, mean time to resolve

scan_vulnerabilitiesA

Create a Vulnerability Response scan (sn_vul_scan) for a set of CIs or Vulnerable Items and hand it to the active scanner integration, the same way the "Initiate Scan" / "Rescan" actions do. Needs an active scanner (sn_vul_scanner, e.g. Qualys/Tenable/Rapid7) unless initiate=false, which leaves a Draft scan to launch from the UI. Runs as a server script in a run-once job (SCRIPTING_ENABLED) because the scan state and target links are not writable through the Table API. [Write]

list_flowsA

List Flow Designer flows with optional filter by name, category, or active status

get_flowA

Get full details of a Flow Designer flow including its actions and trigger

trigger_flowA

Trigger a Flow Designer flow with optional input parameters (requires WRITE_ENABLED=true)

get_flow_executionA

Get the status and details of a specific flow execution

list_flow_executionsA

List recent executions of a flow with status (completed, error, running)

list_subflowsA

List available subflows that can be reused across flows

get_subflowA

Get full details of a subflow including its inputs, outputs, and actions

list_action_instancesB

List reusable Flow Designer action instances available in the environment

get_process_automationC

Get details of a Process Automation Designer playbook or process

list_process_automationsC

List Process Automation Designer playbooks and processes

create_flowB

Create a new Flow Designer flow. [Write]

create_subflowB

Create a new reusable subflow. [Write]

create_flow_actionA

Create a custom Flow Designer action. [Scripting]

publish_flowA

Set active=true on a flow or subflow after verifying its type. This metadata update does not compile or perform the Flow Designer publish lifecycle. [Write]

test_flowB

Execute a flow in test mode with sample inputs. [Write]

get_flow_error_logA

Get detailed error logs for failed flow executions

list_portalsA

List all Service Portal configurations available in the instance

create_portalA

Create a new Service Portal configuration (requires WRITE_ENABLED=true)

create_portal_pageA

Create a new page inside a Service Portal (requires WRITE_ENABLED=true)

get_portalA

Get full configuration details of a Service Portal by sys_id or URL suffix

list_portal_pagesA

List pages that belong to a Service Portal

get_portal_pageB

Get details of a specific Service Portal page including its layout

list_portal_widgetsA

List Service Portal widgets with optional search by name or category

get_portal_widgetA

Get full source code (HTML, CSS, client/server scripts) of a Service Portal widget

create_portal_widgetA

Create a new Service Portal widget with template, CSS, and scripts (requires WRITE_ENABLED=true and SCRIPTING_ENABLED=true)

update_portal_widgetA

Update an existing Service Portal widget's source code (requires WRITE_ENABLED=true and SCRIPTING_ENABLED=true, including metadata-only updates)

list_widget_instancesB

List instances of a specific widget placed on portal pages

list_ux_appsA

List Next Experience (UI Builder) applications

get_ux_appA

Get configuration details of a Next Experience application

list_ux_pagesB

List pages within a Next Experience (UI Builder) application

list_portal_themesA

List Service Portal themes (color palettes, CSS variables)

get_portal_themeA

Get full details of a Service Portal theme including CSS variables

list_rest_messagesA

List outbound REST Message configurations (integrations with external APIs)

get_rest_messageA

Get full configuration of an outbound REST Message including its endpoints

list_rest_message_functionsA

List HTTP methods (functions) defined within a REST Message

create_rest_messageA

Create a new outbound REST Message definition (requires WRITE_ENABLED=true)

list_transform_mapsB

List Transform Maps used for importing data into ServiceNow tables

get_transform_mapA

Get details of a Transform Map including its field mappings

run_transform_mapA

Request a Transform Map run on an Import Set by creating a sys_import_set_run record; whether this starts the transform is not verified (requires WRITE_ENABLED=true; also SCRIPTING_ENABLED=true when the map runs scripts or targets a protected platform table such as sys_*/sp_*)

list_transform_field_mapsA

List field-level mappings within a Transform Map

list_import_setsB

List Import Sets with optional filter by state or staging table

get_import_setA

Get details of a specific Import Set including row count and transform status

create_import_set_rowA

Insert a row into an Import Set staging table (a table extending sys_import_set_row) for later transformation (requires WRITE_ENABLED=true)

import_excel_to_import_setA

Upload and parse one .xlsx worksheet, create an Import Set, insert its staging rows, and optionally request a Transform Map run (transform start is not verified). Requires WRITE_ENABLED=true. The original workbook is attached to the Import Set for auditability; formulas and sys_* columns are rejected.

list_data_sourcesA

List Import Set data source definitions (file/JDBC/REST loaders)

list_event_registryA

List registered event definitions in the ServiceNow event registry

get_event_registry_entryA

Get details of a specific registered event definition

register_eventA

Register a new custom event in the event registry (requires SCRIPTING_ENABLED=true)

fire_eventA

Fire a custom ServiceNow event for a specific record (requires WRITE_ENABLED=true)

list_event_logB

List recent event log entries (fired events and their processing status)

list_oauth_applicationsA

List OAuth application registry entries (client applications that can authenticate)

list_credential_aliasesA

List connection and credential aliases used by integrations

list_soap_messagesA

List outbound SOAP Message configurations (sys_soap_message). Endpoints live on each function, not the message.

get_soap_messageA

Get full configuration of a SOAP Message including its functions/operations

list_soap_message_functionsA

List SOAP Message Functions (operations) for a given SOAP Message

create_soap_messageA

Create a new outbound SOAP Message definition in sys_soap_message (requires WRITE_ENABLED=true). The endpoint URL is set per function via create_soap_message_function.

create_soap_message_functionA

Add a SOAP function (operation) to an existing SOAP Message in sys_soap_message_function (requires WRITE_ENABLED=true)

list_notificationsA

List email notification definitions (sysevent_email_action)

get_notificationA

Get full details of an email notification definition including template and conditions

create_notificationA

Create a new email notification definition (requires WRITE_ENABLED=true)

update_notificationA

Update an existing email notification (requires WRITE_ENABLED=true)

list_email_logsA

List outbound email log entries to track sent/failed emails

get_email_logA

Get full details of an email log entry including body and headers

list_attachmentsC

List attachments associated with a specific record

get_attachment_metadataA

Get metadata (name, type, size) of a specific attachment by its sys_id

delete_attachmentA

Delete an attachment from a record (requires WRITE_ENABLED=true)

upload_attachmentA

Upload a base64-encoded attachment to a ServiceNow record (requires WRITE_ENABLED=true). Useful for adding files, screenshots, or documents to incidents, changes, etc.

list_email_templatesC

List email notification templates used by notifications

list_notification_subscriptionsA

List user subscriptions to notifications (who has opted in/out)

send_emergency_broadcastC

[Write] Send emergency broadcast notification to users or groups

schedule_notificationC

[Write] Schedule a notification for future delivery

list_pa_indicatorsA

List Performance Analytics (PA) indicators (KPIs) available in the instance

get_pa_indicatorA

Get details of a specific Performance Analytics indicator including its formula

get_pa_scorecardA

Get current scorecard data for a PA indicator — returns current value, target, trend direction

get_pa_time_seriesB

Get historical time-series data for a PA indicator to identify trends

list_pa_breakdownsA

List PA breakdowns (dimensions) available for segmenting indicator data

list_pa_dashboardsB

List Performance Analytics dashboards

get_pa_dashboardA

Get details of a PA dashboard including its widgets/tabs

list_homepagesA

List homepage dashboards (CMS content pages used as homepages)

list_pa_jobsC

List Performance Analytics data collection jobs and their schedules

get_pa_jobB

Get details of a Performance Analytics collection job

create_dashboardA

Create a new Performance Analytics dashboard (requires WRITE_ENABLED=true)

update_dashboardB

Update an existing PA dashboard (requires WRITE_ENABLED=true)

check_table_completenessB

Analyze data quality and field completeness for a ServiceNow table — returns percentage of non-empty values per field

get_table_record_countA

Get total record count for a ServiceNow table with optional filters

compare_record_countsB

Compare record counts across multiple ServiceNow tables or time periods — useful for capacity planning

get_instance_diagnosticsA

Get live instance performance diagnostics: JVM memory, semaphore pools (concurrency/queue depth), and cluster node status — the data behind the Performance homepage (/stats.do)

get_performance_historyA

Get historical transaction performance as a time series (transaction count, avg/max response time, SQL time, business rule time per bucket) from the transaction log — chartable data for instance performance trends, replacing the legacy Performance dashboard graphs

get_system_propertyA

Get a ServiceNow system property value and metadata by name

set_system_propertyB

Create or update a ServiceNow system property value. [Write]

list_system_propertiesC

List system properties with optional filtering

delete_system_propertyA

Delete a system property by name. [Write]

search_system_propertiesA

Search system properties by name, value, or description

bulk_get_propertiesB

Retrieve multiple system property values in a single call

bulk_set_propertiesA

Create or update multiple system properties in a single operation. [Write]

export_propertiesA

Export system properties matching a query to a JSON object (useful for environment snapshots)

import_propertiesA

Import (create or update) system properties from a JSON object. [Write]

validate_propertyA

Validate a property value against its declared type constraints without saving

list_property_categoriesA

List all unique property categories with their record counts

get_property_historyA

Get audit history of changes to a system property

get_current_update_setA

Get the currently active Update Set for the session

list_update_setsB

List Update Sets by state (in progress, complete, ignore)

create_update_setA

Create a new Update Set and optionally switch to it. [Scripting]

switch_update_setA

Switch the active Update Set context to a specified Update Set. [Scripting]

complete_update_setC

Mark an Update Set as complete (ready for migration). [Scripting]

preview_update_setB

Preview all changes contained in an Update Set

scan_update_set_scaB

Read-only SCA scan for an Update Set. Inventories script-bearing changes and returns normalized, exact-version component metadata with hashed evidence only; source code is never returned.

export_update_setB

Get the XML export payload for an Update Set (as used in migration). [Scripting]

ensure_active_update_setA

Ensure an active Update Set exists; create one automatically if none is in progress. [Scripting]

create_va_topicC

Create a new Virtual Agent conversation topic. [Write]

update_va_topicC

Update a Virtual Agent topic properties. [Write]

get_va_topicB

Get Virtual Agent topic details including intent and trigger phrases

list_va_topics_fullB

List all Virtual Agent topics with category and status details

get_va_conversationA

Get conversation history for a Virtual Agent session

list_va_conversationsA

List recent Virtual Agent conversations

list_va_categoriesA

List Virtual Agent topic categories

list_assetsB

List IT assets with optional filtering by state, class, or assigned user

get_assetA

Get full details of an IT asset including financial and lifecycle data

create_assetB

Create a new IT asset record. [Write]

update_assetC

Update an IT asset record. [Write]

retire_assetA

Retire an IT asset (mark as disposed/retired). [Write]

list_software_licensesA

List software license records with compliance status

get_license_complianceA

Get license compliance summary — purchased vs. installed vs. in use counts

list_asset_contractsB

List asset maintenance and support contracts

track_asset_lifecycleC

Track asset lifecycle events and stage transitions

get_license_optimizationB

Analyze software license usage and recommend optimizations

list_software_installsB

List discovered software installations with publisher, version, and license status

get_software_installB

Get full details of a discovered software installation

list_software_productsC

List the normalized software product catalog (publisher, product type)

list_license_positionsA

List SAM Pro effective license position (ELP) records — owned vs. used rights per product

get_license_position_summaryA

Aggregate license-compliance dashboard: over-licensed vs. under-licensed counts, total potential savings, total true-up cost

list_software_discovery_modelsC

List normalized software discovery models (raw discovery output before/after normalization)

list_software_modelsB

List software models — specific version/edition entitlement units of a product (license type, EOL date, install count)

get_software_modelA

Get full details of a software model (rights, consumption rules, EOL date, lifecycle stage)

list_software_lifecycle_reportsB

List software lifecycle reports — current/upcoming EOL/EOS phase, install count, and CVE exposure per product

get_software_lifecycle_reportA

Get full lifecycle report details for one product (all phase dates, CVE breakdown, owners)

list_software_lifecycle_entriesB

List software lifecycle master data — publisher-provided phase entries (GA/EOL/EOS/EOES) per product/version, with risk rating

list_discovery_runsA

List Discovery run history (discovery_status) — state, duration, and progress per scan, newest first

get_discovery_runB

Get one Discovery run by sys_id or number (DIS...), including full status fields

list_discovered_devicesA

List per-device Discovery results (discovery_device_history) — classification, resulting CI, and issue count. Use to answer "why was this server not discovered?"

list_discovery_logsA

List Discovery log entries (discovery_log) — sensor/probe messages with result codes, newest first

list_discovery_rangesA

List Discovery IP ranges (discovery_range_item) — which IP ranges/networks are scanned

list_discovery_credentialsA

List Discovery credential METADATA (name, type, order, MID scope) — secret fields are never returned

list_mid_server_issuesB

List MID Server issues (ecc_agent_issue) — detected problems with source, occurrence count, and last-detected time

list_mid_extension_contextsA

List MID Server extension contexts (ecc_agent_ext_context) — e.g. MID Web Server, ACC Websocket Endpoint — with status and error_message. Key for troubleshooting ACC listener setup: a missing "ACC Websocket Endpoint" context means agents get handshake 404s.

list_ecc_queueA

Inspect the ECC Queue (ecc_queue) — the job/result bus between the instance and MID Servers. Useful for debugging Discovery, integrations, and ACC data flow. Payload is excluded by default (can be very large); set include_payload to fetch it. CAUTION: payloads can contain sensitive data (command output, host details, credential references) — request them only when needed and handle the output accordingly.

get_mid_server_healthA

MID Server health summary — status, version, last refresh, open issues, extension contexts (web server / ACC listener), and output-queue backlog sample

list_acc_agentsA

List ACC (Agent Client Collector) agents and their status. Requires the ACC plugin

list_acc_policiesA

List ACC monitoring/check policies. Requires the ACC plugin

list_acc_checksB

List ACC check definitions. Requires the ACC plugin

list_alertsA

List Event Management alerts (em_alert) with operational filters. Defaults to alerts that are not Closed, most severe first.

get_alertA

Get one alert by number or sys_id, with its recent history (em_alert_history) and related tasks (incident/change/problem links).

get_alert_summaryA

Operational overview of open alerts: counts by severity, by state, acknowledged vs not, and the top sources. Read-only.

acknowledge_alertA

Acknowledge an alert (sets acknowledged=true, exactly like the "Acknowledge" list action), optionally with a work note. Already-acknowledged alerts are reported, not re-written. [Write]

close_alertA

Close an alert (state=Closed, like the "Close" action; also acknowledges it when evt_mgmt.alert_ack_on_close is true), optionally with a work note. Refuses alerts that are already Closed. [Write]

update_alertA

Assign or annotate an alert. Allowed fields: assigned_to, assignment_group, work_notes, maintenance, short_description, description, kb. Use acknowledge_alert / close_alert for state changes. [Write]

list_devops_pipelinesB

List DevOps pipeline configurations registered in ServiceNow

get_devops_pipelineA

Get details of a specific DevOps pipeline

list_deploymentsB

List recent application deployments tracked in ServiceNow

get_deploymentA

Get details and status of a specific deployment

create_devops_changeA

Create a change request linked to a DevOps deployment for change governance. [Write]

track_deploymentA

Record a deployment event in ServiceNow for audit and velocity tracking. [Write]

get_devops_insightsA

Get deployment frequency, failure rate, and lead time metrics for a pipeline

list_scoped_appsA

List scoped applications (custom apps) installed in the instance

get_scoped_appA

Get full details of a scoped application by sys_id or scope name

create_scoped_appA

Create a new scoped application in App Studio (requires WRITE_ENABLED=true). The scope prefix must be unique and follow the pattern x__.

update_scoped_appB

Update an existing scoped application (requires WRITE_ENABLED=true)

ml_predict_change_riskA

Predict the risk level of a change request using historical ML analysis

ml_detect_anomaliesB

Run anomaly detection on operational metrics (alert volume, incident trends, etc.)

ml_forecast_incidentsA

Forecast incident volume for the next N days based on historical trends

ml_train_incident_classifierB

Trigger training of the incident classification ML solution. [Write]

ml_train_change_riskA

Trigger training of the change risk prediction ML model. [Write]

ml_train_anomaly_detectorB

Trigger training of an anomaly detection model for a specific table/field. [Write]

ml_evaluate_modelA

Get accuracy, training status, and metrics for a trained ML solution

ml_model_training_historyA

Get training run history and accuracy trends for an ML solution over time

ml_virtual_agent_nluA

Analyse Virtual Agent NLU performance — conversation completion rates and fallback metrics

ml_process_optimizationB

Identify process bottlenecks using analysis of task durations and reassignment patterns

list_uib_pagesA

List UI Builder pages and their route configurations

get_uib_pageA

Get details of a specific UI Builder page including layout and child elements

create_uib_pageA

Create a new UI Builder page with route registration. [Write]

update_uib_pageC

Update an existing UI Builder page. [Write]

delete_uib_pageB

Delete a UI Builder page. [Write]

list_uib_componentsB

List available UI Builder components (macroponents) in the instance

create_uib_componentB

Create a custom UI Builder component (macroponent). [Scripting]

update_uib_componentC

Update a UI Builder component. [Scripting]

list_uib_data_brokersA

List UI Builder data brokers (data sources for pages)

create_uib_data_brokerB

Create a UI Builder data broker to feed data to a page. [Scripting]

list_workspacesA

List legacy Agent Workspace definitions (sys_aw_master_config), not Configurable Workspace UX applications

get_workspaceB

Get a legacy Agent Workspace definition and up to 50 of its sys_aw_list configurations

create_workspaceA

Create inactive legacy Agent Workspace metadata only. Does not provision a Configurable Workspace or its pages. Configure lists separately. [Write]

configure_workspace_listA

Create a legacy sys_aw_list configuration under an existing Agent Workspace. query maps to the condition column. Does not update existing lists or configure UX lists. [Write]

create_ux_app_routeC

Register a new route (URL path) in a UX app. [Write]

create_ux_experienceB

Create a new UX Experience (app shell) configuration. [Write]

list_mobile_app_configsB

List sys_sg_mobile_application definitions, not installed client usage. This model has no active column.

get_mobile_app_configA

Get details of a specific mobile app configuration

create_mobile_app_configA

Create a name-only sys_sg_mobile_application metadata record. Does not provision an installable mobile app, branding, navigation or screens. [Write]

list_mobile_appletsB

List native sys_sg_screen metadata. Historical applet name retained; scope is an application scope, not a mobile application ID.

create_mobile_appletB

Create base sys_sg_screen metadata only. Does not configure a screen subtype, data item, navigation or app association. [Write]

list_mobile_layoutsC

List sys_sg_screen_m2m_ui_element mappings, not complete mobile layout definitions. Historical tool name retained.

create_mobile_layoutB

Link an existing screen to an existing UI element. Creates only an M2M mapping, not a full layout or screen. [Write]

configure_offline_syncC

UNSUPPORTED: offline configuration requires a validated Mobile App Builder workflow. No state-table writes are performed. [Write]

send_push_notificationA

UNSUPPORTED: push delivery requires a validated notification workflow. No queue insert or delivery is performed. [Write]

get_mobile_analyticsA

UNSUPPORTED: no validated mobile session telemetry source is configured. Returns an error rather than invented usage counts.

find_artifactA

Search for platform artifacts by name, type, or scope (business rules, scripts, widgets, etc.)

validate_artifactB

Validate an artifact for best practices, security issues, and performance concerns

clone_artifactA

Clone a platform artifact to a new name/scope. [Scripting]

validate_deploymentA

Pre-validate an update set or app before deployment — check for conflicts and missing dependencies

rollback_deploymentA

Rollback a deployment by reverting an update set. [Write]

list_deployment_historyB

List deployment history — committed update sets and app installs over time

create_solution_packageB

Create a solution package from selected update sets for distribution. [Write]

execute_background_scriptA

Run server-side JavaScript on the instance and return what it returns. The script runs in the global scope inside a run-once Scheduled Script Execution (ServiceNow has no REST endpoint that runs scripts synchronously), so it executes when the instance scheduler picks the job up, normally within seconds. End the script with return <value>; to get a value back (JSON-serialisable; max ~3.5 KB). [Scripting]

import_cmdb_dataB

Import CI data into CMDB CI classes using a safe field allowlist. [CMDB Write]

analyze_data_qualityA

Analyse data quality for a table — completeness, duplicates, stale records

list_vulnerable_itemsA

List USEM Vulnerable Items (sn_vul_vulnerable_item). Filter by state, minimum risk score, CMDB CI, or assignment group. Returns curated fields ordered by descending risk score.

get_vulnerable_itemB

Get full details of a single Vulnerable Item by sys_id or VI number (e.g. "VIT0010003").

list_remediation_tasksA

List USEM Remediation Tasks across BOTH backing tables: sn_vul_remediation_task and sn_vul_vulnerability (the task-based group the rule engine actually creates RTs in — sys_class label "Remediation Task", number prefix VUL). Each record carries a source_table marker. Filter by state or assignment group; ordered by descending risk score.

get_remediation_taskA

Get full details of a single Remediation Task by sys_id or number. Looks in both backing tables: a VUL-prefixed number targets sn_vul_vulnerability (the rule-engine RT), anything else is tried as task_number on sn_vul_remediation_task first, then as number on sn_vul_vulnerability. The result includes a source_table marker.

list_vulnerability_groupsA

List Vulnerability Groups (sn_vul_vulnerability) — the task-based remediation entity (sys_class label "Remediation Task", number prefix VUL). Filter by state, minimum risk score, or assignment group. Ordered by descending risk score. Use add_vi_to_remediation_task to add members and the SLA tools (record_type=vg) for TTR status.

get_vulnerability_groupB

Get full details of a single Vulnerability Group by sys_id or VUL number (e.g. "VUL0000103").

create_vulnerability_groupA

Create a Vulnerability Group / Remediation Task (sn_vul_vulnerability). Being task-based it accepts assignment_group, assigned_to and state. [Write — requires WRITE_ENABLED=true]

update_vulnerability_groupA

Update a Vulnerability Group by sys_id — state transitions, (re)assignment, target date, etc. [Write — requires WRITE_ENABLED=true]

list_nvd_entriesA

List NVD entries (sn_vul_nvd_entry). Filter by CVE id substring or minimum CVSS v3 base score.

get_nvd_entry_by_cveA

Look up a single NVD entry by exact CVE id (e.g. "CVE-2018-1002203").

get_usem_dashboardA

Summarize the USEM posture: Vulnerable Item counts by state, Remediation Task counts by state, and the highest-risk open Vulnerable Items. Uses the aggregate (stats) API for exact counts.

create_remediation_taskB

Create a Remediation Task (sn_vul_remediation_task). [Write — requires WRITE_ENABLED=true]

update_remediation_taskA

Update a Remediation Task by sys_id (state, assignee, group, target date, etc.). [Write — requires WRITE_ENABLED=true]

create_vulnerable_itemA

Create a Vulnerable Item (sn_vul_vulnerable_item) with the vulnerability reference intact. A before business rule clears the vulnerability reference on REST inserts, which silently disables the "Link to Remediation Tasks" automation; this tool re-applies the reference via PATCH after insert and verifies it stuck. Requires both vulnerability and cmdb_ci so the remediation-task rule engine can group the item. ServiceNow regenerates short_description as " detected on " on insert, so a value passed here cannot be used to tag items or to select them later (e.g. in a remediation task rule condition) — use source instead; the result reports overwritten fields. [Write — requires WRITE_ENABLED=true]

list_remediation_task_findingsA

List the VI ↔ Remediation Task links in the "Remediation Task Item" m2m (sn_vul_m2m_vul_group_item). Give remediation_task (VUL number or sys_id of the sn_vul_vulnerability group) to list its member Vulnerable Items, or vulnerable_item (VIT number or sys_id) to list the Remediation Tasks it belongs to. Exactly one of the two.

get_finding_grouping_statusA

Diagnose why a Vulnerable Item is (not) grouped into a Remediation Task. Returns the VI's grouping preconditions (vulnerability and cmdb_ci references, is_in_group), its m2m links with each task's auto_vi_refresh, the active remediation task rules (sn_sec_rem_task_rule), and an ordered diagnosis: empty vulnerability → no active rule → rule/condition mismatch or auto_vi_refresh=false on the existing task.

add_vi_to_remediation_taskA

Associate a Vulnerable Item with a remediation group via the "Remediation Task Item" m2m (sn_vul_m2m_vul_group_item). The group is an sn_vul_vulnerability record that backs the remediation task. [Write — requires WRITE_ENABLED=true]

list_usem_rulesA

List USEM/Vulnerability Response automation rules and configs of a given type (assignment, remediation_task, remediation_target, risk_calculator, calculator_rule, risk_field, risk_score_weight, calculator_config, classification, classification_rule, exception_rule, exception_config, rollup, approval, auto_close, exclusion). Ordered by execution order where the table has one, otherwise by a natural key. Optionally filter by active state or an extra encoded query.

get_usem_ruleA

Get the full definition of a single USEM/VR rule by sys_id.

create_usem_ruleA

Create a USEM/VR automation rule. Provide the rule_type and a fields object matching that table allowlist (e.g. name/rule_name, active, order, condition, assignment_group, ttr_max). Every field is read back after the write; a value ServiceNow did not store fails with FIELDS_NOT_SAVED. remediation_task with assignment_type 5 (Group by field) also needs assignment_group_fields — a field path on the finding that matches one of field_1..6 (e.g. "assignment_group"). The Table API cannot write that field, so it is set by a run-once server script and additionally requires SCRIPTING_ENABLED=true. Create rules inactive and enable them with set_usem_rule_active after checking them. [Write — requires WRITE_ENABLED=true; admin-level config change]

update_usem_ruleA

Update a USEM/VR automation rule by sys_id with a fields object restricted to that table allowlist. Every field is read back after the write; a value ServiceNow did not store fails with FIELDS_NOT_SAVED. Setting remediation_task assignment_group_fields runs a run-once server script and requires SCRIPTING_ENABLED=true. [Write — requires WRITE_ENABLED=true; admin-level config change]

set_usem_rule_activeA

Enable or disable a USEM/VR rule (convenience toggle of the active flag). Not supported for rule types without an active flag (exception_rule, exception_config, calculator_config, risk_field, risk_score_weight) — use update_usem_rule for those. [Write — requires WRITE_ENABLED=true; admin-level config change]

get_risk_calculator_detailsA

Explain how a USEM Risk Calculator computes its score: returns the calculator group (sn_sec_calculator_group), its calculator rules, each rule’s weighted risk fields (sn_sec_calculator_risk_field), and the score→weight bands for the target table (sn_sec_calculator_risk_score_weight) in one call. Use this to answer "why is the risk score N?". Accepts a sys_id or exact calculator name.

list_integrationsA

List the USEM/VR integration catalog (sn_sec_int_integration) — the available security data feeds such as NVD, Qualys, Tenable, Red Hat. Returns name, id, source and type.

list_integration_implementationsA

List configured integration implementations/instances (sn_sec_int_impl) — the operational units that carry the active flag, default flag and validation status. Use this to see which feeds are actually enabled.

list_integration_runsA

List Vulnerability Integration Runs (sn_vul_integration_run) with detail. Filter by source (e.g. "NVD"), state, substate ("success"/"failed"), or a recent day window. Ordered newest first. For a quick health rollup use get_integration_health instead.

get_integration_runA

Get full detail of a single Vulnerability Integration Run by run number (VINTRUNxxxx) or sys_id, including performance metrics and any fatal_error_message.

list_integration_logsA

List integration log entries (sn_vul_integration_log) for troubleshooting — error and recommendation messages, optionally scoped to a single run. Ordered newest first.

list_integration_parametersA

List USEM/VR integration parameters. scope="definition" returns the parameter catalog (sn_sec_int_config: label, type, mandatory, default) optionally filtered by integration; scope="instance" returns the configured values per implementation (sn_sec_int_impl_config). Secret-like values (passwords, tokens, API keys) are masked and encrypted password_value columns are never returned.

set_integration_activeA

Enable or disable an integration implementation (sn_sec_int_impl) by sys_id. This turns a security data feed on or off. [Write — requires WRITE_ENABLED=true; admin-level change]

list_remediation_slaA

List the SLA (Time-To-Remediate) status of Vulnerable Items, Remediation Tasks, or Vulnerability Groups. Filter by ttr_status (no_target/in_flight/approaching/past_due/target_met), breaches only, an upcoming-due window, or assignment group. Ordered by soonest target date.

get_remediation_slaA

Get the SLA (TTR) detail for a single Vulnerable Item, Remediation Task, or Vulnerability Group by number or sys_id: status, target date, applied rule, breach flag and days remaining/overdue. For task-based Vulnerability Groups, task_sla instances are also available via get_sla_details.

get_group_slaA

Get both SLA views for a task-based Vulnerability Group (sn_vul_vulnerability) by VUL number or sys_id: the built-in TTR status (target date, breach, days remaining) AND any attached task_sla instances (definition, stage, breached, percentage, time left). Use this for groups; VI/RT (which are not task-based) use get_remediation_sla.

set_remediation_commitmentA

Set the remediation commitment / target date on a Vulnerable Item (remediation_commitment_dt_tm) or Remediation Task (ttr_target_date). [Write — requires WRITE_ENABLED=true]

list_vr_notificationsA

List Vulnerability Response notification definitions (sysevent_email_action) scoped to the VR table family (sn_vul_* / sn_sec_*). Use the generic create_notification/update_notification tools to modify them.

list_vr_approvalsA

List approval records (sysapproval_approver) for Vulnerability Response items — exception, risk-acceptance and false-positive requests whose approval drives a VR state transition. Defaults to pending (state=requested). Each row shows the source record class and number.

list_vr_exception_requestsA

List Vulnerability Response exception requests (sn_sec_exception_change_approval) — False Positive, Risk Acceptance and Exception/Deferral requests raised against vulnerable items or groups. Shows request_type, the target record, the desired state/substate if approved, the approval_state, requester and reason. Approve/reject via act_on_vr_approval (find the approver rows with list_vr_approvals).

act_on_vr_approvalA

Approve or reject a Vulnerability Response approval (sysapproval_approver) by sys_id, which advances the attached workflow and transitions the underlying VR record. Rejection requires a comment. [Write — requires WRITE_ENABLED=true]

list_audit_engagementsA

List Audit Engagements (sn_audit_engagement) — the top-level audit project record. Filter by state or engagement type. Ordered by most recently updated.

get_audit_engagementA

Get full details of a single Audit Engagement by sys_id or number (e.g. "ENG0000104").

list_audit_control_testsA

List Control Tests (sn_audit_control_test) — the record of testing a Control within an audit engagement; this is the real "audit result" (there is no sn_audit_result table). Filter by control, test plan, or design/operation effectiveness.

get_audit_control_testA

Get full details of a single Control Test by sys_id or number (e.g. "CTR0000153").

get_grc_audit_dashboardA

Summarize the Audit Management posture: Engagement counts by state, Control Test counts by design/operation effectiveness, and the highest-priority-issue open engagements.

list_grc_entitiesA

List GRC Entities (sn_grc_profile) — the "thing being assessed" (business unit, vendor, application, process, etc.). No number/state field on this table; filter by class or CI.

get_grc_entityA

Get full details of a single GRC Entity by sys_id.

create_grc_entityA

Create a GRC Entity (sn_grc_profile). profile_class must be a valid sys_id from sn_grc_profile_class (e.g. Business Unit, Vendor, Application — use list_grc_entities with no filter or query_records on sn_grc_profile_class to discover valid classes). owned_by is dictionary-mandatory but not enforced by the REST API (the Entity is created with no owner if omitted) — set it to avoid an unowned Entity. [Write — requires WRITE_ENABLED=true]

update_grc_entityB

Update a GRC Entity by sys_id. [Write — requires WRITE_ENABLED=true]

list_compliance_policiesA

List Compliance Policies (sn_compliance_policy). Filter by state or category.

get_compliance_policyA

Get full details of a single Compliance Policy by sys_id or number (e.g. "POL0010200").

create_compliance_policyA

Create a Compliance Policy (sn_compliance_policy). kb_knowledge_base, approval_method, and article_template are dictionary-mandatory on this table; the platform silently defaults them (to the standard policy KB / "manual" approval / the standard article template) if omitted, so omitting them will NOT fail the create — but pass them explicitly if you need a specific knowledge base, approval method, or template. [Write — requires WRITE_ENABLED=true]

update_compliance_policyB

Update a Compliance Policy by sys_id. [Write — requires WRITE_ENABLED=true]

list_compliance_controlsA

List Compliance Controls (sn_compliance_control). Filter by state, category, or the Entity (profile) it protects.

get_compliance_controlA

Get full details of a single Compliance Control by sys_id or number (e.g. "CTRL0020012").

create_compliance_controlB

Create a Compliance Control (sn_compliance_control). implementation_statement is dictionary-mandatory on this table but not enforced by the REST API (it is left blank if omitted) — pass it to describe how the control is actually implemented. [Write — requires WRITE_ENABLED=true]

update_compliance_controlA

Update a Compliance Control by sys_id. NOTE: state is not in the allowed field set — confirmed live that REST writes to it are silently ignored (HTTP 200 but the value never persists); only the "Attest" button in the ServiceNow UI can actually move a Control into the attest state and trigger assessment generation. [Write — requires WRITE_ENABLED=true]

list_control_objectivesA

List Control Objectives (sn_compliance_policy_statement) — sits between Policy and Control. No number field on this table; filter by state or category.

get_control_objectiveB

Get full details of a single Control Objective by sys_id.

list_policy_exceptionsB

List Policy Exceptions (sn_compliance_policy_exception). Filter by state.

get_policy_exceptionB

Get full details of a single Policy Exception by sys_id or number (e.g. "PER0000106").

list_grc_issuesA

List GRC Issues (sn_grc_issue) — the generic finding/gap record used for compliance gaps and audit findings. Filter by state, Entity, or classification.

get_grc_issueA

Get full details of a single GRC Issue by sys_id or number (e.g. "IPT0011010").

create_grc_issueC

Create a GRC Issue (sn_grc_issue). [Write — requires WRITE_ENABLED=true]

update_grc_issueB

Update a GRC Issue by sys_id. [Write — requires WRITE_ENABLED=true]

get_grc_compliance_dashboardA

Summarize the Compliance posture: Policy/Control/Issue counts by state, and the highest-risk open Policy Exceptions.

list_risksA

List Risks (sn_risk_risk) — the quantitative risk register entry. Filter by state, related Entity, or category. Ordered by most recently updated.

get_riskA

Get full details of a single Risk by sys_id or number (e.g. "RK0020310").

create_riskA

Create a Risk (sn_risk_risk). NOTE: impact/likelihood/score are NOT settable here — confirmed live that a business rule always overwrites them regardless of client input (see list_risk_criteria to inspect the scale; scoring appears to require the platform's risk assessment workflow, not direct field writes). [Write — requires WRITE_ENABLED=true]

update_riskA

Update a Risk by sys_id. NOTE: impact/likelihood/score are not in the allowed field set — confirmed live that they are unconditionally recalculated by a business rule on write. [Write — requires WRITE_ENABLED=true]

list_risk_statementsB

List the Risk Statement library (sn_risk_definition) — reusable risk descriptions referenced by Risk records.

get_risk_statementA

Get full details of a single Risk Statement by sys_id.

list_risk_criteriaA

List the Impact/Likelihood/Score scale (sn_risk_criteria) used by Risk records — 5 rows per type, ordered. Reference only: impact/likelihood/score are NOT settable via create_risk/update_risk (confirmed to be recalculated by a business rule regardless of client input) — use this tool to understand the scale a Risk's calculated values fall on, not to prepare a write.

get_grc_risk_dashboardA

Summarize the Risk posture: Risk counts by state, and the highest-scored open risks.

list_grc_indicatorsA

List GRC Indicators (sn_grc_indicator, KRI/KPI) — periodic pass/fail metrics measuring a Control or Risk (item) for a given Entity. Filter by entity, category, or last result.

get_grc_indicatorA

Get full details of a single GRC Indicator by sys_id or number (e.g. "IND0020021").

create_grc_indicatorA

Create a GRC Indicator (sn_grc_indicator). item is the sys_id of an EXISTING Compliance Control (sn_compliance_control) or Risk (sn_risk_risk) record — both extend the same base table, so their own sys_id is used directly, no separate lookup needed. entity MUST be the specific Entity already associated with that item (e.g. the Control/Risk's own profile field) — confirmed live that a validation business rule rejects (HTTP 403) any entity that isn't the one the item is actually scoped to. [Write — requires WRITE_ENABLED=true]

update_grc_indicatorA

Update a GRC Indicator by sys_id. entity/item are intentionally not updatable here — changing either risks the same entity/item validation failure confirmed on create; recreate the Indicator instead if it needs to measure a different Control/Risk or Entity. [Write — requires WRITE_ENABLED=true]

list_indicator_resultsA

List Indicator Results (sn_grc_indicator_result) — individual pass/fail collection events for an Indicator. Empty on dev400464 at verification time (2026-07-12); included for instances where indicator collection has run.

get_indicator_resultA

Get full details of a single Indicator Result by sys_id.

get_grc_indicator_dashboardA

Summarize Indicator posture: counts by category and by last-result pass/fail.

smart_queryA

Resolve a natural-language request into a ServiceNow table + encoded query and (optionally) run it. Maps keywords to common tables (incident, change_request, problem, sc_request, sn_vul_vulnerable_item, cmdb_ci, sys_user, …), then infers conditions for priority (P1/critical/high), open vs closed state, "assigned to me"/unassigned, and time windows (today, yesterday, this/last week, this/last month, last N days). Conditions whose field does not exist on the resolved table are dropped and reported in unmatched_intents. Returns the interpretation (table, encoded_query, conditions) plus matching records. Set execute=false to preview the query without running it, or pass table to override resolution.

search_store_appsA

Search the public ServiceNow Store catalog by keyword (no instance auth needed). Returns listing_id values usable with get_store_app_versions.

get_store_app_versionsA

Get version history with release notes (new features / bug fixes) for a Store app from the public Store API. Release notes are not stored in any instance table — this is the only programmatic source. Use search_store_apps to find the listing_id.

check_app_upgradeA

Compare the installed version of a scoped app (from sys_scope on the instance) against the public Store version history, and return the release notes of every newer version. For upgrade planning of Store apps (VR, ACC Framework, ...), whose lifecycle is independent of platform upgrades. Provide either listing_id, or store_query / nothing to search by app name.

list_data_management_policiesB

List Data Management Policies, optionally for one exact table.

get_data_management_policyC

Get a Data Management Policy and the archive rules for its table.

create_data_management_policyB

Create an inactive Data Management Policy. Existing policies for the table are rejected. [Write]

list_archive_rulesB

List archive rules, optionally for one exact table.

create_archive_ruleA

Create an inactive archive rule under an existing Data Management Policy. retain_references can only be chosen at creation. [Write]

create_destroy_ruleB

Create an inactive destroy rule for archived data. retention_days must be at least one day. [Write]

list_cleanup_rulesB

List Table Cleanup Rules (Auto Flush), optionally for one exact table.

create_cleanup_ruleB

Create an inactive Table Cleanup Rule for a Data Management Policy. It deletes live records only after explicit activation. [Write]

set_archive_rule_activeA

Activate or deactivate an archive rule. Activation requires confirmation and an active Data Management Policy. [Write]

set_destroy_rule_activeA

Activate or deactivate a destroy rule. Activation requires confirmation; it permanently deletes eligible archived records. [Destructive]

set_cleanup_rule_activeA

Activate or deactivate a Table Cleanup Rule. Activation requires confirmation; matching live records are permanently deleted. [Destructive]

Prompts

Interactive templates invoked by user choice

NameDescription
morning-standupDaily standup briefing — P1/P2 incidents, SLA breaches, changes due today
my-ticketsAll open tasks, incidents, and requests assigned to me
p1-alertsActive P1 incidents with time open and assignee
my-changesMy pending change requests and their approval status
knowledge-searchSearch the knowledge base
create-incidentGuided incident creation — asks for details then creates the record
sla-breachesRecords currently breaching or about to breach SLA
ci-healthCMDB health check for a named CI
run-atfTrigger an ATF test suite and report results
switch-instanceSwitch to a different ServiceNow instance for this session
deploy-updatesetPreview and commit an update set

Resources

Contextual data attached and managed by the client

NameDescription
my-incidentsOpen incidents currently assigned to me
open-changesChange requests pending approval or scheduled this week
sla-breachesRecords currently breaching or about to breach SLA
instance:infoCurrent active ServiceNow instance metadata
ci:<name>CMDB Configuration Item by name (e.g. @ci:web-prod-01)
kb:<title>Knowledge Base article by title (e.g. @kb:VPN-setup)

TDQS

B3/5.0

Scored across 503 tools

Disambiguation2/5

The set contains many overlapping access patterns: query_records, smart_query, natural_language_search, nlq_query, ai_search, and search_knowledge all retrieve data through subtly different mechanisms. There are also multiple dashboard, property-management, update-set, and mobile tools whose boundaries require careful reading to distinguish. Individual descriptions are often detailed, but at 503 tools the risk of misselection across similar resources and actions is high.

Naming Consistency4/5

Most tool names follow a readable snake_case verb_noun convention (e.g. create_incident, list_users, update_problem, get_hr_case). There are deviations such as query_records, describe_table, find_artifact, smart_query, and domain-prefixed ml_* tools, but they remain understandable rather than chaotic. The naming is mostly predictable despite the enormous surface.

Tool Count1/5

503 tools is an extreme mismatch for a coherent MCP server surface and far beyond the recommended 3-15 tool range. Even with broad ServiceNow coverage, this volume makes discovery, selection, and maintenance impractical for an agent. The server appears to expose nearly every platform operation rather than a curated, well-scoped toolkit.

Completeness3/5

Coverage spans many ServiceNow domains—ITSM, HR, CSM, GRC, security, CMDB, reporting, integrations, platform metadata, and more—so many core workflows are represented. However, coverage is uneven: several tools are explicitly unsupported stubs, delete operations are sparse outside a few areas, and some modules have rich read surfaces but limited lifecycle coverage. It is extensive but not a complete, clean lifecycle surface for the stated broad purpose.

Maintenance

ActivityActive
ResponsivenessNo issues