Skip to main content
Glama

Update incident

servicenow_update_incident

Update an existing ServiceNow incident record by specifying its sys_id and field values to change. Returns the updated incident details.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
incident_idNo
sysparm_viewNo
sysparm_limitNo
sysparm_queryNo
api_parametersNo
sysparm_fieldsNo
sysparm_offsetNo
name_value_pairsNo
sysparm_no_countNo
sysparm_display_valueNo
sysparm_query_categoryNo
sysparm_query_no_domainNo
sysparm_exclude_reference_linkNo
sysparm_suppress_pagination_headerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.4.0

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description does not need to restate that. It does add genuine value with the error contract (MissingParameterError when incident_id/data are absent, ParameterError on validation failure) and the return type, but is silent on what a partial update does to unspecified fields — even though idempotentHint=false makes that a real question.

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

Conciseness3/5

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

The content is short, but the structure is a raw Sphinx docstring dump with :param/:type/:rtype boilerplate that duplicates the schema and is not front-loaded for an agent reader. The :raises and :return lines earn their place; the markup scaffolding does not.

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

Completeness2/5

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

For a 15-parameter mutation tool with 0% schema coverage and no output schema, the definition is thin — it leaves twelve-plus parameters unexplained and gives no guidance on how `data` field names map to ServiceNow incident columns. An agent can call it, but will likely do so with parameters it does not understand.

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

Parameters2/5

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

Schema description coverage is 0% across 15 parameters, so the description must compensate and largely fails: it documents only incident_id and data, leaving all thirteen sysparm_* parameters (view, query, fields, limit, offset, display_value, exclude_reference_link, etc.) entirely undefined anywhere. It also describes incident_id as a "str" sys_id while the schema allows integer or string, creating mild inconsistency.

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

Purpose4/5

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

The description opens with a specific verb+resource ("Update an existing incident record"), which cleanly separates it from servicenow_create_incident, servicenow_get_incident and servicenow_delete_incident. It does not, however, distinguish it from generic siblings like servicenow_update_table_record or servicenow_patch_table_record, so an agent still has to guess why the incident-specific variant exists.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the generic table-update tools, nor any preconditions (e.g. the record must already exist, which field set is editable). The only conditional language is the Sphinx :raises block, which describes failures rather than usage guidance.

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