Skip to main content
Glama

Servicenow Api

CLI or API | MCP | Agent

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Documentation — Installation, deployment, and usage across the API, CLI, MCP, and A2A agent interfaces are maintained in the official documentation.


Related MCP server: now-sdk-ext-mcp

Overview

Servicenow Api is a production-grade Agent and Model Context Protocol (MCP) server designed to interface directly with Python ServiceNow API Wrapper.


Key Features

  • Consolidated Action-Routed MCP Tools: Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.

  • Enterprise-Grade Security: Complete support for Eunomia policies, OIDC token delegation, and granular execution context tracking.

  • Integrated Graph Agent: Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).

  • Native Telemetry & Tracing: Out-of-the-box OpenTelemetry exports and native Langfuse tracing.


CLI or API

This agent wraps the Python ServiceNow API Wrapper API. The operator can interact with it programmatically or via its integrated execution entrypoints.

Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in docs/index.md.


MCP

This server use dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.

Tool surface — MCP_TOOL_MODE

Set MCP_TOOL_MODE (in the shared ~/.config/scion-sdk/config.json or env) to choose the surface:

  • condensed (default) — the action-routed tools below (servicenow_<domain>(action, params_json)).

  • verbose — one named, documented 1:1 tool per API method (servicenow_get_cmdb_instance(...)), tagged verbose.

  • both — register both sets.

Filter the verbose set with --tools tag:verbose / MCP_ENABLED_TAGS=verbose. See the scion-sdk guide MCP Tool Modes for details.

Available MCP Tools

The table below is auto-generated from the MCP server — do not edit by hand.

Condensed action-routed tools (MCP_TOOL_MODE=condensed)

MCP Tool

Toggle Env Var

Description

servicenow_account

ACCOUNTTOOL

Manage servicenow account operations.

servicenow_activity_subscriptions

ACTIVITY_SUBSCRIPTIONSTOOL

Manage servicenow activity subscriptions operations.

servicenow_aggregate

AGGREGATETOOL

Manage servicenow aggregate operations.

servicenow_application

APPLICATIONTOOL

Manage servicenow application operations.

servicenow_attachment

ATTACHMENTTOOL

Manage servicenow attachment operations.

servicenow_auth

AUTHTOOL

Manage servicenow auth operations.

servicenow_batch

BATCHTOOL

Manage servicenow batch operations.

servicenow_change_management

CHANGE_MANAGEMENTTOOL

Manage servicenow change management operations.

servicenow_cicd

CICDTOOL

Manage servicenow cicd operations.

servicenow_cilifecycle

CILIFECYCLETOOL

Manage servicenow cilifecycle operations.

servicenow_cmdb

CMDBTOOL

Manage servicenow cmdb operations.

servicenow_custom_api

CUSTOM_APITOOL

Manage servicenow custom api operations.

servicenow_data_classification

DATA_CLASSIFICATIONTOOL

Manage servicenow data classification operations.

servicenow_devops

DEVOPSTOOL

Manage servicenow devops operations.

servicenow_email

EMAILTOOL

Manage servicenow email operations.

servicenow_flows

FLOWSTOOL

Manage servicenow flows operations.

servicenow_hr

HRTOOL

Manage servicenow hr operations.

servicenow_import_sets

IMPORT_SETSTOOL

Manage servicenow import sets operations.

servicenow_incidents

INCIDENTSTOOL

Manage servicenow incidents operations.

servicenow_ingest_incidents

MISCTOOL

Natively ingest ServiceNow incidents into epistemic-graph as typed :Incident nodes.

servicenow_knowledge_management

KNOWLEDGE_MANAGEMENTTOOL

Manage servicenow knowledge management operations.

servicenow_metricbase

METRICBASETOOL

Manage servicenow metricbase operations.

servicenow_plugins

PLUGINSTOOL

Manage servicenow plugins operations.

servicenow_ppm

PPMTOOL

Manage servicenow ppm operations.

servicenow_problem

PROBLEMTOOL

Manage servicenow problem management operations.

servicenow_product_inventory

PRODUCT_INVENTORYTOOL

Manage servicenow product inventory operations.

servicenow_sdk

SDKTOOL

Scaffold, build, and deploy a ServiceNow Studio scoped app via the now-sdk CLI.

servicenow_service_qualification

SERVICE_QUALIFICATIONTOOL

Manage servicenow service qualification operations.

servicenow_source_control

SOURCE_CONTROLTOOL

Manage servicenow source control operations.

servicenow_table_api

TABLE_APITOOL

Manage servicenow table api operations.

servicenow_testing

TESTINGTOOL

Manage servicenow testing operations.

servicenow_update_sets

UPDATE_SETSTOOL

Manage servicenow update sets operations.

Verbose 1:1 API-mapped tools (MCP_TOOL_MODE=verbose or both)

MCP Tool

Toggle Env Var

Description

servicenow_activate_plugin

DEVOPSTOOL

Activate a plugin based on the provided plugin_id.

servicenow_add_ci_lifecycle_action

CMDBTOOL

Adds a specified CI action to a specified list of CIs.

servicenow_add_table_record

SYSTEMTOOL

Add a new record to the specified table.

servicenow_api_request

SYSTEMTOOL

Invoke the api_request operation.

servicenow_app_repo_install

DEVOPSTOOL

Install an application from the repository based on the provided parameters.

servicenow_app_repo_publish

DEVOPSTOOL

Publish an application to the repository based on the provided parameters.

servicenow_app_repo_rollback

DEVOPSTOOL

Rollback an application in the repository based on the provided parameters.

servicenow_apply_remote_source_control_changes

OTHERTOOL

Apply remote source control changes based on the provided parameters.

servicenow_approve_change_request

CHANGETOOL

Approve or reject a change request.

servicenow_batch_install

OTHERTOOL

Initiate a batch installation with the provided parameters.

servicenow_batch_install_result

OTHERTOOL

Get the result of a batch installation based on the provided result ID.

servicenow_batch_request

OTHERTOOL

Sends multiple REST API requests in a single call.

servicenow_batch_rollback

OTHERTOOL

Rollback a batch installation based on the provided rollback ID.

servicenow_calculate_standard_change_request_risk

CHANGETOOL

Calculate and update the risk of a standard change request.

servicenow_check_change_request_conflict

CHANGETOOL

Check for conflicts in a change request.

servicenow_check_ci_lifecycle_compat_actions

CMDBTOOL

Determines whether two specified CI actions are compatible.

servicenow_check_ci_lifecycle_lease_expired

CMDBTOOL

Determines whether the lease has expired for the requester.

servicenow_check_ci_lifecycle_not_allowed_action

CMDBTOOL

Determines whether a specified CI action is not allowed.

servicenow_check_ci_lifecycle_not_allowed_ops_transition

CMDBTOOL

Determines whether an operational state transition is allowed.

servicenow_check_ci_lifecycle_requestor_valid

CMDBTOOL

Determines whether the specified user is a valid requester.

servicenow_check_devops_change_control

DEVOPSTOOL

Checks if the orchestration task is under change control.

servicenow_check_devops_step_mapping

DEVOPSTOOL

Verifies that the information being passed is valid for the creation of an orchestration task.

servicenow_check_service_qualification

OTHERTOOL

Creates a technical service qualification request.

servicenow_collect_graph_for_roots

CMDBTOOL

Invoke the collect_graph_for_roots operation.

servicenow_combo_suite_scan

OTHERTOOL

Initiate a suite scan for a combo based on the provided combo_sys_id.

servicenow_create_change_request

CHANGETOOL

Create a new change request.

servicenow_create_change_request_ci_association

CHANGETOOL

Create associations between a change request and configuration items (CIs).

servicenow_create_change_request_task

CHANGETOOL

Create a new task associated with a change request.

servicenow_create_cmdb_instance

CMDBTOOL

Creates a single configuration item (CI).

servicenow_create_cmdb_relation

CMDBTOOL

Adds an inbound and/or outbound relation to the specified CI.

servicenow_create_incident

INCIDENTTOOL

Create a new incident record.

servicenow_create_problem

PROBLEMTOOL

Create a new problem record.

servicenow_delete_attachment

OTHERTOOL

Invoke the delete_attachment operation.

servicenow_delete_change_request

CHANGETOOL

Delete a change request.

servicenow_delete_change_request_conflict_scan

CHANGETOOL

Delete conflict scan information associated with a change request.

servicenow_delete_change_request_task

CHANGETOOL

Delete a task associated with a change request.

servicenow_delete_ci_lifecycle_action

CMDBTOOL

Removes a configuration item (CI) action for a list of CIs.

servicenow_delete_cmdb_relation

CMDBTOOL

Deletes the relation for the specified configuration item (CI).

servicenow_delete_incident

INCIDENTTOOL

Delete an incident record.

servicenow_delete_problem

PROBLEMTOOL

Delete a problem record.

servicenow_delete_product_inventory

OTHERTOOL

Deletes a specified product inventory record.

servicenow_delete_table_record

SYSTEMTOOL

Delete a record from the specified table.

servicenow_extend_ci_lifecycle_lease

CMDBTOOL

Extends the specified CI action's lease expiration time.

servicenow_full_scan

OTHERTOOL

Initiate a full instance scan.

servicenow_get_account

OTHERTOOL

Invoke the get_account operation.

servicenow_get_activity_subscriptions

OTHERTOOL

Invoke the get_activity_subscriptions operation.

servicenow_get_application

OTHERTOOL

Get information about an application.

servicenow_get_attachment

OTHERTOOL

Invoke the get_attachment operation.

servicenow_get_change_request

CHANGETOOL

Retrieve details of a specific change request.

servicenow_get_change_request_ci

CHANGETOOL

Retrieve the configuration item (CI) associated with a change request.

servicenow_get_change_request_conflict

CHANGETOOL

Retrieve conflict information associated with a change request.

servicenow_get_change_request_models

CHANGETOOL

Retrieve change request models based on specified parameters.

servicenow_get_change_request_nextstate

CHANGETOOL

Retrieve the next state of a specific change request.

servicenow_get_change_request_schedule

CHANGETOOL

Retrieve the schedule of a change request based on CI sys ID.

servicenow_get_change_request_tasks

CHANGETOOL

Retrieve tasks associated with a specific change request.

servicenow_get_change_request_worker

CHANGETOOL

Retrieve details of a change request worker.

servicenow_get_change_requests

CHANGETOOL

Retrieve change requests based on specified parameters.

servicenow_get_ci_lifecycle_active_actions

CMDBTOOL

Returns a list of active CI actions for the specified CI.

servicenow_get_ci_lifecycle_status

CMDBTOOL

Returns the current operational state for the specified CI.

servicenow_get_cmdb

CMDBTOOL

Get Configuration Management Database (CMDB) information based on specified parameters.

servicenow_get_cmdb_instance

CMDBTOOL

Returns attributes and relationship information for a specified CI record.

servicenow_get_cmdb_instances

CMDBTOOL

Returns the available configuration items (CI) for a specified CMDB class.

servicenow_get_data_classification

OTHERTOOL

Invoke the get_data_classification operation.

servicenow_get_devops_change_info

DEVOPSTOOL

Retrieves change request details for a specified orchestration pipeline execution.

servicenow_get_devops_code_schema

DEVOPSTOOL

Returns the schema object for a specified code resource.

servicenow_get_devops_onboarding_status

DEVOPSTOOL

Returns the current status of the specified onboarding event.

servicenow_get_devops_orchestration_schema

DEVOPSTOOL

Returns the schema object for a specified orchestration resource.

servicenow_get_devops_plan_schema

DEVOPSTOOL

Returns the schema object for a specific plan.

servicenow_get_featured_knowledge_article

KNOWLEDGETOOL

Get featured Knowledge Base articles.

servicenow_get_flow_metadata

SYSTEMTOOL

Fetch rich metadata for any flow/subflow.

servicenow_get_hr_profile

OTHERTOOL

Invoke the get_hr_profile operation.

servicenow_get_import_set

OTHERTOOL

Get details of a specific import set record.

servicenow_get_incident

INCIDENTTOOL

Retrieve details of a specific incident record.

servicenow_get_incidents

INCIDENTTOOL

Retrieve details of incident records.

servicenow_get_knowledge_article

KNOWLEDGETOOL

Get Knowledge Base article.

servicenow_get_knowledge_article_attachment

KNOWLEDGETOOL

Get Knowledge Base article attachment.

servicenow_get_knowledge_articles

KNOWLEDGETOOL

Get all Knowledge Base articles.

servicenow_get_most_viewed_knowledge_articles

KNOWLEDGETOOL

Get most viewed Knowledge Base articles.

servicenow_get_problem

PROBLEMTOOL

Retrieve details of a specific problem record.

servicenow_get_problems

PROBLEMTOOL

Retrieve details of problem records.

servicenow_get_product_inventory

OTHERTOOL

Retrieves a list of all product inventories.

servicenow_get_service_qualification

OTHERTOOL

Retrieves a technical qualification request by ID or list all.

servicenow_get_standard_change_request_model

CHANGETOOL

Retrieve details of a standard change request model.

servicenow_get_standard_change_request_template

CHANGETOOL

Retrieve details of a standard change request template.

servicenow_get_standard_change_request_templates

CHANGETOOL

Retrieve standard change request templates based on specified parameters.

servicenow_get_stats

SYSTEMTOOL

Invoke the get_stats operation.

servicenow_get_table

SYSTEMTOOL

Get records from the specified table based on provided parameters.

servicenow_get_table_record

SYSTEMTOOL

Get a specific record from the specified table.

servicenow_import_repository

DEVOPSTOOL

Import a repository based on the provided parameters.

servicenow_ingest_cmdb_data

CMDBTOOL

Inserts records into the Import Set table associated with the data source.

servicenow_insert_cost_plans

OTHERTOOL

Creates cost plans.

servicenow_insert_import_set

OTHERTOOL

Insert a new record into the specified import set.

servicenow_insert_multiple_import_sets

OTHERTOOL

Insert multiple records into the specified import set.

servicenow_insert_project_tasks

OTHERTOOL

Creates a project and associated project tasks.

servicenow_instance_scan_progress

OTHERTOOL

Get progress information for an instance scan based on the provided progress ID.

servicenow_metricbase_insert

OTHERTOOL

Invoke the metricbase_insert operation.

servicenow_patch_cmdb_instance

CMDBTOOL

Replaces attributes in the specified CI record (PATCH).

servicenow_patch_table_record

SYSTEMTOOL

Partially update a record in the specified table.

servicenow_point_scan

OTHERTOOL

Initiate a point instance scan based on the provided parameters.

servicenow_process_service_qualification_result

OTHERTOOL

Processes a technical service qualification result.

servicenow_progress

OTHERTOOL

Get progress information based on the provided progress ID.

servicenow_refresh_auth_token

SYSTEMTOOL

Refresh the authentication token

servicenow_refresh_change_request_impacted_services

CHANGETOOL

Refresh impacted services for a change request.

servicenow_register_ci_lifecycle_operator

CMDBTOOL

Registers an operator for a non-workflow user.

servicenow_register_devops_artifact

DEVOPSTOOL

Enables orchestration tools to register artifacts into a ServiceNow instance.

servicenow_rollback_plugin

DEVOPSTOOL

Rollback a plugin based on the provided plugin_id.

servicenow_run_test_suite

OTHERTOOL

Run a test suite based on the provided parameters.

servicenow_send_email

SYSTEMTOOL

Invoke the send_email operation.

servicenow_set_ci_lifecycle_status

CMDBTOOL

Sets the operational state for a specified list of CIs.

servicenow_suite_scan

OTHERTOOL

Initiate a suite scan based on the provided suite_sys_id and sys_ids.

servicenow_unregister_ci_lifecycle_operator

CMDBTOOL

Unregisters an operator for non-workflow users.

servicenow_update_change_request

CHANGETOOL

Update details of a change request.

servicenow_update_change_request_first_available

CHANGETOOL

Update the schedule of a change request to the first available slot.

servicenow_update_change_request_task

CHANGETOOL

Update details of a task associated with a change request.

servicenow_update_cmdb_instance

CMDBTOOL

Updates the specified CI record (PUT).

servicenow_update_incident

INCIDENTTOOL

Update an existing incident record.

servicenow_update_problem

PROBLEMTOOL

Update an existing problem record.

servicenow_update_set_back_out

DEVOPSTOOL

Backs out an installation operation that was performed on an update set with a given sys_id.

servicenow_update_set_commit

DEVOPSTOOL

Commits an update set with a given sys_id.

servicenow_update_set_commit_multiple

DEVOPSTOOL

Commits multiple update sets in a single request according to the order that they're provided.

servicenow_update_set_create

DEVOPSTOOL

Creates a new update set and inserts the new record in the Update Sets [sys_update_set] table.

servicenow_update_set_preview

DEVOPSTOOL

Previews an update set to check for any conflicts and retrieve progress information about the update set operation.

servicenow_update_set_retrieve

DEVOPSTOOL

Retrieves an update set with a given sys_id and allows you to remove the existing retrieved update set from the instance.

servicenow_update_table_record

SYSTEMTOOL

Fully update a record in the specified table.

servicenow_upload_attachment

OTHERTOOL

Upload a file as an attachment on a table record.

servicenow_workflow_to_mermaid

SYSTEMTOOL

Generates a Mermaid diagram representing the relationships between ServiceNow flows and subflows.

32 action-routed tool(s) · 126 verbose 1:1 tool(s). Each is enabled unless its <DOMAIN>TOOL toggle is set false; MCP_TOOL_MODE selects the surface (intent default — the six verb-tools, granular set loaded on demand · condensed action-routed · verbose 1:1 · both). Auto-generated — do not edit.

Detailed tool schemas, parameter shapes, and validation constraints are preserved in docs/usage.md.

Dynamic Tool Selection & Visibility

This MCP server supports dynamic toolset selection and visibility filtering at runtime. This allows the operator to restrict the set of exposed tools to prevent blowing up the LLM's context window.

The operator can configure tool filtering via multiple input channels:

  • CLI Arguments: Pass --tools or --toolsets (or their disabled counterparts --disabled-tools and --disabled-toolsets) during startup.

  • Environment Variables: Define standard environment variables:

    • MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS

    • MCP_ENABLED_TAGS / MCP_DISABLED_TAGS

  • HTTP SSE Request Headers: Pass custom headers during transport initialization:

    • x-mcp-enabled-tools / x-mcp-disabled-tools

    • x-mcp-enabled-tags / x-mcp-disabled-tags

  • HTTP SSE Request Query Parameters: Append query parameters directly to the operator's transport connection URL:

    • ?tools=tool1,tool2

    • ?tags=tag1

When query strings or parameters are provided, an LLM-free Knowledge Graph resolution layer (using DynamicToolOrchestrator) matches query intents against known tool tags, names, or descriptions, with safe fallback and automated 24-hour background cache refreshing.


MCP Configuration Examples

Install the connector-focused [mcp] extra. Examples use servicenow-api[mcp] to add FastMCP / FastAPI through scion-sdk[mcp]; the required Agent Utilities core still carries epistemic-graph[full]. The [agent-runtime] extra additionally enables model orchestration.

stdio Transport (local IDEs — Cursor, Claude Desktop, VS Code)

{
  "mcpServers": {
    "servicenow-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "servicenow-api[mcp]",
        "servicenow-mcp"
      ],
      "env": {
        "MCP_TOOL_MODE": "intent",
        "ACCOUNTTOOL": "True",
        "ACTIVITY_SUBSCRIPTIONSTOOL": "True",
        "AGGREGATETOOL": "True",
        "APPLICATIONTOOL": "True",
        "ATTACHMENTTOOL": "True",
        "AUTHTOOL": "True",
        "BATCHTOOL": "True",
        "CHANGE_MANAGEMENTTOOL": "True",
        "CICDTOOL": "True",
        "CILIFECYCLETOOL": "True",
        "CMDBTOOL": "True",
        "CUSTOM_APITOOL": "True",
        "DATA_CLASSIFICATIONTOOL": "True",
        "DELEGATED_SCOPES": "api",
        "DEVOPSTOOL": "True",
        "EMAILTOOL": "True",
        "FLOWSTOOL": "True",
        "HRTOOL": "True",
        "IMPORT_SETSTOOL": "True",
        "INCIDENTSTOOL": "True",
        "KNOWLEDGE_MANAGEMENTTOOL": "True",
        "METRICBASETOOL": "True",
        "MISCTOOL": "True",
        "OPENAPI_CLIENT_ID": "your_openapi_client_id_here",
        "OPENAPI_CLIENT_SECRET": "your_openapi_client_secret_here",
        "OPENAPI_PASSWORD": "your_openapi_password_here",
        "OPENAPI_USERNAME": "your_openapi_username_here",
        "PLUGINSTOOL": "True",
        "PPMTOOL": "True",
        "PROBLEMTOOL": "True",
        "PRODUCT_INVENTORYTOOL": "True",
        "SDKTOOL": "True",
        "SDK_WORKDIR": "/data/servicenow-sdk-workspace",
        "SERVICENOW_CLIENT_SECRET": "your_servicenow_client_secret_here",
        "SERVICENOW_GRANT_TYPE": "password",
        "SERVICENOW_INSTANCE": "https://instance.example.invalid",
        "SERVICENOW_PASSWORD": "your_servicenow_password_here",
        "SERVICENOW_TLS_PROFILE": "system",
        "SERVICENOW_USERNAME": "your_servicenow_username_here",
        "SERVICE_QUALIFICATIONTOOL": "True",
        "SOURCE_CONTROLTOOL": "True",
        "TABLE_APITOOL": "True",
        "TESTINGTOOL": "True",
        "UPDATE_SETSTOOL": "True"
      }
    }
  }
}

Runtime references require an alias-aware launcher such as Arbora. Other launchers must omit those entries and inject the resolved values through their own runtime secret boundary.

Streamable-HTTP Transport (networked / production)

{
  "mcpServers": {
    "servicenow-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "servicenow-api[mcp]",
        "servicenow-mcp",
        "--transport",
        "streamable-http",
        "--port",
        "8000"
      ],
      "env": {
        "TRANSPORT": "streamable-http",
        "HOST": "127.0.0.1",
        "PORT": "8000",
        "MCP_TOOL_MODE": "intent",
        "ACCOUNTTOOL": "True",
        "ACTIVITY_SUBSCRIPTIONSTOOL": "True",
        "AGGREGATETOOL": "True",
        "APPLICATIONTOOL": "True",
        "ATTACHMENTTOOL": "True",
        "AUTHTOOL": "True",
        "BATCHTOOL": "True",
        "CHANGE_MANAGEMENTTOOL": "True",
        "CICDTOOL": "True",
        "CILIFECYCLETOOL": "True",
        "CMDBTOOL": "True",
        "CUSTOM_APITOOL": "True",
        "DATA_CLASSIFICATIONTOOL": "True",
        "DELEGATED_SCOPES": "api",
        "DEVOPSTOOL": "True",
        "EMAILTOOL": "True",
        "FLOWSTOOL": "True",
        "HRTOOL": "True",
        "IMPORT_SETSTOOL": "True",
        "INCIDENTSTOOL": "True",
        "KNOWLEDGE_MANAGEMENTTOOL": "True",
        "METRICBASETOOL": "True",
        "MISCTOOL": "True",
        "OPENAPI_CLIENT_ID": "your_openapi_client_id_here",
        "OPENAPI_CLIENT_SECRET": "your_openapi_client_secret_here",
        "OPENAPI_PASSWORD": "your_openapi_password_here",
        "OPENAPI_USERNAME": "your_openapi_username_here",
        "PLUGINSTOOL": "True",
        "PPMTOOL": "True",
        "PROBLEMTOOL": "True",
        "PRODUCT_INVENTORYTOOL": "True",
        "SDKTOOL": "True",
        "SDK_WORKDIR": "/data/servicenow-sdk-workspace",
        "SERVICENOW_CLIENT_SECRET": "your_servicenow_client_secret_here",
        "SERVICENOW_GRANT_TYPE": "password",
        "SERVICENOW_INSTANCE": "https://instance.example.invalid",
        "SERVICENOW_PASSWORD": "your_servicenow_password_here",
        "SERVICENOW_TLS_PROFILE": "system",
        "SERVICENOW_USERNAME": "your_servicenow_username_here",
        "SERVICE_QUALIFICATIONTOOL": "True",
        "SOURCE_CONTROLTOOL": "True",
        "TABLE_APITOOL": "True",
        "TESTINGTOOL": "True",
        "UPDATE_SETSTOOL": "True"
      }
    }
  }
}

Alternatively, connect to a pre-deployed Streamable-HTTP instance by url:

{
  "mcpServers": {
    "servicenow-mcp": {
      "url": "http://localhost:8000/servicenow-mcp/mcp"
    }
  }
}

Run a reviewed container image as a least-privilege stdio child (no listener or published port):

docker run -i --rm \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges \
  --pids-limit=256 \
  --tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
  -e TRANSPORT=stdio \
  -e MCP_TOOL_MODE=intent \
  -e ACCOUNTTOOL=True \
  -e ACTIVITY_SUBSCRIPTIONSTOOL=True \
  -e AGGREGATETOOL=True \
  -e APPLICATIONTOOL=True \
  -e ATTACHMENTTOOL=True \
  -e AUTHTOOL=True \
  -e BATCHTOOL=True \
  -e CHANGE_MANAGEMENTTOOL=True \
  -e CICDTOOL=True \
  -e CILIFECYCLETOOL=True \
  -e CMDBTOOL=True \
  -e CUSTOM_APITOOL=True \
  -e DATA_CLASSIFICATIONTOOL=True \
  -e DELEGATED_SCOPES=api \
  -e DEVOPSTOOL=True \
  -e EMAILTOOL=True \
  -e FLOWSTOOL=True \
  -e HRTOOL=True \
  -e IMPORT_SETSTOOL=True \
  -e INCIDENTSTOOL=True \
  -e KNOWLEDGE_MANAGEMENTTOOL=True \
  -e METRICBASETOOL=True \
  -e MISCTOOL=True \
  -e OPENAPI_CLIENT_ID=your_openapi_client_id_here \
  -e OPENAPI_CLIENT_SECRET=your_openapi_client_secret_here \
  -e OPENAPI_PASSWORD=your_openapi_password_here \
  -e OPENAPI_USERNAME=your_openapi_username_here \
  -e PLUGINSTOOL=True \
  -e PPMTOOL=True \
  -e PROBLEMTOOL=True \
  -e PRODUCT_INVENTORYTOOL=True \
  -e SDKTOOL=True \
  -e SDK_WORKDIR=/data/servicenow-sdk-workspace \
  -e SERVICENOW_CLIENT_SECRET=your_servicenow_client_secret_here \
  -e SERVICENOW_GRANT_TYPE=password \
  -e SERVICENOW_INSTANCE=https://instance.example.invalid \
  -e SERVICENOW_PASSWORD=your_servicenow_password_here \
  -e SERVICENOW_TLS_PROFILE=system \
  -e SERVICENOW_USERNAME=your_servicenow_username_here \
  -e SERVICE_QUALIFICATIONTOOL=True \
  -e SOURCE_CONTROLTOOL=True \
  -e TABLE_APITOOL=True \
  -e TESTINGTOOL=True \
  -e UPDATE_SETSTOOL=True \
  registry.example.invalid/servicenow-api@sha256:<digest> servicenow-mcp

For containerized network HTTP, supply an authenticated TLS ingress (or direct server TLS), exact MCP_ALLOWED_HOSTS, and an exact trusted-proxy CIDR policy through the operator-owned deployment profile. The generator does not emit an unauthenticated non-loopback listener.

Auto-generated from the code-read env surface (MCP_TOOL_MODE + package vars) — do not edit.

Additional Deployment Options

servicenow-api can run as a local stdio process or container, or behind a remote network boundary. The Deployment guide carries the detailed transport contract.

  • Local container — launch a reviewed immutable image as a least-privilege stdio child with no listener or published port.

  • Remote URL — connect through an operator-supplied authenticated HTTPS ingress. Keep its URL, outbound identity references, trust profile, and exact MCP_ALLOWED_HOSTS in AgentConfig.

Agent

This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the Agent Control Protocol (ACP) and interacts smoothly with the Agent Web UI (AG-UI) and Terminal interface.

Running the Agent CLI

To start the interactive command-line agent:

# Set credentials
export SERVICENOW_INSTANCE="your_value"
export SERVICENOW_USERNAME="your_value"
export SERVICENOW_CLIENT_ID="your_value"
export SERVICENOW_TLS_PROFILE=system
export DEBUG="your_value"
export PYTHONUNBUFFERED="your_value"
export SERVICENOW_PASSWORD="your_value"
export SERVICENOW_CLIENT_SECRET="your_value"

# Run the agent server
servicenow-agent --provider openai --model-id gpt-4o

Docker Compose Orchestration

The following docker/agent.compose.yml configures the Agent, Web UI, and Terminal Interface together:

version: '3.8'

services:
  servicenow-api-mcp:
    image: example/servicenow-api@sha256:<digest>
    container_name: servicenow-api-mcp
    hostname: servicenow-api-mcp
    restart: always
    env_file:
      - ../.env
    environment:
      - PYTHONUNBUFFERED=1
      - HOST=0.0.0.0
      - PORT=8000
      - TRANSPORT=streamable-http
    ports:
      - "8000:8000"
    healthcheck:
      test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

  servicenow-api-agent:
    image: example/servicenow-api@sha256:<digest>
    container_name: servicenow-api-agent
    hostname: servicenow-api-agent
    restart: always
    depends_on:
      - servicenow-api-mcp
    env_file:
      - ../.env
    command: [ "servicenow-agent" ]
    environment:
      - PYTHONUNBUFFERED=1
      - HOST=0.0.0.0
      - PORT=9004
      - MCP_URL=http://servicenow-api-mcp:8000/mcp
      - PROVIDER=${PROVIDER:-openai}
      - MODEL_ID=${MODEL_ID:-gpt-4o}
      - ENABLE_WEB_UI=True
      - ENABLE_OTEL=True
    ports:
      - "9004:9004"
    healthcheck:
      test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:9004/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

Detailed graph node architecture explanations, custom skill configurations, and agentic trace guides are available in docs/deployment.md.


Security & Governance

Built directly upon the enterprise-ready scion-sdk core, standard security parameters are fully supported:

Access Control & Policy Enforcement

  • Eunomia Policies: Fine-grained, policy-driven tool authorization. Supports none, local embedded (mcp_policies.json), or centralized remote modes.

  • OIDC Token Delegation: Compliant with RFC 8693 token exchange for flowing authenticating user credentials from Web UI / ACP → Agent → MCP.

  • Scoped Credentials: Execution context runs restricted to the specific caller identity.

Runtime Security Grid

Feature

Feature

Enablement

Tool Guard

Sensitivity inspection with human-in-the-loop validation

Enabled by default

Prompt Injection Defense

Input scanning, repetition monitoring, and recursive loop blocks

Enabled by default

Context Safety Guard

Stuck-loop detectors and contextual overflow preemptive alerts

Enabled by default


Environment Variables

Package environment variables

Variable

Example

Description

HOST

0.0.0.0

PORT

8000

TRANSPORT

stdio

options: stdio, streamable-http, sse

ENABLE_OTEL

True

OTEL_EXPORTER_OTLP_ENDPOINT

http://localhost:8080/api/public/otel

OTEL_EXPORTER_OTLP_PUBLIC_KEY_REF

pk-...

Reference form only — runtime-only trust material, resolved via AgentConfig.

OTEL_EXPORTER_OTLP_SECRET_KEY_REF

sk-...

OTEL_EXPORTER_OTLP_PROTOCOL

http/protobuf

EUNOMIA_TYPE

none

options: none, embedded, remote

EUNOMIA_POLICY_FILE

mcp_policies.json

EUNOMIA_REMOTE_URL

http://eunomia-server:8000

SERVICENOW_INSTANCE

https://instance.example.invalid

SERVICENOW_URL

—

alias for SERVICENOW_INSTANCE (checked first if both are set)

SERVICENOW_USERNAME

your_servicenow_username_here

SERVICENOW_CLIENT_ID

—

SERVICENOW_GRANT_TYPE

password

password (default) or client_credentials; client_credentials requires client id and secret.

SERVICENOW_TLS_PROFILE

system

Named outbound TLS policy from AgentConfig. Use a reference for runtime-only trust material; peer and hostname verification remain mandatory.

SERVICENOW_TLS_PROFILE_REF

—

DEBUG

False

PYTHONUNBUFFERED

1

SERVICENOW_PASSWORD

secret-injected

SERVICENOW_CLIENT_SECRET

secret-injected

AUDIENCE

—

downstream token audience (defaults to the ServiceNow instance)

DELEGATED_SCOPES

api

scopes requested during token exchange

OPENAPI_USERNAME

your_openapi_username_here

OPENAPI_PASSWORD

secret-injected

OPENAPI_CLIENT_ID

your_openapi_client_id_here

OPENAPI_CLIENT_SECRET

secret-injected

SDK_WORKDIR

/data/servicenow-sdk-workspace

Working directory for now-sdk init/build/deploy/etc. Defaults to ~/servicenow-sdk-workspace (auto-created) when unset.

MISCTOOL

True

FLOWSTOOL

True

APPLICATIONTOOL

True

CMDBTOOL

True

CICDTOOL

True

PLUGINSTOOL

True

SOURCE_CONTROLTOOL

True

TESTINGTOOL

True

UPDATE_SETSTOOL

True

BATCHTOOL

True

CHANGE_MANAGEMENTTOOL

True

CILIFECYCLETOOL

True

DEVOPSTOOL

True

IMPORT_SETSTOOL

True

INCIDENTSTOOL

True

PROBLEMTOOL

True

KNOWLEDGE_MANAGEMENTTOOL

True

TABLE_APITOOL

True

AUTHTOOL

True

CUSTOM_APITOOL

True

EMAILTOOL

True

DATA_CLASSIFICATIONTOOL

True

ATTACHMENTTOOL

True

AGGREGATETOOL

True

ACTIVITY_SUBSCRIPTIONSTOOL

True

ACCOUNTTOOL

True

HRTOOL

True

METRICBASETOOL

True

SERVICE_QUALIFICATIONTOOL

True

PPMTOOL

True

PRODUCT_INVENTORYTOOL

True

SDKTOOL

True

SERVICENOW_API_MCP_IMAGE

—

Required by docker/mcp.compose.yml; set to the reviewed MCP image@sha256 digest.

SERVICENOW_API_AGENT_IMAGE

—

Required by docker/agent.compose.yml; set to the reviewed agent image@sha256 digest.

Inherited scion-sdk variables (apply to every connector)

Variable

Example

Description

MCP_TOOL_MODE

intent

Tool surface: intent | condensed | verbose | both

MCP_ENABLED_TOOLS

—

Comma-separated tool allow-list

MCP_DISABLED_TOOLS

—

Comma-separated tool deny-list

MCP_ENABLED_TAGS

—

Comma-separated tag allow-list

MCP_DISABLED_TAGS

—

Comma-separated tag deny-list

MCP_CLIENT_AUTH

—

Outbound MCP child auth: oidc-client-credentials | basic | none

OIDC_CLIENT_ID

—

OIDC client id (service-account auth)

OIDC_CLIENT_SECRET_REF

secret://identity/oidc-client-secret

Runtime secret reference for the OIDC service account

MCP_BASIC_AUTH_USERNAME

—

HTTP Basic username (MCP_CLIENT_AUTH=basic)

MCP_BASIC_AUTH_PASSWORD_REF

secret://identity/mcp-basic-password

Runtime secret reference for HTTP Basic auth (MCP_CLIENT_AUTH=basic)

MCP_URL

http://localhost:8000/mcp

URL of the MCP server the agent connects to

PROVIDER

—

Operator-configured LLM provider for the agent

MODEL_ID

—

Operator-configured model id for the agent

ENABLE_WEB_UI

True

Serve the AG-UI web interface

63 package + 14 inherited variable(s). Auto-generated from .env.example + the shared scion-sdk set — do not edit.

Every variable the server reads. See .env.example for a copy-paste starting point.

Connection & Credentials

Variable

Description

Default

SERVICENOW_INSTANCE

ServiceNow instance base URL

—

SERVICENOW_USERNAME

Account username (basic auth)

—

SERVICENOW_PASSWORD

Account password (basic auth)

—

SERVICENOW_CLIENT_ID

OAuth client id

—

SERVICENOW_CLIENT_SECRET

OAuth client secret

—

SERVICENOW_GRANT_TYPE

password or client_credentials

password

SERVICENOW_TLS_PROFILE

Named outbound TLS policy from AgentConfig

system

DEBUG

Verbose logging

False

PYTHONUNBUFFERED

Unbuffered stdout (recommended in containers)

1

OAuth client credentials

Set SERVICENOW_GRANT_TYPE=client_credentials together with SERVICENOW_CLIENT_ID and SERVICENOW_CLIENT_SECRET to authenticate as the OAuth application without a username/password. Configure the application for this grant on the ServiceNow instance. Provide the secret through the operator's runtime configuration; do not commit it to an environment file.

OIDC delegation retains priority when enabled. Otherwise, explicitly selecting client_credentials requires both client fields and fails if either is missing; it does not fall back to an ambient username/password. Leaving the grant setting unset preserves the existing password-grant or Basic authentication behavior. Token exchange uses the configured TLS profile, a 30-second request timeout, and rejects redirects, non-success HTTP responses, and missing or invalid tokens.

MCP server / transport

Variable

Description

Default

TRANSPORT

stdio, streamable-http, or sse

stdio

HOST

Bind host (HTTP transports)

0.0.0.0

PORT

Bind port (HTTP transports)

8000

MCP_TOOL_MODE

Tool surface: condensed, verbose, or both

condensed

MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS

Comma-separated tool allow/deny list

—

MCP_ENABLED_TAGS / MCP_DISABLED_TAGS

Comma-separated tag allow/deny list

—

Telemetry & governance

Variable

Description

Default

ENABLE_OTEL

Enable OpenTelemetry export

True

OTEL_EXPORTER_OTLP_ENDPOINT

OTLP collector endpoint

—

OTEL_EXPORTER_OTLP_PUBLIC_KEY / OTEL_EXPORTER_OTLP_SECRET_KEY

OTLP auth keys

—

OTEL_EXPORTER_OTLP_PROTOCOL

OTLP protocol (e.g. http/protobuf)

—

EUNOMIA_TYPE

Authorization mode: none, embedded, remote

none

EUNOMIA_POLICY_FILE

Embedded policy file

mcp_policies.json

EUNOMIA_REMOTE_URL

Remote Eunomia server URL

—

Tool toggles

Each action-routed tool can be disabled individually via its toggle env var (set to false). The full list is in the Available MCP Tools table above (e.g. INCIDENTSTOOL, CHANGE_MANAGEMENTTOOL, TABLE_APITOOL, CMDBTOOL).


Installation

Pick the extra that matches what the operator want to run:

Extra

Installs

Use when

servicenow-api[mcp]

Connector-focused MCP server (scion-sdk[mcp] — FastMCP/FastAPI + epistemic-graph[full])

The operator only run the MCP server (smallest install / image)

servicenow-api[agent]

Agent runtime (scion-sdk[agent-runtime,logfire] — model orchestration + epistemic-graph[full])

The operator run the integrated agent

servicenow-api[all]

Everything (mcp + agent + logfire)

Development / both surfaces

# Connector-focused MCP server (includes the shared graph engine)
uv pip install "servicenow-api[mcp]"

# Agent runtime (adds model orchestration to the shared graph engine)
uv pip install "servicenow-api[agent]"

# Everything (development)
uv pip install "servicenow-api[all]"      # or: python -m pip install "servicenow-api[all]"

Container images (:mcp vs :agent)

One multi-stage docker/Dockerfile builds two right-sized images, selected by --target:

Image tag

Build target

Contents

Entrypoint

example/servicenow-api:mcp

--target mcp

servicenow-api[mcp] — connector-focused, includes epistemic-graph[full]; no model-orchestration stack

servicenow-mcp

example/servicenow-api@sha256:<digest>

--target agent (default)

servicenow-api[agent] — agent runtime, model orchestration + epistemic-graph[full]

servicenow-agent

docker build --target mcp   -t example/servicenow-api:mcp    docker/   # connector-focused MCP server
docker build --target agent -t example/servicenow-api:agent-local docker/   # agent runtime

docker/mcp.compose.yml runs the connector-focused :mcp server; docker/agent.compose.yml runs the agent (immutable agent digest) with a co-located :mcp sidecar.

Knowledge-graph database (epistemic-graph)

Both [mcp] and [agent] carry the epistemic-graph engine through the required Agent Utilities core dependency (epistemic-graph[full]). The [mcp] extra keeps the server connector-focused; [agent] also enables model orchestration. Local deployments can use the bundled engine. For production or shared state, run epistemic-graph as a dedicated database service and configure the runtime to use it. Deployment recipes (single-node + Raft HA), connection configuration, and architecture diagrams are documented in the epistemic-graph deployment guide.


Documentation

The complete documentation is published as the official documentation site and is the recommended reference for installation, deployment, and day-to-day operation.

Page

Contents

Installation

pip, source, extras, prebuilt Docker image

Deployment

run the MCP and agent servers, Compose, Caddy + Technitium, env config

Usage

the MCP tools, the Api client, the command line

Overview

the standardized agent-package pattern and MCP configuration

Concepts

concept registry (CONCEPT:SNOW-*)


Repository Owners

GitHub followers GitHub User's stars


Contribute

Contributions are welcome! Please ensure code quality by running local checks before submitting pull requests:

  • Format code using ruff format .

  • Lint code using ruff check .

  • Validate type-safety with mypy .

  • Run test suites using pytest

Deploy with scion-sdk-deployment

Provision this package with the consolidated scion-sdk-deployment workflow. It selects an installed-package, editable-source, or immutable-container path; records only runtime secret and TLS-profile references in AgentConfig; and runs doctor, registration, policy, observability, and rollback gates. Ask your agent to "deploy servicenow-api with scion-sdk-deployment".

Install mode

Command

Installed package

uv tool install "servicenow-api[mcp]", then run servicenow-mcp

Editable source

uv pip install -e ".[agent]", then run servicenow-mcp

Immutable container

deploy registry.example.invalid/servicenow-api@sha256:<digest> through the operator-selected orchestrator

The repository embeds no deployment profile, credential value, certificate path, or environment-specific endpoint. Supply those at runtime through AgentConfig and the configured secret provider.

Governed capability contract

This package ships a compact canonical skill surface with specialist procedures kept as referenced workflows. The current MCP tools, skill metadata, connector_manifest.yml, ontology, mappings, shapes, fixtures, migrations, tool-schema fingerprints, and certification metadata form one versioned capability contract. Validate them together; do not rely on stale tool names or historical per-task skill wrappers.

Runtime endpoints, credentials, certificate trust, tenant identity, retention, and observability policy are deployment inputs and are never packaged values. See Configuration, trust, and privacy before enabling a network transport, connector ingestion, Arbora delegation, or trace export.

Available Tools

133 tools
servicenow_activate_pluginActivate pluginC

Activate a plugin based on the provided plugin_id.

:param plugin_id: The ID of the plugin to be activated. :type plugin_id: str

:return: Response containing parsed Pydantic model with information about the activation. :rtype: Response

:raises MissingParameterError: If plugin_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_add_ci_lifecycle_actionAdd ci lifecycle actionC

Adds a specified CI action to a specified list of CIs.

Inputs: actionName (required), requestorId (required), sysIds, opsLabel, +3 more.

servicenow_add_table_recordAdd table recordC

Add a new record to the specified table.

:param table: The name of the table. :type table: str :param data: Dictionary containing the field values for the new record. :type data: dict

:return: Response containing parsed Pydantic model with information about the added record. :rtype: Response

:raises MissingParameterError: If table or data is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_api_requestApi requestD

Invoke the api_request operation.

Inputs: method (required), endpoint (required), data, json.

servicenow_apply_remote_source_control_changesApply remote source control changesC

Apply remote source control changes based on the provided parameters.

:param app_sys_id: The sys_id of the application for which changes should be applied. :type app_sys_id: str :param scope: The scope of the changes. :type scope: str :param branch_name: The name of the branch containing the changes. :type branch_name: str :param auto_upgrade_base_app: Flag indicating whether to auto-upgrade the base app. :type auto_upgrade_base_app: bool

:return: Response containing parsed Pydantic model with information about the applied changes. :rtype: Response

:raises MissingParameterError: If app_sys_id or scope is not provided. :raises ParameterError: If auto_upgrade_base_app is not a boolean.

Inputs: data, name, notes, scope, +39 more.

servicenow_app_repo_installApp repo installC

Install an application from the repository based on the provided parameters.

:param app_sys_id: The sys_id of the application to be installed. :type app_sys_id: str :param scope: The scope of the application. :type scope: str :param auto_upgrade_base_app: Flag indicating whether to auto-upgrade the base app. :type auto_upgrade_base_app: bool :param base_app_version: The version of the base app. :type base_app_version: str :param version: The version of the application to be installed. :type version: str

:return: Response containing parsed Pydantic model with information about the installation. :rtype: Response

:raises MissingParameterError: If app_sys_id or scope is not provided. :raises ParameterError: If auto_upgrade_base_app is not a boolean.

Inputs: data, name, notes, scope, +39 more.

servicenow_app_repo_publishApp repo publishC

Publish an application to the repository based on the provided parameters.

:param app_sys_id: The sys_id of the application to be published. :type app_sys_id: str :param scope: The scope of the application. :type scope: str :param dev_notes: Development notes for the published version. :type dev_notes: str :param version: The version of the application to be published. :type version: str

:return: Response containing parsed Pydantic model with information about the publication. :rtype: Response

:raises MissingParameterError: If app_sys_id or scope is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_app_repo_rollbackApp repo rollbackC

Rollback an application in the repository based on the provided parameters.

:param app_sys_id: The sys_id of the application to be rolled back. :type app_sys_id: str :param scope: The scope of the application. :type scope: str :param version: The version of the application to be rolled back. :type version: str

:return: Response containing parsed Pydantic model with information about the rollback. :rtype: Response

:raises MissingParameterError: If app_sys_id, scope, or version is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_approve_change_requestApprove change requestC

Approve or reject a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param state: State to set the change request to (approved or rejected). :type state: str or None

:return: Response containing parsed Pydantic model with information about the approval/rejection. :rtype: Response

:raises MissingParameterError: If change_request_sys_id or state is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If state is not valid. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_batch_installBatch installC

Initiate a batch installation with the provided parameters.

:param name: The name of the batch installation. :type name: str :param notes: Additional notes for the batch installation. :type notes: str :param packages: The packages to be installed in the batch. :type packages: str

:return: Response containing parsed Pydantic model with information about the batch installation. :rtype: Response

:raises MissingParameterError: If name or packages are not provided. :raises ParameterError: If notes is not a string.

Inputs: data, name, notes, scope, +39 more.

servicenow_batch_install_resultBatch install resultC
Read-onlyIdempotent

Get the result of a batch installation based on the provided result ID.

:param result_id: The ID associated with the batch installation result. :type result_id: str

:return: Response containing parsed Pydantic model with batch installation result. :rtype: Response

:raises MissingParameterError: If result_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_batch_requestBatch requestC

Sends multiple REST API requests in a single call.

:param batch_request_id: ID that identifies the batch of requests. :type batch_request_id: str :param rest_requests: List of request objects to include in the batch request. :type rest_requests: list

:return: Response containing the batch results. :rtype: Response

Inputs: rest_requests (required), batch_request_id.

servicenow_batch_rollbackBatch rollbackC
Read-onlyIdempotent

Rollback a batch installation based on the provided rollback ID.

:param rollback_id: The ID associated with the batch rollback. :type rollback_id: str

:return: Response containing parsed Pydantic model with information about the batch rollback. :rtype: Response

:raises MissingParameterError: If rollback_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_calculate_standard_change_request_riskCalculate standard change request riskC

Calculate and update the risk of a standard change request.

:param change_request_sys_id: Sys ID of the standard change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the calculated risk. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_check_change_request_conflictCheck change request conflictC

Check for conflicts in a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about conflicts. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_check_ci_lifecycle_compat_actionsCheck ci lifecycle compat actionsC
Read-onlyIdempotent

Determines whether two specified CI actions are compatible.

Inputs: params, params_json.

servicenow_check_ci_lifecycle_lease_expiredCheck ci lifecycle lease expiredC
Read-onlyIdempotent

Determines whether the lease has expired for the requester.

Inputs: params, params_json.

servicenow_check_ci_lifecycle_not_allowed_actionCheck ci lifecycle not allowed actionC
Read-onlyIdempotent

Determines whether a specified CI action is not allowed.

Inputs: params, params_json.

servicenow_check_ci_lifecycle_not_allowed_ops_transitionCheck ci lifecycle not allowed ops transitionC
Read-onlyIdempotent

Determines whether an operational state transition is allowed.

Inputs: params, params_json.

servicenow_check_ci_lifecycle_requestor_validCheck ci lifecycle requestor validC
Read-onlyIdempotent

Determines whether the specified user is a valid requester.

Inputs: params, params_json.

servicenow_check_devops_change_controlCheck devops change controlC
Read-onlyIdempotent

Checks if the orchestration task is under change control.

Inputs: params, params_json.

servicenow_check_devops_step_mappingCheck devops step mappingC
Read-onlyIdempotent

Verifies that the information being passed is valid for the creation of an orchestration task.

Inputs: params, params_json.

servicenow_check_service_qualificationCheck service qualificationC

Creates a technical service qualification request.

Inputs: relatedParty (required), serviceQualificationItem (required), type, externalId, +4 more.

servicenow_collect_graph_for_rootsCollect graph for rootsD

Invoke the collect_graph_for_roots operation.

Inputs: root_sys_ids (required), max_depth, initial_metadata.

servicenow_combo_suite_scanCombo suite scanC

Initiate a suite scan for a combo based on the provided combo_sys_id.

:param combo_sys_id: The sys_id of the combo to be scanned. :type combo_sys_id: str

:return: Response containing parsed Pydantic model with information about the combo suite scan. :rtype: Response

:raises MissingParameterError: If combo_sys_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_create_change_requestCreate change requestC

Create a new change request.

:param name_value_pairs: Name-value pairs providing details for the new change request. :type name_value_pairs: str or None :param change_type: Type of change (emergency, normal, standard). :type change_type: str or None :param standard_change_template_id: Sys ID of the standard change request template (if applicable). :type standard_change_template_id: str or None

:return: Response containing parsed Pydantic model with information about the created change request. :rtype: Response

:raises MissingParameterError: If name_value_pairs is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If change_type is specified but not valid. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_create_change_request_ci_associationCreate change request ci associationC

Create associations between a change request and configuration items (CIs).

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param cmdb_ci_sys_ids: List of Sys IDs of CIs to associate with the change request. :type cmdb_ci_sys_ids: list or None :param association_type: Type of association (affected, impacted, offering). :type association_type: str or None :param refresh_impacted_services: Flag to refresh impacted services (applicable for 'affected' association). :type refresh_impacted_services: bool or None

:return: Response containing parsed Pydantic model with information about the created associations. :rtype: Response

:raises MissingParameterError: If change_request_sys_id, cmdb_ci_sys_ids, or association_type is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If association_type is not valid. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_create_change_request_taskCreate change request taskC

Create a new task associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param data: Name-value pairs providing details for the new task. :type data: dict or None

:return: Response containing parsed Pydantic model with information about the created task. :rtype: Response

:raises MissingParameterError: If change_request_sys_id or name_value_pairs is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_create_cmdb_instanceCreate cmdb instanceC

Creates a single configuration item (CI).

:param className: CMDB class name. :type className: str :param attributes: Data attributes to define in the CI record. :type attributes: dict :param source: Discovery source. :type source: str :param inbound_relations: List of inbound relations. :type inbound_relations: list :param outbound_relations: List of outbound relations. :type outbound_relations: list

:return: Response containing created CI. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_create_cmdb_relationCreate cmdb relationC

Adds an inbound and/or outbound relation to the specified CI.

:param className: CMDB class name. :type className: str :param sys_id: Sys_id of the CI. :type sys_id: str :param inbound_relations: List of inbound relations. :type inbound_relations: list :param outbound_relations: List of outbound relations. :type outbound_relations: list :param source: Discovery source. :type source: str

:return: Response containing updated CI relations. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_create_incidentCreate incidentC

Create a new incident record.

:param kwargs: Keyword arguments to initialize an IncidentModel instance. :type kwargs: dict

:return: Response containing parsed Pydantic model with information about the created incident record. :rtype: Response

:raises MissingParameterError: If data for the incident is not provided. :raises ParameterError: If JSON serialization of incident data fails. :raises ParameterError: If validation of parameters fails.

Inputs: data, incident_id, sysparm_view, sysparm_limit, +11 more.

servicenow_create_problemCreate problemC

Create a new problem record.

:param kwargs: Keyword arguments to initialize a ProblemModel instance. :type kwargs: dict

:return: Response containing parsed Pydantic model with information about the created problem record. :rtype: Response

:raises MissingParameterError: If data for the problem is not provided. :raises ParameterError: If validation of parameters fails.

Inputs: data, problem_id, sysparm_view, sysparm_limit, +11 more.

servicenow_delete_attachmentDelete attachmentD
DestructiveIdempotent

Invoke the delete_attachment operation.

Inputs: data, sys_id, file_name, table_name, +3 more.

servicenow_delete_change_requestDelete change requestC
DestructiveIdempotent

Delete a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param change_type: Type of change (emergency, normal, standard). :type change_type: str or None

:return: Response containing parsed Pydantic model with information about the deleted change request. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_delete_change_request_conflict_scanDelete change request conflict scanC
DestructiveIdempotent

Delete conflict scan information associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param task_sys_id: Sys ID of the task associated with the change request. :type task_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the deleted conflict scan. :rtype: Response

:raises MissingParameterError: If either change_request_sys_id or task_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_delete_change_request_taskDelete change request taskC
DestructiveIdempotent

Delete a task associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param task_sys_id: Sys ID of the task associated with the change request. :type task_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the deleted task. :rtype: Response

:raises MissingParameterError: If either change_request_sys_id or task_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_delete_ci_lifecycle_actionDelete ci lifecycle actionC
DestructiveIdempotent

Removes a configuration item (CI) action for a list of CIs.

Inputs: actionName (required), requestorId (required), sysIds, opsLabel, +3 more.

servicenow_delete_cmdb_relationDelete cmdb relationB
DestructiveIdempotent

Deletes the relation for the specified configuration item (CI).

:param className: CMDB class name. :type className: str :param sys_id: Sys_id of the CI. :type sys_id: str :param rel_sys_id: Sys_id of the relation to remove. :type rel_sys_id: str

:return: Response containing the operation result. :rtype: Response

:raises MissingParameterError: If className, sys_id, or rel_sys_id is not provided.

Inputs: data, source, sys_id, className, +8 more.

servicenow_delete_incidentDelete incidentC
DestructiveIdempotent

Delete an incident record.

:param incident_id: The sys_id of the incident record to delete. :type incident_id: str

:return: Response containing information about the deletion. :rtype: Response

:raises MissingParameterError: If incident_id is not provided.

Inputs: data, incident_id, sysparm_view, sysparm_limit, +11 more.

servicenow_delete_problemDelete problemC
DestructiveIdempotent

Delete a problem record.

:param problem_id: The sys_id of the problem record to delete. :type problem_id: str

:return: Response containing information about the deletion. :rtype: Response

:raises MissingParameterError: If problem_id is not provided.

Inputs: data, problem_id, sysparm_view, sysparm_limit, +11 more.

servicenow_delete_product_inventoryDelete product inventoryC
DestructiveIdempotent

Deletes a specified product inventory record.

Inputs: params, params_json.

servicenow_delete_table_recordDelete table recordC
DestructiveIdempotent

Delete a record from the specified table.

:param table: The name of the table. :type table: str :param table_record_sys_id: The sys_id of the record to be deleted. :type table_record_sys_id: str

:return: Response containing parsed Pydantic model with information about the deletion. :rtype: Response

:raises MissingParameterError: If table or table_record_sys_id is not provided.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_extend_ci_lifecycle_leaseExtend ci lifecycle leaseC

Extends the specified CI action's lease expiration time.

Inputs: actionName (required), requestorId (required), sysIds, opsLabel, +3 more.

servicenow_full_scanFull scanC

Initiate a full instance scan.

:return: Response containing parsed Pydantic model with information about the full scan. :rtype: Response

Inputs: no named parameters.

servicenow_get_accountGet accountD
Read-onlyIdempotent

Invoke the get_account operation.

Inputs: name, number, sys_id.

servicenow_get_activity_subscriptionsGet activity subscriptionsD
Read-onlyIdempotent

Invoke the get_activity_subscriptions operation.

Inputs: data, sys_id, table_name, document_id, +13 more.

servicenow_get_applicationGet applicationC
Read-onlyIdempotent

Get information about an application.

:param application_id: The unique identifier of the application. :type application_id: str

:return: Response containing parsed Pydantic model with information about the application. :rtype: Response

:raises MissingParameterError: If the required parameter application_id is not provided.

Inputs: mode, api_parameters, application_id.

servicenow_get_attachmentGet attachmentD
Read-onlyIdempotent

Invoke the get_attachment operation.

Inputs: data, sys_id, file_name, table_name, +3 more.

servicenow_get_change_requestGet change requestC
Read-onlyIdempotent

Retrieve details of a specific change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param change_type: Type of change (emergency, normal, standard). :type change_type: str or None

:return: Response containing parsed Pydantic model with information about the change request. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If change_type is specified but not valid. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_ciGet change request ciC
Read-onlyIdempotent

Retrieve the configuration item (CI) associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the associated CI. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_conflictGet change request conflictC
Read-onlyIdempotent

Retrieve conflict information associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the conflicts. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_modelsGet change request modelsC
Read-onlyIdempotent

Retrieve change request models based on specified parameters.

:param order: Ordering parameter for sorting results. :type order: str or None :param name_value_pairs: Additional name-value pairs for filtering. :type name_value_pairs: str or None :param sysparm_query: Query parameter for filtering results. :type sysparm_query: str or None :param text_search: Text search parameter for searching results. :type text_search: str or None

:return: Response containing list of parsed Pydantic models with information about change request models. :rtype: Response

:raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_nextstateGet change request nextstateC
Read-onlyIdempotent

Retrieve the next state of a specific change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the next state. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_requestsGet change requestsC
Read-onlyIdempotent

Retrieve change requests based on specified parameters.

:param order: Ordering parameter for sorting results. :type order: str or None :param name_value_pairs: Additional name-value pairs for filtering. :type name_value_pairs: str or None :param sysparm_query: Query parameter for filtering results. :type sysparm_query: str or None :param text_search: Text search parameter for searching results. :type text_search: str or None :param change_type: Type of change (emergency, normal, standard, model). :type change_type: str or None

:return: Response containing list of parsed Pydantic models with information about change requests. :rtype: Response

:raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If change_type is specified but not valid. :raises ParameterError: If JSON serialization or deserialization fails. :raises ParameterError: If unexpected response format is encountered.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_scheduleGet change request scheduleC
Read-onlyIdempotent

Retrieve the schedule of a change request based on CI sys ID.

:param cmdb_ci_sys_id: Sys ID of the CI (Configuration Item). :type cmdb_ci_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the change request schedule. :rtype: Response

:raises MissingParameterError: If cmdb_ci_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_tasksGet change request tasksC
Read-onlyIdempotent

Retrieve tasks associated with a specific change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param order: Ordering parameter for sorting results. :type order: str or None :param name_value_pairs: Additional name-value pairs for filtering. :type name_value_pairs: str or None :param sysparm_query: Query parameter for filtering results. :type sysparm_query: str or None :param text_search: Text search parameter for searching results. :type text_search: str or None

:return: Response containing list of parsed Pydantic models with information about change request tasks. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_change_request_workerGet change request workerC
Read-onlyIdempotent

Retrieve details of a change request worker.

:param worker_sys_id: Sys ID of the change request worker. :type worker_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the change request worker. :rtype: Response

:raises MissingParameterError: If worker_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_ci_lifecycle_active_actionsGet ci lifecycle active actionsC
Read-onlyIdempotent

Returns a list of active CI actions for the specified CI.

Inputs: params, params_json.

servicenow_get_ci_lifecycle_statusGet ci lifecycle statusC
Read-onlyIdempotent

Returns the current operational state for the specified CI.

Inputs: params, params_json.

servicenow_get_cmdbGet cmdbB
Read-onlyIdempotent

Get Configuration Management Database (CMDB) information based on specified parameters.

:param cmdb_id: The unique identifier of the CMDB record :type cmdb_id: str

:return: Response containing parsed Pydantic model with CMDB information. :rtype: Response

:raises ParameterError: If the provided parameters are invalid.

Inputs: cmdb_id.

servicenow_get_cmdb_instanceGet cmdb instanceC
Read-onlyIdempotent

Returns attributes and relationship information for a specified CI record.

:param className: CMDB class name. :type className: str :param sys_id: Sys_id of the CI record to retrieve. :type sys_id: str

:return: Response containing parsed Pydantic model with CI information. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_get_cmdb_instancesGet cmdb instancesB
Read-onlyIdempotent

Returns the available configuration items (CI) for a specified CMDB class.

:param className: CMDB class name. :type className: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int or str :param sysparm_offset: Starting record index. :type sysparm_offset: int or str :param sysparm_query: Encoded query used to filter the result set. :type sysparm_query: str

:return: Response containing list of CIs. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_get_data_classificationGet data classificationD
Read-onlyIdempotent

Invoke the get_data_classification operation.

Inputs: sys_id, table_name, column_name, classification.

servicenow_get_devops_change_infoGet devops change infoC
Read-onlyIdempotent

Retrieves change request details for a specified orchestration pipeline execution.

Inputs: params, params_json.

servicenow_get_devops_code_schemaGet devops code schemaC
Read-onlyIdempotent

Returns the schema object for a specified code resource.

Inputs: resource (required), toolId.

servicenow_get_devops_onboarding_statusGet devops onboarding statusC
Read-onlyIdempotent

Returns the current status of the specified onboarding event.

Inputs: params, params_json.

servicenow_get_devops_orchestration_schemaGet devops orchestration schemaC
Read-onlyIdempotent

Returns the schema object for a specified orchestration resource.

Inputs: resource (required), toolId.

servicenow_get_devops_plan_schemaGet devops plan schemaC
Read-onlyIdempotent

Returns the schema object for a specific plan.

Inputs: params, params_json.

servicenow_get_featured_knowledge_articleGet featured knowledge articleC
Read-onlyIdempotent

Get featured Knowledge Base articles.

:param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param kb: Comma-separated list of knowledge base sys_ids from the Knowledge Bases [kb_knowledge_base] table to restrict results to. :type kb: str :param language: List of comma-separated languages in two-letter ISO 639-1 language code format to restrict results to. Alternatively type 'all' to search in all valid installed languages on an instance. :type language: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises ParameterError: If input parameters are invalid.

Inputs: textSearch, sysparm_limit, sysparm_query, api_parameters, +8 more.

servicenow_get_flow_metadataGet flow metadataC
Read-onlyIdempotent

Fetch rich metadata for any flow/subflow.

Inputs: flow_sys_id (required). Returns: object

servicenow_get_hr_profileGet hr profileD
Read-onlyIdempotent

Invoke the get_hr_profile operation.

Inputs: user, sys_id.

servicenow_get_import_setGet import setB
Read-onlyIdempotent

Get details of a specific import set record.

:param table: The name of the table associated with the import set. :type table: str :param import_set_sys_id: The sys_id of the import set record. :type import_set_sys_id: str

:return: Response containing parsed Pydantic model with information about the import set record. :rtype: Response

:raises ParameterError: If import_set_sys_id or table is not provided.

Inputs: data, table, import_set_sys_id.

servicenow_get_incidentGet incidentC
Read-onlyIdempotent

Retrieve details of a specific incident record.

:param incident_id: The sys_id of the incident record. :type incident_id: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises MissingParameterError: If table is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: data, incident_id, sysparm_view, sysparm_limit, +11 more.

servicenow_get_incidentsGet incidentsB
Read-onlyIdempotent

Retrieve details of incident records.

:param name_value_pairs: Dictionary of name-value pairs for filtering records. :type name_value_pairs: str :param sysparm_display_value: Display values for reference fields ('True', 'False', or 'all'). :type sysparm_display_value: str :param sysparm_exclude_reference_link: Exclude reference links in the response. :type sysparm_exclude_reference_link: bool :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. Defaults to DEFAULT_INCIDENT_LIMIT when omitted; see Response.truncated. :type sysparm_limit: int :param sysparm_no_count: Do not include the total number of records in the response. :type sysparm_no_count: bool :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param sysparm_query_no_domain: Exclude records based on domain separation. :type sysparm_query_no_domain: bool :param sysparm_suppress_pagination_header: Suppress pagination headers in the response. :type sysparm_suppress_pagination_header: bool :param sysparm_view: Display style ('desktop', 'mobile', or 'both'). :type sysparm_view: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records, plus truncated/applied_limit/next_offset metadata disclosing whether a default cap was applied and how to page past it. :rtype: Response

:raises MissingParameterError: If table is not provided. :raises ParameterError: If input parameters are invalid or an unknown argument is passed.

Inputs: data, incident_id, sysparm_view, sysparm_limit, +11 more.

servicenow_get_knowledge_articleGet knowledge articleC
Read-onlyIdempotent

Get Knowledge Base article.

:param article_sys_id: The sys_id of the knowledge article. :type article_sys_id: str :param filter: Encoded query to use to filter the result set. :type filter: str :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_search_id: Unique identifier of search that returned this article :type sysparm_search_id: str :param sysparm_search_rank: Article search rank by click-rate :type sysparm_search_rank: str :param sysparm_update_view: Update view count and record an entry for the article :type sysparm_update_view: bool :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param kb: Comma-separated list of knowledge base sys_ids from the Knowledge Bases [kb_knowledge_base] table to restrict results to. :type kb: str :param language: List of comma-separated languages in two-letter ISO 639-1 language code format to restrict results to. Alternatively type 'all' to search in all valid installed languages on an instance. :type language: str

:return: Response containing parsed Pydantic model with information about the retrieved record. :rtype: Response

:raises MissingParameterError: If article_sys_id is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: textSearch, sysparm_limit, sysparm_query, api_parameters, +8 more.

servicenow_get_knowledge_article_attachmentGet knowledge article attachmentC
Read-onlyIdempotent

Get Knowledge Base article attachment.

:param article_sys_id: The Article Sys ID to search attachments for :type article_sys_id: str :param attachment_sys_id: The Attachment Sys ID :type attachment_sys_id: str

:return: Response containing parsed Pydantic model with information about the retrieved attachment. :rtype: Response

:raises MissingParameterError: If article_sys_id or attachment_sys_id is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: textSearch, sysparm_limit, sysparm_query, api_parameters, +8 more.

servicenow_get_knowledge_articlesGet knowledge articlesC
Read-onlyIdempotent

Get all Knowledge Base articles.

:param filter: Encoded query to use to filter the result set. :type filter: str :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param kb: Comma-separated list of knowledge base sys_ids from the Knowledge Bases [kb_knowledge_base] table to restrict results to. :type kb: str :param language: List of comma-separated languages in two-letter ISO 639-1 language code format to restrict results to. Alternatively type 'all' to search in all valid installed languages on an instance. :type language: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises MissingParameterError: If table is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: textSearch, sysparm_limit, sysparm_query, api_parameters, +8 more.

servicenow_get_most_viewed_knowledge_articlesGet most viewed knowledge articlesC
Read-onlyIdempotent

Get most viewed Knowledge Base articles.

:param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param kb: Comma-separated list of knowledge base sys_ids from the Knowledge Bases [kb_knowledge_base] table to restrict results to. :type kb: str :param language: List of comma-separated languages in two-letter ISO 639-1 language code format to restrict results to. Alternatively type 'all' to search in all valid installed languages on an instance. :type language: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises ParameterError: If input parameters are invalid.

Inputs: textSearch, sysparm_limit, sysparm_query, api_parameters, +8 more.

servicenow_get_problemGet problemB
Read-onlyIdempotent

Retrieve details of a specific problem record.

:param problem_id: The sys_id of the problem record. :type problem_id: str

:return: Response containing parsed Pydantic model with information about the retrieved record. :rtype: Response

:raises MissingParameterError: If problem_id is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: data, problem_id, sysparm_view, sysparm_limit, +11 more.

servicenow_get_problemsGet problemsB
Read-onlyIdempotent

Retrieve details of problem records.

:param name_value_pairs: Dictionary of name-value pairs for filtering records. :type name_value_pairs: str :param sysparm_display_value: Display values for reference fields ('True', 'False', or 'all'). :type sysparm_display_value: str :param sysparm_exclude_reference_link: Exclude reference links in the response. :type sysparm_exclude_reference_link: bool :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_no_count: Do not include the total number of records in the response. :type sysparm_no_count: bool :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param sysparm_query_no_domain: Exclude records based on domain separation. :type sysparm_query_no_domain: bool :param sysparm_suppress_pagination_header: Suppress pagination headers in the response. :type sysparm_suppress_pagination_header: bool :param sysparm_view: Display style ('desktop', 'mobile', or 'both'). :type sysparm_view: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises ParameterError: If input parameters are invalid.

Inputs: data, problem_id, sysparm_view, sysparm_limit, +11 more.

servicenow_get_product_inventoryGet product inventoryC
Read-onlyIdempotent

Retrieves a list of all product inventories.

Inputs: limit, fields, offset, status, +2 more.

servicenow_get_service_qualificationGet service qualificationC
Read-onlyIdempotent

Retrieves a technical qualification request by ID or list all.

Inputs: params, params_json.

servicenow_get_standard_change_request_modelGet standard change request modelC
Read-onlyIdempotent

Retrieve details of a standard change request model.

:param model_sys_id: Sys ID of the standard change request model. :type model_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the standard change request model. :rtype: Response

:raises MissingParameterError: If model_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_standard_change_request_templateGet standard change request templateC
Read-onlyIdempotent

Retrieve details of a standard change request template.

:param template_sys_id: Sys ID of the standard change request template. :type template_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the standard change request template. :rtype: Response

:raises MissingParameterError: If template_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_standard_change_request_templatesGet standard change request templatesC
Read-onlyIdempotent

Retrieve standard change request templates based on specified parameters.

:param order: Ordering parameter for sorting results. :type order: str or None :param name_value_pairs: Additional name-value pairs for filtering. :type name_value_pairs: str or None :param sysparm_query: Query parameter for filtering results. :type sysparm_query: str or None :param text_search: Text search parameter for searching results. :type text_search: str or None

:return: Response containing list of parsed Pydantic models with information about standard change request templates. :rtype: Response

:raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_get_statsGet statsD
Read-onlyIdempotent

Invoke the get_stats operation.

Inputs: table_name (required), query, stats, fields, +1 more.

servicenow_get_tableGet tableB
Read-onlyIdempotent

Get records from the specified table based on provided parameters.

:param table: The name of the table. :type table: str :param name_value_pairs: Dictionary of name-value pairs for filtering records. :type name_value_pairs: str :param sysparm_display_value: Display values for reference fields ('True', 'False', or 'all'). :type sysparm_display_value: str :param sysparm_exclude_reference_link: Exclude reference links in the response. :type sysparm_exclude_reference_link: bool :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_no_count: Do not include the total number of records in the response. :type sysparm_no_count: bool :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param sysparm_query_no_domain: Exclude records based on domain separation. :type sysparm_query_no_domain: bool :param sysparm_suppress_pagination_header: Suppress pagination headers in the response. :type sysparm_suppress_pagination_header: bool :param sysparm_view: Display style ('desktop', 'mobile', or 'both'). :type sysparm_view: str

:return: Response containing list of parsed Pydantic models with information about the retrieved records. :rtype: Response

:raises MissingParameterError: If table is not provided. :raises ParameterError: If input parameters are invalid.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_get_table_recordGet table recordC
Read-onlyIdempotent

Get a specific record from the specified table.

:param table: The name of the table. :type table: str :param table_record_sys_id: The sys_id of the record to be retrieved. :type table_record_sys_id: str

:return: Response containing parsed Pydantic model with information about the retrieved record. :rtype: Response

:raises MissingParameterError: If table or table_record_sys_id is not provided.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_import_repositoryImport repositoryC

Import a repository based on the provided parameters.

:param credential_sys_id: The sys_id of the credential to be used for the import. :type credential_sys_id: str :param mid_server_sys_id: The sys_id of the MID Server to be used for the import. :type mid_server_sys_id: str :param repo_url: The URL of the repository to be imported. :type repo_url: str :param branch_name: The name of the branch to be imported. :type branch_name: str :param auto_upgrade_base_app: Flag indicating whether to auto-upgrade the base app. :type auto_upgrade_base_app: bool

:return: Response containing parsed Pydantic model with information about the repository import. :rtype: Response

:raises MissingParameterError: If repo_url is not provided. :raises ParameterError: If auto_upgrade_base_app is not a boolean.

Inputs: data, name, notes, scope, +39 more.

servicenow_ingest_cmdb_dataIngest cmdb dataC

Inserts records into the Import Set table associated with the data source.

:param data_source_sys_id: Sys_id of the data source record. :type data_source_sys_id: str :param records: Array of objects to ingest. :type records: list

:return: Response containing ingestion result. :rtype: Response

Inputs: data, records, data_source_sys_id.

servicenow_ingest_incidentsServicenow Ingest IncidentsA

Natively ingest ServiceNow incidents into epistemic-graph as typed :Incident nodes.

Lists incidents via the ServiceNow API and pushes them (with their affected :ConfigurationItem and :Person assignee, via :affects / :assignedTo links) into the knowledge graph through the fast engine client. Best-effort: returns {"ingested": None} when no engine is reachable. CONCEPT:AU-KG.ingest.enterprise-source-extractor.

Inputs: params_json. Returns: object

servicenow_insert_cost_plansInsert cost plansD

Creates cost plans.

Inputs: plans (required), params_json.

servicenow_insert_import_setInsert import setC

Insert a new record into the specified import set.

:param table: The name of the table associated with the import set. :type table: str :param data: Dictionary containing the field values for the new import set record. :type data: dict

:return: Response containing parsed Pydantic model with information about the inserted import set record. :rtype: Response

:raises ParameterError: If data or table is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, table, import_set_sys_id.

servicenow_insert_multiple_import_setsInsert multiple import setsB

Insert multiple records into the specified import set.

:param table: The name of the table associated with the import set. :type table: str :param data: Dictionary containing the field values for multiple new import set records. :type data: dict

:return: Response containing list of parsed Pydantic models with information about the inserted import set records. :rtype: Response

:raises ParameterError: If data or table is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, table, import_set_sys_id.

servicenow_insert_project_tasksInsert project tasksC

Creates a project and associated project tasks.

Inputs: short_description (required), end_date, start_date, child_tasks, +2 more.

servicenow_instance_scan_progressInstance scan progressC
Read-onlyIdempotent

Get progress information for an instance scan based on the provided progress ID.

:param progress_id: The ID associated with the instance scan progress. :type progress_id: str

:return: Response containing parsed Pydantic model with instance scan progress. :rtype: Response

:raises MissingParameterError: If progress_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_metricbase_insertMetricbase insertD

Invoke the metricbase_insert operation.

Inputs: sys_id, values, end_time, start_time, +2 more.

servicenow_patch_cmdb_instancePatch cmdb instanceC

Replaces attributes in the specified CI record (PATCH).

:param className: CMDB class name. :type className: str :param sys_id: Sys_id of the CI. :type sys_id: str :param attributes: Data attributes to replace. :type attributes: dict :param source: Discovery source. :type source: str

:return: Response containing updated CI. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_patch_table_recordPatch table recordC

Partially update a record in the specified table.

:param table: The name of the table. :type table: str :param table_record_sys_id: The sys_id of the record to be updated. :type table_record_sys_id: str :param data: Dictionary containing the fields to be updated. :type data: dict

:return: Response containing parsed Pydantic model with information about the updated record. :rtype: Response

:raises MissingParameterError: If table, table_record_sys_id, or data is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_point_scanPoint scanC

Initiate a point instance scan based on the provided parameters.

:param target_sys_id: The sys_id of the target instance. :type target_sys_id: str :param target_table: The table of the target instance. :type target_table: str

:return: Response containing parsed Pydantic model with information about the point scan. :rtype: Response

:raises MissingParameterError: If target_sys_id or target_table is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_process_service_qualification_resultProcess service qualification resultD

Processes a technical service qualification result.

Inputs: params, params_json.

servicenow_progressProgressC
Read-onlyIdempotent

Get progress information based on the provided progress ID.

:param progress_id: The ID associated with the progress. :type progress_id: str

:return: Response containing parsed Pydantic model with progress information. :rtype: Response

:raises MissingParameterError: If progress_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_refresh_auth_tokenRefresh auth tokenA

Refresh the authentication token :return: Response with new refreshed token.

:raises MissingParameterError: If the client was authenticated without OAuth client credentials (e.g. basic auth or a bearer token), so there is no client_id/client_secret to refresh with.

Inputs: no named parameters.

servicenow_refresh_change_request_impacted_servicesRefresh change request impacted servicesC

Refresh impacted services for a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the refreshed impacted services. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_register_ci_lifecycle_operatorRegister ci lifecycle operatorC

Registers an operator for a non-workflow user.

Inputs: params, params_json.

servicenow_register_devops_artifactRegister devops artifactC

Enables orchestration tools to register artifacts into a ServiceNow instance.

Inputs: artifacts (required), toolId, stageName, branchName, +4 more.

servicenow_rollback_pluginRollback pluginC

Rollback a plugin based on the provided plugin_id.

:param plugin_id: The ID of the plugin to be rolled back. :type plugin_id: str

:return: Response containing parsed Pydantic model with information about the rollback. :rtype: Response

:raises MissingParameterError: If plugin_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_run_test_suiteRun test suiteC

Run a test suite based on the provided parameters.

:param test_suite_sys_id: The sys_id of the test suite to be run. :type test_suite_sys_id: str :param test_suite_name: The name of the test suite to be run. :type test_suite_name: str :param browser_name: The name of the browser for the test run. :type browser_name: str :param browser_version: The version of the browser for the test run. :type browser_version: str :param os_name: The name of the operating system for the test run. :type os_name: str :param os_version: The version of the operating system for the test run. :type os_version: str

:return: Response containing parsed Pydantic model with information about the test run. :rtype: Response

:raises MissingParameterError: If test_suite_sys_id or test_suite_name is not provided. :raises ParameterError: If browser_name is not a valid string.

Inputs: data, name, notes, scope, +39 more.

servicenow_sdk_authAuthC

Configure instance authentication (now-sdk auth).

A password is piped via stdin with --password-stdin and is never placed in argv or in the returned command echo.

Inputs: params, params_json.

servicenow_sdk_buildBuildB

Compile Fluent sources into an installable package (now-sdk build).

Inputs: params, params_json.

servicenow_sdk_dependenciesDependenciesB

Download configured dependencies + type defs (now-sdk dependencies).

Inputs: params, params_json.

servicenow_sdk_deployDeployC

Install/update the app on the target instance (now-sdk install, alias deploy).

Inputs: params, params_json.

servicenow_sdk_initInitB

Scaffold a new scoped app / Fluent project (now-sdk init, alias create).

Inputs: params, params_json.

servicenow_sdk_transformTransformC

Download + convert XML records into Fluent source (now-sdk transform).

Inputs: params, params_json.

servicenow_send_emailSend emailD

Invoke the send_email operation.

Inputs: to, html, text, sys_id, +1 more.

servicenow_set_ci_lifecycle_statusSet ci lifecycle statusC

Sets the operational state for a specified list of CIs.

Inputs: actionName (required), requestorId (required), sysIds, opsLabel, +3 more.

servicenow_suite_scanSuite scanC

Initiate a suite scan based on the provided suite_sys_id and sys_ids.

:param suite_sys_id: The sys_id of the suite to be scanned. :type suite_sys_id: str :param sys_ids: List of sys_ids representing app_scope_sys_ids for the suite scan. :type sys_ids: list :param scan_type: Type of scan to be performed (default is "scoped_apps"). :type scan_type: str

:return: Response containing parsed Pydantic model with information about the suite scan. :rtype: Response

:raises MissingParameterError: If suite_sys_id or sys_ids is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, name, notes, scope, +39 more.

servicenow_unregister_ci_lifecycle_operatorUnregister ci lifecycle operatorC
DestructiveIdempotent

Unregisters an operator for non-workflow users.

Inputs: params, params_json.

servicenow_update_change_requestUpdate change requestC

Update details of a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param name_value_pairs: New name-value pairs providing updated details for the change request. :type name_value_pairs: str or None :param change_type: Type of change (emergency, normal, standard, model). :type change_type: str or None

:return: Response containing parsed Pydantic model with information about the updated change request. :rtype: Response

:raises MissingParameterError: If change_request_sys_id or name_value_pairs is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If change_type is specified but not valid. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_update_change_request_first_availableUpdate change request first availableC

Update the schedule of a change request to the first available slot.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None

:return: Response containing parsed Pydantic model with information about the updated schedule. :rtype: Response

:raises MissingParameterError: If change_request_sys_id is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_update_change_request_taskUpdate change request taskC

Update details of a task associated with a change request.

:param change_request_sys_id: Sys ID of the change request. :type change_request_sys_id: str or None :param change_request_task_sys_id: Sys ID of the change request task. :type change_request_task_sys_id: str or None :param name_value_pairs: New name-value pairs providing updated details for the task. :type name_value_pairs: str or None

:return: Response containing parsed Pydantic model with information about the updated task. :rtype: Response

:raises MissingParameterError: If change_request_sys_id, change_request_task_sys_id, or name_value_pairs is not provided. :raises ParameterError: If invalid parameters or responses are encountered. :raises ParameterError: If JSON serialization or deserialization fails.

Inputs: data, state, change_type, task_sys_id, +18 more.

servicenow_update_cmdb_instanceUpdate cmdb instanceC
Idempotent

Updates the specified CI record (PUT).

:param className: CMDB class name. :type className: str :param sys_id: Sys_id of the CI. :type sys_id: str :param attributes: Data attributes to replace. :type attributes: dict :param source: Discovery source. :type source: str

:return: Response containing updated CI. :rtype: Response

Inputs: data, source, sys_id, className, +8 more.

servicenow_update_incidentUpdate incidentC

Update an existing incident record.

:param incident_id: The sys_id of the incident record to update. :type incident_id: str :param data: Dictionary of field values to update. :type data: dict

:return: Response containing parsed Pydantic model with information about the updated incident record. :rtype: Response

:raises MissingParameterError: If incident_id or data is not provided. :raises ParameterError: If validation of parameters fails.

Inputs: data, incident_id, sysparm_view, sysparm_limit, +11 more.

servicenow_update_problemUpdate problemC

Update an existing problem record.

:param problem_id: The sys_id of the problem record to update. :type problem_id: str :param data: Dictionary of field values to update. :type data: dict

:return: Response containing parsed Pydantic model with information about the updated problem record. :rtype: Response

:raises MissingParameterError: If problem_id or data is not provided. :raises ParameterError: If validation of parameters fails.

Inputs: data, problem_id, sysparm_view, sysparm_limit, +11 more.

servicenow_update_set_back_outUpdate set back outC

Backs out an installation operation that was performed on an update set with a given sys_id.

:param update_set_id: Sys_id of the update set. :type update_set_id: str :param rollback_installs: Flag that indicates whether to rollback the batch installation performed during the update set commit. :type rollback_installs: bool

:return: Response containing parsed Pydantic model with progress information about the back out. :rtype: Response

:raises MissingParameterError: If update_set_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_set_commitUpdate set commitC

Commits an update set with a given sys_id.

:param remote_update_set_id: Sys_id of the update set to commit. :type remote_update_set_id: str :param force_commit: Flag that indicates whether to force commit the update set. :type force_commit: str

:return: Response containing parsed Pydantic model with progress information about the commit. :rtype: Response

:raises MissingParameterError: If remote_update_set_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_set_commit_multipleUpdate set commit multipleB

Commits multiple update sets in a single request according to the order that they're provided.

:param remote_update_set_ids: List of sys_ids associated with any update sets to commit. Sys_ids are committed in the order given in the request. :type remote_update_set_ids: str :param force_commit: Flag that indicates whether to force commit the update set. :type force_commit: str

:return: Response containing parsed Pydantic model with progress information about the multiple commits. :rtype: Response

:raises MissingParameterError: If remote_update_set_ids is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_set_createUpdate set createB

Creates a new update set and inserts the new record in the Update Sets [sys_update_set] table.

:param update_set_name: Name to give the update set. :type update_set_name: str :param description: Description of the update set. :type description: str :param scope: The scope name of the application in which to create the new update set. :type scope: str :param sys_id: Sys_id of the application in which to create the new update set. :type sys_id: str

:return: Response containing parsed Pydantic model with information about the created update set. :rtype: Response

:raises MissingParameterError: If update_set_name is not provided or both sys_id and scope are not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_set_previewUpdate set previewC

Previews an update set to check for any conflicts and retrieve progress information about the update set operation.

:param remote_update_set_id: Sys_id of the update set to preview. :type remote_update_set_id: str

:return: Response containing parsed Pydantic model with progress information about the preview. :rtype: Response

:raises MissingParameterError: If remote_update_set_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_set_retrieveUpdate set retrieveC

Retrieves an update set with a given sys_id and allows you to remove the existing retrieved update set from the instance.

:param update_set_id: Sys_id of the update set on the source instance from where the update set was retrieved. :type update_set_id: str :param update_source_id: Sys_id of the remote instance record. :type update_source_id: str :param update_source_instance_id: Instance ID of the remote instance. :type update_source_instance_id: str :param auto_preview: Flag that indicates whether to automatically preview the update set after retrieval. :type auto_preview: bool :param cleanup_retrieved: Flag that indicates whether to remove the existing retrieved update set from the instance. :type cleanup_retrieved: bool

:return: Response containing parsed Pydantic model with progress information about the retrieval. :rtype: Response

:raises MissingParameterError: If update_set_id is not provided.

Inputs: data, name, notes, scope, +39 more.

servicenow_update_table_recordUpdate table recordC
Idempotent

Fully update a record in the specified table.

:param table: The name of the table. :type table: str :param table_record_sys_id: The sys_id of the record to be updated. :type table_record_sys_id: str :param data: Dictionary containing the fields to be updated. :type data: dict

:return: Response containing parsed Pydantic model with information about the updated record. :rtype: Response

:raises MissingParameterError: If table, table_record_sys_id, or data is not provided. :raises ParameterError: If JSON serialization fails.

Inputs: data, table, sysparm_view, sysparm_limit, +12 more.

servicenow_upload_attachmentUpload attachmentA

Upload a file as an attachment on a table record.

Accepts either a server-local file_path (back-compat) or inline base64-encoded data (via AttachmentModel) — the latter is written to a temp file server-side for the upload and cleaned up afterward, so JSON-only MCP tool callers can upload without a filesystem path.

:param file_path: Path to a file on disk to upload. Mutually exclusive with data; takes precedence if both are given. :type file_path: str or None

:raises MissingParameterError: If table_name, table_sys_id, or file_name is missing, or if neither file_path nor data is provided.

Inputs: file_path, params_json.

servicenow_workflow_to_mermaidWorkflow to mermaidA

Generates a Mermaid diagram representing the relationships between ServiceNow flows and subflows.

:param flow_identifiers: List of flow names or sys_ids to use as roots. If None, fetches all active flows. :param max_depth: Maximum recursion depth for subflow discovery. :param save_to_file: Whether to save the result to a markdown file. :param output_dir: Directory to save the report. Defaults to project/servicenow_flow_reports. :param mermaid_name: Base name for the generated file (used if destination_file is not provided). :param segment_by_root: If True, generates a separate diagram for each root flow. :param destination_file: Explicit full path to save the markdown report.

Inputs: max_depth, output_dir, mermaid_name, save_to_file, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 133 tools

    Disambiguation3/5

    Most tools target distinct ServiceNow resources/actions, but there is substantial overlap between the generic table CRUD tools and the entity-specific incident, problem, change-request, and CMDB tools. Vague names such as get_stats, get_account, api_request, batch_request, and collect_graph_for_roots add further selection ambiguity.

    Naming Consistency4/5

    Names overwhelmingly follow servicenow_verb_noun in snake_case, making most tools predictable. However, verbs are mixed across add/create/insert/update/patch, and a few tools use non-verb labels or operation-style names such as workflow_to_mermaid, api_request, and metricbase_insert.

    Tool Count1/5

    At 133 tools, the set is far beyond a well-scoped MCP server surface and creates an extremely high selection burden. Many niche operations could be grouped or handled through a smaller generic interface.

    Completeness4/5

    The surface covers core ITSM records (incidents, problems, change requests), CMDB, knowledge articles, import sets, update sets, DevOps, scans, attachments, SDK operations, and generic table CRUD. Some ServiceNow domains such as service catalog requests and user/group management are not explicitly covered, though generic table tools provide a partial workaround.

    Maintenance

    ActivityActive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers