Skip to main content
Glama
sonisoft-cnanda

now-sdk-ext-mcp

Discover Table Behavior

discover_table_behavior
Read-only

Identify business rules, UI actions, client scripts, policies, workflows, and flows affecting a ServiceNow table. Returns conditions, timing, and provenance for active behavior.

Instructions

Discover configuration affecting a table: business rules, UI actions, client scripts, UI policies and field actions, server data policies, workflows, flow triggers and generic state models. Defaults to active behavior and applicable ancestors. Returns conditions, timing, provenance and completeness; configuration is not a prediction that anything will execute. Select categories and request scripts/definitions/dependencies immediately when already needed. Flow runtime triggers and design-time definitions are labeled separately. Follow per-category cursors with the same filters; use get_behavior_details for known references or a targeted batch. Empty results describe this account's visibility only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoMetadata name contains this text.
limitNoItems per category; default 50.
scopeNoTransaction scope for flow design-definition reads.
tableYesTarget table, e.g. incident or change_request.
cursorsNoPer-category continuation tokens; retain original filters.
detailsNoInclude requested details in this call. Default: compact configuration without script bodies or full definitions.
sys_idsNoFilter by metadata source sys_ids. For known flow IDs prefer get_behavior_details.
instanceNoInstance auth alias; defaults to SN_AUTH_ALIAS.
max_bytesNoJSON response budget, default 65536 bytes. Oversized detail is omitted whole with a retrieval reference.
categoriesNoCategories to inspect; default all eight.
dependency_depthNoExpand one dependency level; requires details containing dependencies. Default 0.
include_inactiveNoInclude inactive/draft candidates where discoverable; default false.
include_inheritedNoInclude applicable ancestor behavior; default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.8.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description must carry behavior, and it does: it discloses the active/ancestor defaults, that flow runtime triggers and design-time definitions are labeled separately, that cursors must retain original filters, and that configuration 'is not a prediction that anything will execute'. It also warns that empty results reflect account visibility only. It stops short of describing response shape or pagination limits beyond what the schema's max_bytes/cursors already imply.

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?

The description is front-loaded with what is discovered before any caveats, and each short sentence carries a distinct operational point (defaults, return content, cursor protocol, alternative tool, visibility caveat). It is dense and slightly staccato, but nothing is padding.

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 13-parameter, no-output-schema, read-only discovery tool, the description supplies the return content it cannot get from a schema ('conditions, timing, provenance and completeness'), the default scope of results, and the retrieval protocol for oversized or continued reads. Only edge behavior such as what happens when a category is empty or how the response budget interacts with per-category limits is left implicit.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds semantics the schema fields alone do not convey: 'Defaults to active behavior and applicable ancestors' explains the interaction of include_inactive/include_inherited, and 'Follow per-category cursors with the same filters' explains the stateful contract of the cursors object. It does not elaborate on scope, sys_ids, or instance beyond the schema text.

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?

The description states a specific verb and resource ('Discover configuration affecting a table') and then enumerates the exact configuration domains it covers: business rules, UI actions, client scripts, UI policies, data policies, workflows, flow triggers, state models. It differentiates itself from siblings by naming get_behavior_details as the tool for known references and by framing itself as a table-scoped discovery tool, so an agent can separate it from discover_table_schema or get_behavior_details without reading schemas.

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?

It gives real routing guidance: 'use get_behavior_details for known references or a targeted batch', instructs to 'follow per-category cursors with the same filters', and tells the caller to request scripts/definitions/dependencies up front 'when already needed' rather than in a second round trip. What is missing is an explicit negative case (when not to call at all, e.g. for a single already-known rule), so this is clear context rather than exhaustive when/when-not coverage.

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