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

now-sdk-ext-mcp

Remove Table Column

remove_table_column
Destructive

Delete a ServiceNow table column and verify its DELETE capture in the given update set. Requires confirmation; blocks columns with data or dependent scripts/policies unless acknowledged.

Instructions

Remove a column from a table (the platform's Delete on its dictionary record), with every DELETE capture verified in the named update set. It deletes the column's data here and wherever the set is committed: only when the user asked. Refused while rows hold values, or while client scripts or UI policy actions name it, unless those are acknowledged.

Input Schema

NameRequiredDescriptionDefault
scopeNoThe record's application: its scope name (e.g. "x_acme_app"), or "global". Give this or scope_id.
tableYesThe table.
columnYesThe column name, prefix included (u_ in Global).
confirmYesType <table>.<column> exactly, to confirm the removal.
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.
scope_idNoThe record's application by sys_scope sys_id, instead of scope.
update_setYessys_id of an In progress update set of that application (create_update_set). The capture is verified there; for adding a column and for layout saves it must also be the working set (set_current_update_set).
acknowledge_data_lossNoRows hold values in the column and the user agreed they are deleted with it.
acknowledge_upgrade_skipNoOnly for an installed Store application, and only after the user has reviewed the change: upgrades of that application then skip this file until the customization is reviewed.
acknowledge_dependent_deletesNoThe user agreed the platform also deletes the client scripts and UI policy actions that name the column.

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?

Annotations already flag destructive=true, but the description goes further by disclosing propagation (the delete ships wherever the update set is committed), the hard refusal gates, and the acknowledgement paths required to bypass them — information no structured field carries.

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?

Three sentences, front-loaded with the action and the update-set consequence before the refusal gates. Dense but nearly every clause carries distinct information; the parenthetical about the dictionary record is the only slightly costly aside.

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?

For a 10-parameter destructive tool with no output schema, it covers the risky parts well: why it can be refused, what acknowledgement unlocks which refusal, and where the deletion propagates. It says nothing about what a successful call returns or how to verify the removal.

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 one of the 10 parameters is already documented, including confirm, update_set and the three acknowledge_* flags. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ("Remove a column from a table") and pins down the platform mechanic ("the platform's Delete on its dictionary record"), which separates it from add_table_column and generic metadata tools in the sibling list.

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?

Gives explicit preconditions and refusal conditions: blocked while rows hold values or while client scripts/UI policy actions reference the column, unless acknowledged. It also states the update-set requirement. It stops short of naming an explicit alternative (e.g. add_table_column, delete_metadata_record) for adjacent cases.

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