Skip to main content
Glama
jshsakura

mfa-servicenow-mcp

by jshsakura

manage_scripted_rest

Create, read, update, or delete Scripted REST services and resources in ServiceNow. List or retrieve definitions and operations to find sys_ids.

Instructions

CRUD Scripted REST services + resources (sys_ws_definition/sys_ws_operation). Use list/get to find sys_ids.

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo
actionYes
offsetNo
serviceNoService sys_id:<id> or name
count_onlyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.24.83
    • removedInput schema / properties / confirm
      Removed value: -{
      -  "enum": [
      -    "approve"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "action",
      -  "confirm"
      -]New value: +[
      +  "action"
      +]
  2. Addedv1.21.20

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden, and it largely fails. Saying 'CRUD' implies mutating operations while the schema restricts action to list/get, and the description never states that this is a read-only surface, what permissions the scripted REST records require, or whether results are paginated (limit/offset exist but go unexplained).

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?

Two short sentences, front-loaded with the resource and table names, with no filler. Sizing is appropriate; the weakness is omission rather than verbosity.

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?

Six parameters, no output schema, no annotations, and 17% schema coverage leave real gaps: valid query syntax, pagination behavior, count_only semantics, and the fact that only reads are supported are all unstated. For a tool with this much undocumented surface, the description is not complete enough.

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 only 17%, so the description must compensate, and it does not. Only the 'service' parameter is even hinted at (via the sys_id mention); limit, query, offset, and count_only receive no explanation of format or semantics anywhere.

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

Purpose3/5

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

Names a verb family (CRUD) and a specific resource (Scripted REST services + resources), and even gives the underlying tables sys_ws_definition/sys_ws_operation, so the domain is identifiable. However 'CRUD' overstates the surfaced capability: the action enum only permits list and get, so an agent reading the description alone would expect create/update/delete paths that do not exist. Reasonably clear but partially misleading.

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

Usage Guidelines3/5

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

'Use list/get to find sys_ids' is the only usage hint, and it does communicate a two-step workflow (enumerate then retrieve the id). It does not say when this tool should be chosen over siblings such as sn_query or manage_script_include, nor when it should not be used.

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