Skip to main content
Glama
servicenow-mcp-ai

servicenow-mcp-ai

by IvanBBaev

Create ServiceNow record

servicenow_create_record

Create a new record in a specified ServiceNow table by supplying field values, with an optional non-mutating plan preview before applying the write.

Instructions

Create a new record in a table with the given field values.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "table": "<table>",
      "values": "<values>"
    },
    "name": "servicenow_create_record"
  }
}

Input Schema

NameRequiredDescriptionDefault
applyNotrue executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default).
tableYesTable, e.g. 'incident'.
valuesYesField name/value pairs, e.g. { "short_description": "x" }.
instanceNoProfile (default active)
update_setNoIn-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured.
inputDisplayValueNoValues are display values the instance resolves (sysparm_input_display_value); default false: raw.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.1.1
    • changedInput schema / properties / update_set / description
      Previous value: -"Update set (sys_id or exact name, in progress) to record the write in; switched for it, then restored. Default SN_UPDATE_SET, else unchanged. Data-row tables are not captured."New value: +"In-progress update set (sys_id or exact name) to capture the write in, restored after. Default SN_UPDATE_SET; data rows are never captured."
  2. Changed11 schema fields changedv3.0.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • changedInput schema / properties / apply / description
      Previous value: -"Execute the change. In the default plan mode, omitting this returns a non-mutating before/after preview; set true to apply. SN_WRITE_MODE=apply makes execution the default."New value: +"true executes; omitted: a non-mutating plan preview (SN_WRITE_MODE=apply executes by default)."
    • removedInput schema / properties / fields
      Removed value: -{
      -  "additionalProperties": {
      -    "type": [
      -      "string",
      -      "number",
      -      "boolean",
      -      "null"
      -    ]
      -  },
      -  "description": "Field name/value pairs for the new record, e.g. { \"short_description\": \"Printer down\", \"urgency\": \"2\" }.",
      -  "type": "object"
      -}
    • addedInput schema / properties / inputDisplayValue
      Added value: +{
      +  "description": "Values are display values the instance resolves (sysparm_input_display_value); default false: raw.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / instance / description
      Previous value: -"Connection profile to use for this call (default: the active profile). See servicenow_list_instances."New value: +"Profile (default active)"
    • addedInput schema / properties / instance / maxLength
      Added value: +128
    • changedInput schema / properties / table / description
      Previous value: -"Table name, e.g. 'incident'."New value: +"Table, e.g. 'incident'."
    • addedInput schema / properties / table / pattern
      Added value: +"^[A-Za-z0-9_]{1,80}$"
    • addedInput schema / properties / update_set
      Added value: +{
      +  "description": "Update set (sys_id or exact name, in progress) to record the write in; switched for it, then restored. Default SN_UPDATE_SET, else unchanged. Data-row tables are not captured.",
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / values
      Added value: +{
      +  "additionalProperties": {
      +    "type": [
      +      "string",
      +      "number",
      +      "boolean",
      +      "null"
      +    ]
      +  },
      +  "description": "Field name/value pairs, e.g. { \"short_description\": \"x\" }.",
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "table",
      -  "fields"
      -]New value: +[
      +  "table",
      +  "values"
      +]
  3. First observedv2.0.1

TDQS

C2.8/5.0
Behavior2/5

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

Only destructiveHint=false is annotated, with no readOnlyHint, so the description carries most of the behavioral burden and discharges none of it. It does not mention the critical apply semantics (omitted = non-mutating plan preview), update-set capture, or that writes land on the active instance profile — all of which live only inside schema property text.

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?

It is a single efficient sentence with no waste, but that brevity comes at the cost of under-specification rather than disciplined front-loading. Nothing is emphasized as the key constraint (e.g. the dry-run default).

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 mutation tool with a nested values object, six parameters, and no output schema, the description omits the single most important behavior — that omitting 'apply' yields a plan preview rather than a write. An agent reading only the description could misjudge whether the call mutates.

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 all six parameters including the nested values object are documented in the schema itself. The description adds no format, validation, or field-name semantics beyond 'the given field values', so baseline 3 applies.

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 states a specific verb and resource ('Create a new record in a table') and names the field-value input, so the operation is unambiguous. It does not, however, distinguish this tool from nearby siblings like servicenow_upsert_record or servicenow_update_record, which an agent must choose between.

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 update_record, upsert_record, or query_table, and no prerequisite guidance (credentials, instance selection). The agent has to infer selection from the name alone.

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