Skip to main content
Glama
jshsakura

mfa-servicenow-mcp

by jshsakura

manage_widget_dependency

Manage Angular provider and CSS/JS dependency records for ServiceNow widgets: list, get, create, update, delete, link, or unlink. Run list first to obtain sys_ids.

Instructions

CRUD + link/unlink for widget Angular providers & CSS/JS dependencies. Use action=list first for sys_ids.

Input Schema

NameRequiredDescriptionDefault
depthNoChain depth 1-3 (source/page read)
scopeNoApp scope filter (list)
actionYeslist|get|create|update|delete|link|unlink
targetNoprovider|dependency|page (page=read only)provider
page_idNoPage sys_id or path (target=page)
developerNosys_updated_by filter (list)
record_idNoProvider/dependency sys_id
widget_idNoSingle widget for get/link/unlink
widget_idsNoWidget sys_id/id/name filter
max_widgetsNo
save_to_diskNoSave page sources to ./temp (page)
include_sourceNo
include_si_refsNo

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.21
  3. Removedv1.21.13
  4. First observedv1.18.41

TDQS

B3.1/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 burden. It never states that delete/unlink are destructive, whether operations require elevated auth, what side effects link/unlink have on a widget, or what happens to chained dependencies. For a 13-parameter mutation-capable tool this is a major gap; only the 'list first' hint adds behavioral value.

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 dense sentences, front-loaded with the operation scope and followed by the actionable 'list first' hint. Nothing is wasted, though the compression may be too aggressive for the underlying complexity.

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?

This is a complex multi-action tool (7 actions, 13 parameters, multiple targets) with no annotations and no output schema. The description does not explain what each action returns or how target interacts with record_id/widget_id, leaving the agent to infer most behavior from the schema alone.

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 77%, so the schema already documents most parameters (action enum-like list, target, depth, scope, save_to_disk, etc.). The description adds only the 'sys_ids come from list' workflow note and no format or interaction detail, 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 names a specific scope (CRUD + link/unlink) and concrete resources (widget Angular providers & CSS/JS dependencies), which is distinguishable from retrieval-oriented siblings such as get_widget_bundle or get_page. It is clear what the tool operates on, though it never states the domain (ServiceNow/portal widgets) explicitly.

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?

The phrase 'Use action=list first for sys_ids' gives a useful prerequisite workflow step for the create/update/delete/link paths. Beyond that there is no guidance on when to prefer this tool over siblings like manage_script_include or extract_table_dependencies, nor any exclusion conditions.

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