Skip to main content
Glama
now-sdk-ext-mcp

now-sdk-ext-mcp

Export Update Set to XML

export_update_set
Destructive

Export a ServiceNow update set to a local XML file for backup, transfer, or inspection, including complete, batch-base, or retrieved sets while validating records before writing.

Instructions

Export an update set to an XML file on this machine, as the platform's Export to XML does: a Complete local set, a batch base with its Complete children, or a Retrieved (Loaded) update set. The file is checked against the set's records before it is written, and a local export's temporary copy on the instance is removed and read back. The XML holds every record's full payload: it is written to the file only (mode 0600), never returned. Only export from a customer instance with the user's say-so.

Input Schema

NameRequiredDescriptionDefault
outputYesAbsolute path of the .xml file to write, e.g. /work/exports/my_set.xml (inside NEX_EXPORT_DIR when the server sets one).
sys_idYessys_id of a sys_update_set, or of a Retrieved Update Set (sys_remote_update_set).
replaceNoReplace the output file if it exists. Only when the user asked to, and only inside NEX_EXPORT_DIR.
instanceNoThe ServiceNow instance auth alias to connect to. This is the alias configured via `snc configure` (e.g., "myinstance", "prod", "test"). The user will typically refer to this by name when saying things like "on my myinstance instance". If not provided, falls back to the SN_AUTH_ALIAS environment variable.
include_incompleteNoExport a set that is not Complete, as a snapshot of unfinished work. Only when the user asked for one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv5.5.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructive=true, openWorld=true, non-idempotent), the description discloses that the file is verified against the set's records before writing, that a local export's temporary copy on the instance is removed and read back, that the payload is written only to disk with mode 0600 and never returned, and that a customer instance plus user consent is required. That is exactly the kind of side-effect and output-destination detail the annotations cannot convey for a destructive, open-world operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the action and scoped immediately after with the supported set types and the file-only output rule. A few clauses are dense ('removed and read back', 'checked against the set's records before it is written') but each carries real behavioral information rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description correctly explains that the result lands in a file on disk rather than in the response, and adds the consent and instance-scope preconditions a destructive export needs. What is missing is minor: path-collision or size expectations for the produced XML are unstated, but an agent has everything required to invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented, and the description adds only marginal extra meaning -- tying the sys_id to the three export variants and reinforcing that overwrite only happens inside NEX_EXPORT_DIR. Baseline 3 is appropriate when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause gives a specific verb and resource ('Export an update set to an XML file on this machine') and then enumerates the three supported set shapes (Complete local, batch base with Complete children, Retrieved/Loaded), which lets an agent distinguish this from siblings like export_record_xml or export_workflow without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states clear conditions of use -- 'Only export from a customer instance with the user's say-so' and the user-request gates echoed for replace/include_incomplete. It does not, however, explicitly route the agent between this tool and nearby siblings such as inspect_update_set, list_update_sets, or export_record_xml, so the alternative-selection guidance is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools