Skip to main content
Glama
         />_________________________________
[########[]_________________________________>
         \>

⛩️ servicenow-mcp ⛩️

⚔️ 武士道 (BUSHIDO) エディション ⚔️

AI-Powered Tools npm TypeScript License: MIT Node.js MCP

AI から ServiceNow を自然言語で操作する MCP サーバー

ローカル PC で動作 · 496 ツール · 5 分セットアップ · MIT ライセンス

Claude・Cursor・VS Code などの AI ツールから、ServiceNow のインシデント・変更・CMDB・スクリプトなどをすべて自然言語で操作できます。

v1.11.1 ハイライト

  • Update Set 内のスクリプト系 Customer Update から、固定バージョンの npm コンポーネントを検出し、OSV の advisory と照合する読み取り専用 SCA ツール scan_update_set_sca を追加

  • SCA は本文・payload・一致箇所を返さず、メタデータ・ハッシュ・PURL・証跡のみを返却。未解決参照や照会失敗を「脆弱性なし」と誤認しない JSON 契約を提供

  • 依存関係を更新して既知の到達可能な脆弱性を解消。最新の検証では 496 ツール、59 テストファイル、1,553 テストを確認


Related MCP server: servicenow-mcp-server

このツールが何をするか(初心者向け)

flowchart TD
    subgraph PC["💻 あなたの PC"]
        direction TB
        AI["🤖 AI クライアント<br/>(Claude Desktop / Cursor / VS Code)"]
        MCP["⚙️ servicenow-mcp サーバー<br/>(ここがこのツール)"]
        AI <-->|"MCP プロトコル (stdio)"| MCP
    end
    
    SN["☁️ ServiceNow インスタンス<br/>(開発 PDI または 社内環境)"]
    
    MCP <-->|"HTTPS / REST API<br/>(インターネット経由)"| SN

    style PC fill:#f0f7ff,stroke:#00509E,stroke-width:2px,color:#333,stroke-dasharray: 5 5
    style AI fill:#ffffff,stroke:#333,stroke-width:2px,color:#000
    style MCP fill:#e6ffe6,stroke:#008000,stroke-width:2px,color:#000
    style SN fill:#fff0f0,stroke:#cc0000,stroke-width:2px,color:#000

ポイント:

  • サーバーは あなたの PC 上で動く Node.js プロセスです。通常のツールは ServiceNow とだけ通信します。SCA の OSV 脆弱性照会など、外部連携を行うツールは個別に明示します

  • AI クライアントと stdio(標準入出力)で通信するため、ポート開放やネットワーク設定は不要

  • ServiceNow へは HTTPS で接続します。既存のブラウザアクセスと同じ経路です


推奨環境

まずは開発インスタンス (PDI) でお試しください。
本番環境への接続は技術的には可能ですが、AI の誤操作・意図しないレコード更新を防ぐため、
はじめは読み取り専用モード (WRITE_ENABLED=false) で動作を確認してから本番適用してください。

環境

推奨度

注意

PDI (無料開発インスタンス)

★★★ 推奨

無料。操作の影響なし。初めて使う方はここから

社内開発・検証インスタンス

★★☆ 可

チームと共有している場合は読み取り専用で開始

本番インスタンス

★☆☆ 要注意

WRITE_ENABLED=false + 専用サービスアカウント必須

無料 PDI → developer.servicenow.com


動作の仕組み

sequenceDiagram
    participant U as あなた
    participant AI as AI クライアント<br/>(Claude / Cursor)
    participant MCP as servicenow-mcp<br/>(ローカル PC)
    participant SN as ServiceNow<br/>(クラウド)

    U->>AI: 「P1 インシデントを一覧表示して」
    AI->>MCP: list_incidents(priority=1) を呼び出す
    MCP->>MCP: 権限チェック (読み取りは常に許可)
    MCP->>SN: GET /api/now/table/incident?sysparm_query=priority=1
    SN-->>MCP: JSON でインシデント一覧を返す
    MCP-->>AI: ツール結果を返す
    AI-->>U: 「現在 3 件の P1 インシデントがあります...」

はじめての方向け — 5 分セットアップ

flowchart TD
    A([はじめる]) --> B{ServiceNow\nインスタンスはある?}
    B -->|ない| C[developer.servicenow.com\nで無料 PDI を取得\n約 10 分]
    B -->|ある| D
    C --> D{Node.js 20.19+\nインストール済み?}
    D -->|ない| E[nodejs.org から\nLTS 版をインストール]
    E --> F
    D -->|あり| F[ターミナルでコマンド実行]

    F --> G["npm install -g @tedorigawa001/servicenow-mcp"]
    G --> H["servicenow-mcp setup"]
    H --> I{セットアップ\nウィザード}
    I --> J[インスタンス URL を入力\n例: https://dev12345.service-now.com]
    J --> K[OAuth グラントタイプを選択\nclient_credentials または password]
    K --> L[OAuth 認証情報を入力]
    L --> M[接続テスト]
    M -->|失敗| N[URL・認証情報を確認]
    N --> L
    M -->|成功| O[AI クライアントを自動検出]
    O --> P[設定ファイルを自動書き込み]
    P --> Q([完了!\nAI から ServiceNow に繋がります])

ステップ 1 — インストール

方法 A: npm からインストール(推奨・最速)

# Node.js のバージョン確認 (20.19 以上が必要)
node --version

# グローバルインストール
npm install -g @tedorigawa001/servicenow-mcp

# セットアップウィザードを起動
servicenow-mcp setup

方法 B: ソースからビルド(開発・カスタマイズしたい方向け)

# リポジトリをクローン
git clone https://github.com/tedorigawa001/ServiceNow-MCP.git
cd ServiceNow-MCP

# 依存パッケージのインストール & コンパイル
npm install
npm run build

# セットアップウィザードを起動
npm run setup

どちらの方法でも、ウィザードが Claude Desktop・Cursor・VS Code などを自動検出し、設定ファイルを自動で書き込みます(VS Code は npx ... server 起動 + シークレットは inputs 化、それ以外は dist/server.js の絶対パス)。

ステップ 2 — AI クライアントを再起動

設定ファイルを書き込んだあと、Claude Desktop や Cursor を 一度完全に終了して再起動 してください。

ステップ 3 — 動作確認

AI に話しかけてみましょう:

「ServiceNow に接続して、直近のインシデントを 5 件表示してください」

Docker での起動

Docker 構成図

ソースビルド vs Docker — どちらを選ぶか

比較項目

ソースビルド(node dist/server.js

Docker(docker run

起動速度

✅ 即時

⚠️ コンテナ起動分のオーバーヘッドあり

設定のシンプルさ

⚠️ 絶対パスが必要

docker コマンドのみ

環境依存

Node.js 20.19+ が必要

Docker が必要

環境の統一

⚠️ ホスト環境に依存

✅ どの PC でも同一環境

チーム配布・CI/CD

⚠️ 各自でビルドが必要

✅ イメージを共有するだけ

推奨シーン

個人利用・開発

チーム配布・本番運用

イメージのビルドと起動

# イメージをビルド
docker build -t servicenow-mcp .

# 起動
docker run --rm -i \
  -e SERVICENOW_INSTANCE_URL=https://yourinstance.service-now.com \
  -e SERVICENOW_OAUTH_CLIENT_ID=your_client_id \
  -e SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret \
  servicenow-mcp

Password Grant を使う場合は、さらに以下を追加します:

  -e SERVICENOW_OAUTH_USERNAME=service_account_user \
  -e SERVICENOW_OAUTH_PASSWORD=service_account_password \

AI クライアントから接続する(Claude Desktop)

claude_desktop_config.jsoncommand / args を以下のように変更します。 Client Credentials を使う場合は SERVICENOW_OAUTH_USERNAMESERVICENOW_OAUTH_PASSWORD の 2 行を省略してください。

{
  "mcpServers": {
    "servicenow": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "SERVICENOW_INSTANCE_URL=https://yourinstance.service-now.com",
        "-e", "SERVICENOW_OAUTH_CLIENT_ID=your_client_id",
        "-e", "SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret",
        "-e", "SERVICENOW_OAUTH_USERNAME=service_account_user",
        "-e", "SERVICENOW_OAUTH_PASSWORD=service_account_password",
        "servicenow-mcp"
      ]
    }
  }
}

注意: -i フラグは必須です。MCP は stdio(標準入出力)で通信するため、インタラクティブモードが必要です。

HTTP モードで起動する場合: コンテナ内の既定バインドは 127.0.0.1 のため公開ポートからは到達できません。 -e MCP_TRANSPORT=http -e MCP_HTTP_HOST=0.0.0.0 -p 3000:3000 を付与してください。 イメージは非 root(node ユーザー)で動作し、EXPOSE 3000 済みです。


認証方式(OAuth 2.0 のみ)

このサーバーは OAuth 2.0 のみ をサポートします。Basic Auth はセキュリティリスク(資格情報が平文で設定ファイルに残る)があるため廃止しました。

OAuth 2.0 には 2 種類のグラントタイプがあり、用途に応じて自動選択されます。

flowchart TD
    START([OAuth 設定]) --> Q1{ユーザー名/パスワードを\n設定する?}
    Q1 -->|しない| CC["Client Credentials Grant\ngrant_type=client_credentials\n\nclient_id + client_secret のみ\n推奨: サービス間連携・自動化"]
    Q1 -->|する| PW["Password Grant\ngrant_type=password\n\nclient_id + client_secret\n+ username + password\n既存ユーザー権限を引き継ぎたい場合"]
    CC --> CC_NOTE["ServiceNow が Application Registry 上の\nスコープで API を実行する"]
    PW --> PW_NOTE["指定ユーザーの権限でAPIを実行する\n(ACL・ロールがそのまま適用)"]

Client Credentials(推奨)

client_idclient_secret だけで動作します。ユーザー資格情報が不要なため、サービス間連携に最適です。

SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com
SERVICENOW_OAUTH_CLIENT_ID=your_client_id
SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret

Password Grant(ユーザー権限を引き継ぐ場合)

特定ユーザーの ACL・ロールで API を実行したい場合に使います。

SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com
SERVICENOW_OAUTH_CLIENT_ID=your_client_id
SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret
SERVICENOW_OAUTH_USERNAME=svc_mcp
SERVICENOW_OAUTH_PASSWORD=your_password

OAuth セットアップ手順

OAuth は ServiceNow の管理者権限が必要です。PDI では自分で設定できます。

ServiceNow 側の設定

Step 1 — OAuth アプリケーションレジストリを作成

  1. ServiceNow にログイン

  2. 左メニューで「Application Registry」を検索

  3. 「New」→ 「New Inbound Integration Experience」 を選択

⚠️ 「[Deprecated UI] Create an OAuth API endpoint for external clients」は旧 UI です。
現行バージョンでは New Inbound Integration Experience を使用してください。

グラントタイプによって設定が異なります。

Client Credentials Grant(推奨)

重要: Client Credentials Grant では ServiceNow 側でユーザーを指定する必要があります。
これは標準 OAuth の仕様とは異なる ServiceNow 固有の要件です。
アクセストークンは「どのユーザーとして API を実行するか」を ServiceNow が決定するために使用します。

Name:              servicenow-mcp
Token Format:      JWT                ← 必須
Client ID:         (自動生成)
Client Secret:     (自動生成 → コピーして保存)
Redirect URL:      http://localhost
Access Token Lifespan: 1800 (秒)
Default Grant user: svc_mcp          ← 必須: API を実行するサービスアカウントを指定

Default Grant user に指定したユーザーの ロール・ACL が API 実行時に適用されます。
このユーザーには必要最小限の ServiceNow ロール(例: itil, admin 等)を付与してください。

Password Grant

Name:              servicenow-mcp
Token Format:      JWT                ← 必須
Client ID:         (自動生成)
Client Secret:     (自動生成 → コピーして保存)
Redirect URL:      http://localhost
Access Token Lifespan: 1800 (秒)
Default Grant user: (不要 — username/password で指定したユーザーが使われます)

「Submit」で保存。

Step 2 — 生成された Client ID / Secret を確認

作成したレジストリを開き、Client IDClient Secret をメモします。

flowchart LR
    A[Application Registry を開く] --> B[Client ID をコピー]
    A --> C[Client Secret をコピー\nShow をクリック]
    B & C --> D[環境変数に設定]

MCP サーバー側の設定

Client Credentials Grant

SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com
SERVICENOW_OAUTH_CLIENT_ID=your_client_id
SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret
# SERVICENOW_OAUTH_USERNAME / PASSWORD は不要

Password Grant

SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com
SERVICENOW_OAUTH_CLIENT_ID=your_client_id
SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret
SERVICENOW_OAUTH_USERNAME=svc_mcp
SERVICENOW_OAUTH_PASSWORD=your_password

接続確認:

node dist/cli/index.js auth test

AI クライアント別セットアップ

Claude Desktop

設定ファイル: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "servicenow": {
      "command": "node",
      "args": ["/path/to/servicenow-mcp/dist/server.js"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://dev12345.service-now.com",
        "SERVICENOW_OAUTH_CLIENT_ID": "your_client_id",
        "SERVICENOW_OAUTH_CLIENT_SECRET": "your_client_secret",
        "WRITE_ENABLED": "false"
      }
    }
  }
}

WRITE_ENABLED: "false" にしておくと読み取り専用になります。動作確認が終わったら "true" に変更できます。
ユーザー権限を引き継ぐ場合は SERVICENOW_OAUTH_USERNAMESERVICENOW_OAUTH_PASSWORD も追加してください。

Claude Code CLI

claude mcp add servicenow node /path/to/servicenow-mcp/dist/server.js \
  --env SERVICENOW_INSTANCE_URL=https://dev12345.service-now.com \
  --env SERVICENOW_OAUTH_CLIENT_ID=your_client_id \
  --env SERVICENOW_OAUTH_CLIENT_SECRET=your_client_secret \
  --env WRITE_ENABLED=false

Cursor

設定ファイル: .cursor/mcp.json

{
  "mcpServers": {
    "servicenow": {
      "command": "node",
      "args": ["/path/to/servicenow-mcp/dist/server.js"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://dev12345.service-now.com",
        "SERVICENOW_OAUTH_CLIENT_ID": "your_client_id",
        "SERVICENOW_OAUTH_CLIENT_SECRET": "your_client_secret",
        "WRITE_ENABLED": "true",
        "SCRIPTING_ENABLED": "true"
      }
    }
  }
}

VS Code (1.99+)

設定ファイル: .vscode/mcp.json(ワークスペースルート)

.vscode/ はコミットされがちなので、シークレットは平文で書かず VS Code の inputs(初回起動時にプロンプト表示・暗号化保存)に逃がします。セットアップウィザードもこの形式で書き込みます。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "servicenow-client-secret",
      "description": "ServiceNow OAuth client secret",
      "password": true
    }
  ],
  "servers": {
    "servicenow-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@tedorigawa001/servicenow-mcp", "server"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://dev12345.service-now.com",
        "SERVICENOW_OAUTH_CLIENT_ID": "your_client_id",
        "SERVICENOW_OAUTH_CLIENT_SECRET": "${input:servicenow-client-secret}"
      }
    }
  }
}

対応クライアント一覧

クライアント

種別

ガイド

Claude Desktop

デスクトップ

Setup

Claude Code CLI

ターミナル

Setup

Cursor

AI エディタ

Setup

Windsurf

AI エディタ

Setup

VS Code (Native MCP 1.99+)

IDE

Setup

VS Code + GitHub Copilot

IDE

Setup

VS Code + Continue.dev

IDE

Setup

VS Code + Cline

IDE

Setup

JetBrains AI

IDE

Setup

Amazon Q Developer

IDE / CLI

Setup

ChatGPT / OpenAI API

API

Setup

Google Gemini API

API

Setup

Ollama (ローカル LLM)

ローカル

Setup

全クライアントのセットアップ詳細 → docs/CLIENT_SETUP.md


トランスポート(stdio / HTTP)

デフォルトは stdio(標準入出力)で、ポート開放やネットワーク設定は不要です。 ブラウザ経由の接続(Claude.ai Web UI)、Docker コンテナ公開、複数クライアントでのサーバー共有、 CI/CD からの呼び出しが必要な場合は Streamable HTTP トランスポートに切り替えられます。

# HTTP トランスポートで起動(トークンはランダムな十分長い値を使用)
MCP_TRANSPORT=http MCP_HTTP_AUTH_TOKEN=replace-with-a-random-secret node dist/server.js
# → http://127.0.0.1:3000/mcp で待ち受け、GET /health でヘルスチェック

環境変数

デフォルト

説明

MCP_TRANSPORT

stdio

http で Streamable HTTP に切り替え

MCP_HTTP_PORT

3000

待ち受けポート

MCP_HTTP_HOST

127.0.0.1

バインドアドレス(外部公開時は 0.0.0.0

MCP_HTTP_PATH

/mcp

MCP エンドポイントのパス

MCP_HTTP_AUTH_TOKEN

(必須)

MCP エンドポイント用 Bearer トークン。未設定時は /mcp への要求をすべて401で拒否

MCP_HTTP_CORS_ORIGIN

*

CORS 許可オリジン

MCP_HTTP_ALLOWED_HOSTS

(なし)

カンマ区切り。指定すると DNS リバインディング保護を有効化

MCP_HTTP_ALLOWED_ORIGINS

(なし)

カンマ区切り。Origin ヘッダの許可リスト

MCP_HTTP_MAX_BODY_BYTES

1048576

JSON-RPC 要求本文の最大バイト数

MCP_HTTP_MAX_SESSIONS

100

同時 HTTP MCP セッションの上限

MCP_HTTP_SESSION_IDLE_TIMEOUT_MS

1800000

未使用セッションを閉じるまでのミリ秒

セッションは MCP 仕様に従い、initialize 応答の Mcp-Session-Id ヘッダで払い出され、 以降のリクエストで再利用します(DELETE /mcp でセッション終了)。HTTP 接続するクライアント設定例:

{
  "mcpServers": {
    "servicenow": {
    "url": "http://localhost:3000/mcp",
    "headers": { "Authorization": "Bearer replace-with-a-random-secret" }
    }
  }
}

セキュリティ注意: HTTP MCP は MCP_HTTP_AUTH_TOKEN を必須とします。デフォルトは loopback(127.0.0.1)バインドです。MCP_HTTP_HOST=0.0.0.0 で外部公開する場合は、リバースプロキシでの TLS 終端・認証、および MCP_HTTP_ALLOWED_HOSTS / MCP_HTTP_ALLOWED_ORIGINS による保護を推奨します。


権限設定(何ができるかを制御する)

デフォルトは読み取り専用です。操作範囲を広げたい場合は環境変数で段階的に有効化します。

graph TD
    T0["🛡️ Tier 0: 常時有効 (デフォルト)<br/>インシデント表示 / KB 検索 / レコード参照..."]
    T1["✏️ Tier 1: WRITE_ENABLED=true<br/>インシデント作成・更新 / 変更リクエスト管理..."]
    T2["🧩 Tier 2: CMDB_WRITE_ENABLED=true (Tier 1も必要)<br/>CI の作成・更新 / 関連付け管理..."]
    T3["⚙️ Tier 3: SCRIPTING_ENABLED=true (Tier 1も必要)<br/>ビジネスルール / スクリプト / Update Set..."]
    TAI["🤖 Tier AI: NOW_ASSIST_ENABLED=true<br/>NLQ / AI サマリー / Agentic Playbook..."]
    
    T0 --> T1
    T1 --> T2
    T1 --> T3
    T0 -.->|"独立オプション"| TAI

    style T0 fill:#f5f5f5,stroke:#999,stroke-width:2px,color:#333
    style T1 fill:#e3f2fd,stroke:#2196f3,stroke-width:2px,color:#000
    style T2 fill:#fff3e0,stroke:#ff9800,stroke-width:2px,color:#000
    style T3 fill:#ffebee,stroke:#f44336,stroke-width:2px,color:#000
    style TAI fill:#f3e5f5,stroke:#9c27b0,stroke-width:2px,color:#000

本番環境で使う場合の推奨設定:

WRITE_ENABLED=false          # まずは読み取りのみで確認
CMDB_WRITE_ENABLED=false
SCRIPTING_ENABLED=false      # 本番では原則 false のまま

ロールベース ツールパッケージ

MCP_TOOL_PACKAGE 環境変数でツールを絞り込めます。全部入りではなく、用途に応じたセットを使うと AI が迷わずに済みます。

mindmap
  root((ツールパッケージ))
    full
      全496ツール
    service_desk
      インシデント管理
      タスク/承認
      KB検索
      SLA確認
    change_coordinator
      変更管理
      CABスケジュール
      CMDB参照
    platform_developer
      スクリプト管理
      ACL/UI Policy
      ATFテスト
      Update Set
    system_administrator
      ユーザー/グループ管理
      レポート/ログ
      PA ダッシュボード
    itom_engineer
      CMDB
      Discovery
      MIDサーバー
    ai_developer
      Now Assist
      NLQ
      Agentic Playbooks
    secops_analyst
      VI作成/RT横断検索
      グルーピング診断
      SLA/例外承認

パッケージ名

対象ロール

主なツール

full

管理者

全ツール (496)

service_desk

L1/L2 エージェント

インシデント・タスク・KB・SLA

change_coordinator

変更管理者

変更リクエスト・CAB・CMDB

knowledge_author

KB 著者

KB 作成・公開

catalog_builder

カタログ管理者

カタログ・承認ルール

system_administrator

システム管理者

ユーザー・グループ・レポート

platform_developer

開発者

スクリプト・ATF・Update Set

portal_developer

ポータル開発者

ポータル・ウィジェット・UX

integration_engineer

統合エンジニア

REST・Transform・イベント

itom_engineer

ITOM エンジニア

CMDB・Discovery(実行履歴/エラー調査)・MID ヘルス・ACC

agile_manager

スクラムマスター

ストーリー・エピック

ai_developer

AI 開発者

Now Assist・NLQ・Playbook

itam_analyst

資産管理者

資産・ライセンス・契約・SAM Pro(ソフトウェア資産管理)

secops_analyst

SecOps アナリスト

脆弱性(VI/RT)・RT横断検索・グルーピング診断・USEM・SLA・例外承認

devops_engineer

DevOps

パイプライン・デプロイ

詳細 → docs/TOOL_PACKAGES.md


使用例

自然言語で操作する

「Network Operations グループの P1 インシデントをすべて表示して」

「INC0012345 に "調査中。30 分以内に更新します" とワークノートを追加して」

「SAP 本番システムの障害でインシデントを作成して。
  優先度 Critical、Network Ops グループに割り当てて」

「先月の Priority 別インシデント件数をグラフ用データで出して」

典型的なやりとりの流れ

sequenceDiagram
    participant U as あなた
    participant AI as AI アシスタント
    participant MCP as servicenow-mcp
    participant SN as ServiceNow

    U->>AI: 「SAP の P1 インシデントを作って」
    AI->>MCP: create_incident を呼び出す
    MCP->>MCP: WRITE_ENABLED チェック ✅
    MCP->>SN: POST /api/now/table/incident
    SN-->>MCP: INC0099001 作成完了
    MCP-->>AI: 作成結果を返す
    AI-->>U: 「INC0099001 を作成しました」

    U->>AI: 「SAP サーバーの CMDB 依存関係も確認して」
    AI->>MCP: search_cmdb_ci + list_relationships
    MCP->>SN: CMDB API を 2 回呼び出す
    SN-->>MCP: 依存 CI 8 件
    MCP-->>AI: 依存関係リスト
    AI-->>U: 「SAP-PROD-DB01 は 8 つの CI に依存しています」

Update Set の第三者コンポーネントを SCA する

scan_update_set_sca読み取り専用で Update Set 内のスクリプト系 Customer Update を収集し、固定バージョンが確認できる npm コンポーネントを検出します。既定では OSV に照会して advisory を JSON で返します。コード本文・payload・一致箇所の文字列は返しません。

「Release 1.12 Update Set を SCA スキャンして。検出したコンポーネント、
脆弱性、照会できなかった項目、次の対応を JSON の根拠だけで報告して」

ローカル収集だけを先に確認したい場合は、AI に lookup_vulnerabilities: false を指定します。

{
  "update_set": "46f0...",
  "max_records": 50,
  "lookup_vulnerabilities": false
}

AI への報告依頼例:

scan_update_set_sca の JSON だけを根拠に報告してください。
critical / high を最優先にし、各 finding は component、installed_version、
advisory_id、fixed_versions、evidence の asset_type と asset_name を示してください。
summary.assessment、lookup.status、errors、unresolved_references、truncated を必ず確認し、
対象外・未照会・失敗を「脆弱性なし」と表現しないでください。
修正は自動実行せず、Update Set の変更案と確認手順を提案してください。

制約: findings が空でも安全性は証明されません。バージョン範囲、latest のような CDN alias、バージョンなしのモジュール参照は CVE 照合できず unresolved_references として返ります。CDN URL を検出しても、そのライブラリが実際にロード・実行されたことまでは示しません。また SCA は依存コンポーネントを対象にするものであり、ServiceNow のカスタムスクリプトに対する SAST、権限設計、クエリ安全性のレビューを代替しません。

スラッシュコマンド & @メンション

/morning-standup  → P1/P2 オープンインシデント・当日変更・SLA 違反のサマリー
/my-tickets       → 自分に割り当てられたオープンタスク一覧
/p1-alerts        → アクティブな P1 インシデント一覧

@my-incidents     → 自分のインシデントをコンテキストに追加
@ci:web-prod-01   → CMDB CI レコードをコンテキストに追加
@kb:VPN-setup     → KB 記事をコンテキストに追加

120+ の実例 → EXAMPLES.md


マルチインスタンス対応

graph LR
    User["あなたの PC\n(AI + MCP サーバー)"] -->|dev| DEV[(開発 PDI\ndev12345.service-now.com)]
    User -->|staging| STG[(検証\nstg.company.com)]
    User -->|prod| PRD[(本番\nacme.service-now.com)]
{
  "default_instance": "dev",
  "instances": {
    "dev": {
      "url": "https://dev12345.service-now.com",
      "client_id": "dev-client-id",
      "client_secret": "dev-client-secret"
    },
    "prod": {
      "url": "https://acme.service-now.com",
      "auth": "oauth",
      "client_id": "xxx",
      "client_secret": "yyy",
      "username": "svc_account",
      "password": "zzz"
    }
  }
}
SN_INSTANCES_CONFIG=/path/to/instances.json

詳細 → docs/MULTI_INSTANCE.md


モジュールカバレッジ

graph TB
    subgraph ITSM["ITSM & サービス管理"]
        I1[インシデント管理]
        I2[問題管理]
        I3[変更管理]
        I4[タスク管理]
        I5[ナレッジベース]
        I6[サービスカタログ]
    end

    subgraph PLATFORM["プラットフォーム & 開発"]
        P1[スクリプト/ビジネスルール]
        P2[Flow Designer]
        P3[Service Portal / UIB]
        P4[ATF テスト]
        P5[Update Set 管理]
        P6[App Studio]
    end

    subgraph OPS["運用 & 分析"]
        O1[CMDB / ITOM]
        O2[Performance Analytics]
        O3[レポート / 集計]
        O4[通知 / 添付]
        O5[システムプロパティ]
        O6[DevOps パイプライン]
        O7[インスタンス診断 / 性能履歴]
    end

    subgraph EXTENDED["拡張モジュール"]
        E1[HRSD]
        E2[CSM]
        E3[SecOps / GRC]
        E4[Agile / Scrum]
        E5[IT 資産管理]
        E6[Virtual Agent]
    end

    subgraph AI["AI & インテグレーション"]
        A1[Now Assist / AI]
        A2[Integration Hub]
        A3[Machine Learning]
        A4[モバイル]
        A5[ワークスペース]
    end

プロジェクト構造

servicenow-mcp/
├── src/
│   ├── server.ts                   # MCP サーバーエントリーポイント
│   ├── servicenow/
│   │   ├── client.ts               # REST API クライアント (OAuth)
│   │   ├── instances.ts            # マルチインスタンスマネージャー
│   │   └── types.ts                # TypeScript 型定義
│   ├── tools/                      # 45 ドメインモジュール (496 ツール)
│   │   ├── index.ts                # ツールルーター & パッケージ定義
│   │   ├── incident.ts
│   │   ├── change.ts
│   │   ├── knowledge.ts
│   │   └── ...
│   ├── prompts/                    # スラッシュコマンド定義
│   ├── resources/                  # @メンション定義
│   ├── cli/                        # セットアップウィザード
│   └── utils/
│       ├── permissions.ts          # 5 段階権限ゲート
│       └── errors.ts
├── tests/                          # テスト (Vitest · 1,553 件)
├── docs/                           # ドキュメント
└── instances.example.json

開発

npm install          # 依存パッケージのインストール
npm run build        # TypeScript → dist/ にコンパイル
npm test             # テストを実行 (1,553 件)
npm run dev          # ウォッチモード
npm run type-check   # 型チェックのみ
npm run lint         # ESLint

よくある質問

ServiceNow の API 知識は必要ですか?
いいえ。「P1 インシデントを一覧表示して」のように日本語で話しかけるだけです。API 呼び出しはサーバーが自動で行います。

本番環境に接続しても大丈夫ですか?
WRITE_ENABLED=false(デフォルト)で接続する分には読み取りのみで安全です。書き込みを有効にする前に、必ず開発環境で動作を確認してください。

無料で使えますか?
このサーバー自体は MIT ライセンスで無料です。ServiceNow の無料 PDI(Personal Developer Instance)も developer.servicenow.com で取得できます。AI クライアント側(Claude Pro 等)の料金は各サービスに従います。

MCP って何ですか?
Model Context Protocol の略で、AI クライアントが外部ツールを呼び出すための標準規格です。Claude・Cursor などが対応しています。このサーバーは MCP に準拠しているため、対応 AI から自動的に発見・使用されます。

複数インスタンスに接続できますか?
はい。instances.json で dev / staging / prod を定義しておき、「本番インスタンスに切り替えて」と指示するだけで切り替わります。


ドキュメント

ガイド

内容

docs/INSTALLATION.md

環境変数リファレンス

docs/CLIENT_SETUP.md

全 AI クライアントのセットアップ

docs/SERVICENOW_OAUTH_SETUP.md

ServiceNow OAuth アプリ作成手順(詳細版)

docs/TOOL_PACKAGES.md

ロールベースパッケージの詳細

docs/TOOLS.md

全ツールのパラメータ・権限要件

docs/MULTI_INSTANCE.md

マルチインスタンス設定

docs/NOW_ASSIST.md

Now Assist / AI 統合

docs/ATF.md

ATF テストガイド

EXAMPLES.md

120+ 実用例

SECURITY.md

セキュリティポリシー・脆弱性報告

CHANGELOG.md

変更履歴


コントリビュート

CONTRIBUTING.md をお読みの上、Pull Request をお送りください。
バグ報告・機能要望 → Issue を開く


セキュリティ

脆弱性を発見した場合は 公開 Issue には投稿せずSECURITY.md の責任ある開示プロセスに従ってください。


ライセンス

MIT — 個人・商用利用とも無料。


496 ツール · 45 モジュール · ローカル PC で動作 · 永久オープンソース

役に立ったら ⭐ スターをお願いします — 他の人が見つけやすくなります。

GitHub Stars

Available Tools

376 tools
add_commentA

Add a customer-visible comment to any ITSM record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g., "incident")
sys_idYesSystem ID of the record
commentYesComment text (visible to end user/caller)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already convey the write nature (readOnlyHint=false) and non-idempotency. The description adds valuable context: the comment is customer-visible and requires WRITE_ENABLED=true. This goes beyond the annotations and gives the agent important operational knowledge.

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

Conciseness5/5

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

A single sentence that conveys the core action, scope, and a critical requirement. No fluff, front-loaded with the verb, and all words earn their place.

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 simple 3-parameter tool with fully described schema and annotations, the description is complete enough for invocation. It does not discuss return values, but since there is no output schema and the operation is straightforward, this is acceptable.

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 coverage is 100% and the schema already describes each parameter, including 'Comment text (visible to end user/caller)'. The description adds little beyond the schema, so the baseline of 3 applies.

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 uses a specific verb ('Add'), identifies the resource ('customer-visible comment'), and scopes it to 'any ITSM record'. It clearly distinguishes from the sibling 'add_work_note' by specifying the comment is customer-visible, making the tool's purpose unambiguous.

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?

The description provides clear context ('customer-visible', 'any ITSM record') and a prerequisite ('requires WRITE_ENABLED=true'). It implies when to use this tool vs. internal work notes, but it does not explicitly name an alternative or state when not to use it.

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

add_user_to_groupA

Add a user to a group (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_sys_idYesSystem ID of the user
group_sys_idYesSystem ID of the group

TDQS

A4/5.0
Behavior4/5

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

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description discloses the WRITE_ENABLED=true requirement. This adds operational context not present in the annotations, though it does not cover idempotency or duplicate membership behavior.

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

Conciseness5/5

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

Single concise sentence that front-loads the purpose and includes a key requirement. No wasted words.

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 simple mutation tool, the description plus schema and annotations provide sufficient context. It names the operation and a key prerequisite, though it could mention what happens if the user is already in the group, but this is not critical given the sibling tool context.

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 coverage is 100% and both parameters have clear descriptions ('System ID of the user' and 'System ID of the group'). The description adds no additional information beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly states 'Add a user to a group' with a specific verb and resource, distinguishing it from sibling tools like 'remove_user_from_group' and 'update_group'.

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?

Provides a necessary prerequisite (WRITE_ENABLED=true) but no explicit guidance on when to use this tool versus alternatives like remove_user_from_group. Usage context is implied by the name and description.

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

add_work_noteA

Add an internal work note to any ITSM record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g., "incident", "change_request")
sys_idYesSystem ID of the record
noteYesWork note text (internal, not visible to end user)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate a non-read-only operation (readOnlyHint=false). The description adds the 'internal' nature (not visible to end user) and the WRITE_ENABLED requirement. These provide some context beyond annotations, but the description does not explain what happens on failure or whether the note is appended or overwrites existing content.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action and a key prerequisite. No redundant filler or restatement of the tool name. It earns its place.

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

Completeness3/5

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

For a simple mutation with a fully described schema, the description is adequate but minimal. It omits what happens on success (e.g., return value) or failure, and whether the note is added to the activity log. Since no output schema exists, a bit more detail about effects would improve completeness.

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 the schema fully documents each parameter. The description adds no extra meaning beyond the schema, such as format of sys_id or examples for table. It only restates that it works on 'any ITSM record', which aligns with the table parameter's description.

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 clearly states the action ('Add'), the specific resource ('internal work note'), and the scope ('any ITSM record'). The word 'internal' distinguishes it from sibling tool 'add_comment', which presumably adds a visible comment, so the purpose is unambiguous.

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?

The description does not provide guidance on when to use this tool versus alternatives like 'add_comment' or 'update_record'. It mentions a prerequisite ('requires WRITE_ENABLED=true'), but this is a constraint rather than usage direction. No exclusions or alternative tool references are given.

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

analyze_data_qualityA
Read-onlyIdempotent

Analyse data quality for a table — completeness, duplicates, stale records

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable to analyse
required_fieldsNoComma-separated fields that should be populated
days_staleNoConsider records stale after N days without update (default 180)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds context on what aspects are checked but doesn't detail how (e.g., whether it samples or scans all records). No contradiction with annotations.

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

Conciseness5/5

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

Extremely concise, one sentence that front-loads the purpose. No unnecessary words.

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?

Does not explain the output format or return value. An agent needs to know whether results are returned as scores, lists, or something else to interpret them correctly.

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 coverage is 100% with descriptive parameter descriptions. The tool description hints at how parameters relate to quality checks but adds minimal additional meaning beyond the schema.

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 clearly states it analyzes data quality for a table, listing specific aspects (completeness, duplicates, stale records). This differentiates it from siblings like check_table_completeness which likely focuses only on completeness.

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?

No explicit guidance on when to use this tool versus alternatives like check_table_completeness or compare_record_counts. Usage is implied but not clarified.

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

approve_requestA
Idempotent

Approve a pending approval request (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the approval record
commentsNoOptional approval comments

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate write operation (readOnlyHint=false) and idempotency (idempotentHint=true). Description adds the WRITE_ENABLED prerequisite, which is useful. However, it does not disclose side effects (e.g., workflow triggers, notifications) or post-approval behavior, leaving room for improvement.

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

Conciseness5/5

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

Single sentence with critical prerequisite in parentheses. No superfluous words. Front-loaded with verb and resource. Excellent conciseness.

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?

With no output schema, the description should explain what the tool returns (e.g., success status, updated record) and any side effects (e.g., workflow triggers). It does not. For an approval tool with moderate complexity, this is a significant gap.

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 covers 100% of parameters with descriptions. The description does not add additional semantic information about the parameters beyond what the schema provides. Baseline score of 3 is appropriate.

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?

Description specifies the verb 'Approve' and the resource 'pending approval request', clearly distinguishing from sibling tools like reject_request and list_approvals. It includes a prerequisite, making the purpose immediately understandable.

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?

The description explicitly states a required condition (WRITE_ENABLED=true). While it does not provide explicit when-to-use vs when-not-to-use, the verb and sibling context implicitly guide usage: this tool is for approving, not canceling or rejecting. Missing explicit exclusions, but clear overall.

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

bulk_get_propertiesB

Retrieve multiple system property values in a single call

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYesArray of property names to retrieve

TDQS

B3.2/5.0
Behavior1/5

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

Annotation contradiction: annotations declare readOnlyHint=false and idempotentHint=false, while the description states 'Retrieve' which implies a read-only, idempotent operation. The description does not disclose any additional behavioral traits such as limits, authentication, or error semantics, and contradicts the provided annotations.

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

Conciseness5/5

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

One sentence, zero wasted words. The description is front-loaded with the action and object, making it immediately understandable.

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?

The tool lacks an output schema and the description does not mention return format, constraints, or error behavior. More importantly, the annotation contradiction undermines trust and the description is not sufficient to resolve it. For a simple tool, this is incomplete.

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?

The input schema fully describes the single parameter 'names' as an array of property names with 100% coverage. The description adds no extra parameter context beyond the schema, so the baseline score of 3 is appropriate.

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 uses a specific verb ('retrieve') and resource ('system property values'), and explicitly scopes to 'multiple' and 'single call', distinguishing it from single-property getters like get_system_property and listing tools.

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 description implies usage for fetching multiple property values at once but does not explicitly contrast it with alternatives or state when not to use it. It lacks explicit when/when-not guidance, though the intent is reasonably clear from the wording.

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

bulk_set_propertiesA
Idempotent

Create or update multiple system properties in a single operation. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
propertiesYesArray of {name, value, description?} objects

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate idempotent and non-destructive behavior. The description adds transparency about the upsert behavior (create or update) and the batch nature, which are not fully captured by annotations. However, it omits details on error handling or limits.

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

Conciseness5/5

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

The description is extremely concise with a single sentence and a brief tag, containing zero wasted words. It front-loads the essential information.

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

Completeness3/5

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

Given the tool's complexity (batch upsert, no output schema), the description is adequate but misses important context such as maximum batch size, error reporting, and return value format. It covers the core functionality but leaves gaps.

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?

The input schema provides high coverage (100%) with a clear structure for the 'properties' array. The description adds minimal extra semantics beyond restating that it operates on multiple system properties. Baseline score of 3 is appropriate.

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 clearly states 'Create or update multiple system properties in a single operation,' specifying the action (create/update), resource (system properties), and batch scope. It distinguishes from the sibling tool 'set_system_property' which operates on a single property.

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 description implies usage for batching but does not explicitly state when to use this tool over alternatives like 'set_system_property' or 'import_properties'. No when-not or alternative guidance is provided.

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

cancel_requestA
Destructive

Cancel an open service catalog request (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYessc_request sys_id
commentsNoReason for cancellation

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true. The description adds the requirement for WRITE_ENABLED and specifies that the request must be 'open', providing useful behavioral context beyond annotations.

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

Conciseness5/5

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

Single sentence with no unnecessary words. Straightforward and efficient.

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?

Given no output schema, the description provides essential context: it cancels an open request and requires a specific configuration. It is sufficient for the agent to understand the tool's function.

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 descriptions already cover both parameters with adequate detail. The description does not add significant extra meaning beyond the schema context of 'open service catalog request'.

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 clearly states the verb 'Cancel' and the resource 'open service catalog request'. The prerequisite 'requires WRITE_ENABLED=true' adds specificity. This distinguishes it from siblings like 'approve_request' and 'reject_request'.

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?

The description provides a clear prerequisite (WRITE_ENABLED=true) and implies usage for open requests. However, it does not explicitly state when not to use it (e.g., if the request is already closed) or mention alternative tools.

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

categorize_incidentA
Read-onlyIdempotent

Use Predictive Intelligence to predict category, assignment group, and priority (latest release: LightGBM algorithm)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesIncident short description
descriptionNoOptional full description for better accuracy

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, open-world behavior. Description adds algorithm version but no additional behavioral traits like error handling or output format.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose, no redundant text.

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?

No output schema, and description does not describe the prediction result format. For a tool that returns predictions, the output structure is crucial context.

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 provides full descriptions for both parameters. Description adds 'for better accuracy' but no new semantic detail beyond schema.

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 clearly states it predicts category, assignment group, and priority using Predictive Intelligence with LightGBM. It distinguishes from sibling tools like ml_train_incident_classifier and get_incident.

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?

Implies use for prediction on incident data, but does not explicitly state when to use vs alternative prediction tools or exclude scenarios. No when-not guidance.

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

check_table_completenessB
Read-onlyIdempotent

Analyze data quality and field completeness for a ServiceNow table — returns percentage of non-empty values per field

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name to analyze (e.g. "incident", "cmdb_ci_server")
fieldsYesComma-separated field names to check (e.g. "assigned_to,priority,category")
queryNoOptional encoded query to scope the analysis (e.g. "active=true")
sample_sizeNoNumber of records to sample (default 100, max 500)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, indicating a safe, idempotent, and open-world operation. The description adds the output detail (percentage returns) but does not elaborate on other behavioral aspects like sampling behavior or error handling. It does not contradict annotations.

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 a single, concise sentence that immediately conveys the tool's purpose. However, it could be improved by front-loading the most critical information, such as the resource and verb, which it does, but it lacks structure for readability.

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

Completeness3/5

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

The description provides a high-level overview but does not explain the return format (e.g., dictionary of field names to percentages), pagination, or potential limitations (e.g., sampling behavior). Given no output schema, this omission is a gap. The description is adequate but not comprehensive.

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%—all four parameters have descriptions in the schema. The tool description does not add any additional meaning beyond the schema. Baseline score of 3 applies since the schema already documents parameters adequately.

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 clearly states the verb 'Analyze', the resource 'data quality and field completeness for a ServiceNow table', and the output 'returns percentage of non-empty values per field'. It is specific and distinguishes from sibling tools like 'analyze_data_quality' by focusing on field-level completeness.

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?

No guidance is provided on when to use this tool versus alternatives such as 'analyze_data_quality', 'get_table_record_count', or 'query_records'. The sibling list includes many related tools, but the description does not help the agent decide when to select this one.

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

clone_artifactA

Clone a platform artifact to a new name/scope. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesSource artifact table
sys_idYesSource artifact sys_id
new_nameYesName for the cloned artifact
target_scopeNoTarget application scope (optional)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds a minimal verb but no extra behavioral context such as whether the original is preserved, what fields are copied, or if scope is required. It does not contradict annotations, but also does not enrich them beyond the basic clone semantics.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the tool's purpose. The [Scripting] tag adds minimal but potentially useful context. Every word earns its place with no waste.

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

Completeness3/5

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

The tool is a straightforward clone operation with all parameters documented in the schema. There is no output schema, and the description does not explain return behavior or side effects. Given its simplicity and full schema coverage, the minimal description is acceptable but does not go beyond the bare essentials.

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%, with clear descriptions for each parameter (table, sys_id, new_name, target_scope). The description's 'new name/scope' phrasing maps to the new_name and target_scope parameters, but adds no extra detail beyond what the schema already provides. Baseline 3 is appropriate.

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 uses a specific verb ('Clone') and resource ('platform artifact') with explicit outcome ('to a new name/scope'). It clearly distinguishes itself from sibling artifact tools like push_artifact, pull_artifact, and sync_status by focusing on duplication rather than transfer or synchronization.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or comparisons to similar artifact operations. The context is implicit from the verb 'clone,' but no explicit when-to-use or when-not-to-use guidance is given.

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

close_change_requestA
Destructive

Close a change request with close code and notes (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the change request
close_codeYesClose code (e.g., "successful", "unsuccessful")
close_notesYesClosure notes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate destructive behavior, so the description does not need to restate that. It adds the operational requirement 'requires WRITE_ENABLED=true', which is useful context beyond annotations. However, it does not disclose other behavioral details such as state transitions or irreversibility.

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

Conciseness5/5

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

A single sentence that is front-loaded with the action and resource, includes the key requirement, and has no wasted words. It communicates the essential information efficiently.

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 simple mutation tool with full annotations and complete parameter schema, the description covers the core action and a prerequisite. It lacks output schema or error handling details, but for a straightforward close operation, this is reasonably complete.

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%, with all three parameters (sys_id, close_code, close_notes) already described. The description merely mentions close code and notes without adding new detail, so it does not add significant value beyond the schema.

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 uses the specific verb 'Close' targeting the 'change request' resource, with close code and notes as key parameters. This clearly distinguishes it from sibling tools like close_incident, close_hr_case, and update_change_request.

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 description implies usage for closing change requests and mentions a prerequisite (WRITE_ENABLED=true), but does not explicitly contrast with alternatives like update_change_request or state when closing is appropriate. The guidance is present but not explicit.

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

close_csm_caseA
Destructive

Close a CSM case with resolution details (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the CSM case
resolution_codeNoHow the case was resolved
resolution_notesYesDetailed resolution notes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the mutation risk is known. The description adds the WRITE_ENABLED prerequisite, which is useful, but it does not disclose consequences such as the case being irreversibly moved to a closed state or any side effects. Given the annotation coverage, the description adds minimal context beyond the requirement.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that immediately states the action and object, followed by the key permission requirement. There is no wasted wording, making it highly concise.

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

Completeness3/5

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

For a simple three-parameter tool, the description is adequate but missing context about the closing workflow—it doesn't explain that closing is typically a terminal action or what response the agent should expect. The lack of an output schema means the return value is unspecified, and the description does not clarify whether the tool returns the closed case or a simple success indicator. Still, the essential purpose and required permission are covered, earning a moderate score.

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%, with each parameter already documented with a concise description. The description's phrase 'with resolution details' only reinforces the importance of resolution_notes but adds no new syntax, format, or value constraints beyond the schema. Baseline 3 is appropriate.

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 clearly states a specific verb ('Close') and resource ('CSM case') with the qualifier 'with resolution details', distinguishing it from sibling tools like create_csm_case, get_csm_case, and update_csm_case. It also names the permission prerequisite, although that's not purpose.

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?

The description provides no guidance on when to use this tool versus update_csm_case or close_incident. It does not state that closing is a final action or that it should be used after resolution is complete. There are no explicit exclusions or alternative tool mentions.

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

close_hr_caseA
Destructive

Close an HR case with resolution notes (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the HR case
close_notesYesResolution or closure notes
close_codeNoClosure code (e.g., "Resolved", "Withdrawn")

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already establish the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false). The description adds the WRITE_ENABLED=true prerequisite, which is useful operational context, but doesn't elaborate on irreversibility, side effects (despite openWorldHint=true), or return behavior. No contradiction with annotations, but limited additional behavioral disclosure.

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

Conciseness5/5

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

The description is a single front-loaded sentence: 'Close an HR case with resolution notes (requires WRITE_ENABLED=true).' It conveys the verb, resource, input, and a critical prerequisite with no filler or redundancy.

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 3-parameter tool with rich annotations (destructiveHint, readOnlyHint, idempotency, openWorld) and full schema coverage, the description and annotations together provide a solid operational picture. The WRITE_ENABLED prerequisite is a valuable addition. The only omission is return value/confirmation behavior, which is minor given the simple close action and lack of an output schema.

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%, with all three parameters (sys_id, close_code, close_notes) already documented. The description's 'with resolution notes' merely reiterates the close_notes parameter without adding format, examples, or constraints. Baseline 3 applies.

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 uses the specific verb 'Close' with the explicit resource 'HR case', clearly distinguishing it from sibling tools like close_incident, close_change_request, and update_hr_case. The 'with resolution notes' phrase adds meaningful specificity about the tool's primary function, making it unambiguous.

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 description implies the tool is for closing HR cases with resolution notes, but provides no explicit guidance on when not to use it or which alternatives apply (e.g., update_hr_case for non-closing modifications, close_csm_case for CSM cases). An agent relies primarily on the tool name and sibling context rather than explicit direction.

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

close_incidentA
Destructive

Close a resolved incident (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the incident

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate a destructive, non-read-only operation, so the description adds extra context by specifying the WRITE_ENABLED=true requirement and the precondition that the incident must be resolved. This goes beyond what annotations provide, though it omits details about side effects or reversibility.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that immediately states the verb and object, with a useful parenthetical for the permission requirement. No wasted words; every part contributes to understanding the tool's purpose and precondition.

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?

Given the simplicity of the tool (one parameter, no output schema), the description covers essential aspects: what it does, when it can be used (resolved incident), and a system-level requirement. It does not explain return values, but since annotations and schema are already rich, this is sufficient. Minor gap is lack of detail on what 'closing' implies beyond the annotations.

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?

The schema has 100% coverage on the single parameter sys_id, so the description need not elaborate. The description does not add any additional meaning about parameters, which is acceptable given the schema's clarity. Baseline 3 is appropriate.

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 uses a specific verb ('Close') and a specific resource ('incident'), and further qualifies it as 'resolved incident', which clearly distinguishes this tool from siblings like resolve_incident or update_incident. The parenthetical about WRITE_ENABLED adds a clear precondition, making the purpose unambiguous.

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?

The description clearly implies when to use this tool: only for incidents that have been resolved. It also identifies a prerequisite (WRITE_ENABLED=true). However, it does not explicitly name alternatives or state when not to use it, so it falls short of a perfect score.

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

cmdb_health_dashboardA
Read-onlyIdempotent

Get CMDB data quality metrics (completeness of server and network CI data)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns metrics on completeness but does not disclose output structure, caching, or rate limits. With annotations present, the description provides minimal additional behavioral context.

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

Conciseness5/5

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

Single sentence that is front-loaded and contains no extraneous information. Every word serves a purpose.

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

Completeness3/5

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

Despite no output schema, the description only vaguely mentions 'metrics (completeness of server and network CI data)', leaving the return format and structure unclear. With openWorldHint, the agent may expect a collection but lacks detail on field names or types.

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?

No parameters exist, and schema coverage is 100% (vacuous). The description correctly implies no input is needed, so it fully compensates for parameter understanding.

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 uses specific verb 'Get' and resource 'CMDB data quality metrics' with explicit scope 'completeness of server and network CI data', clearly distinguishing it from sibling tools like 'analyze_data_quality' or 'check_table_completeness'.

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?

No explicit guidance on when to use this tool versus alternatives like 'analyze_data_quality' or 'cmdb_impact_analysis'. The description implies a specific dashboard context but lacks comparative or exclusionary advice.

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

cmdb_impact_analysisB

Analyze the downstream impact of a Configuration Item change or outage

ParametersJSON Schema
NameRequiredDescriptionDefault
ci_sys_idYesCI sys_id to analyze
depthNoRelationship depth to traverse (default: 2)

TDQS

B3.3/5.0
Behavior2/5

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

Annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) suggest possible side effects, but the description fails to elaborate on behavioral traits such as whether analysis creates records or has performance implications, leaving ambiguity.

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 a single efficient sentence that quickly conveys the tool's purpose, although it could be slightly more structured.

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?

With no output schema, the description should at least hint at the output format or behavior (e.g., returns a graph or list). It does not, leaving agents uncertain about what to expect.

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?

Input schema provides full descriptions for both parameters (ci_sys_id and depth). The description adds no additional meaning beyond what the schema already conveys.

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 clearly states the specific verb 'analyze' and the resource 'downstream impact of a Configuration Item change or outage', distinguishing it from sibling tools like search_cmdb_ci or cmdb_health_dashboard.

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 description implies usage for impact analysis but offers no explicit guidance on when to use this tool versus alternatives or when not to use it.

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

commit_changesetA
Destructive

Commit an update set (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the update set

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description correctly implies mutation. It adds the prerequisite condition, which is helpful, but doesn't describe consequences (e.g., irreversible changes, side effects).

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no extraneous words. It efficiently communicates the action and a key requirement.

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 simple one-parameter tool with annotations covering destructiveness, the description is nearly complete. It includes a prerequisite. Could mention irreversibility but not essential. No output schema needed.

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?

The schema covers 100% of parameters with a clear description for 'sys_id'. The tool description adds no extra semantic value beyond what the schema already provides.

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 clearly states a specific verb ('Commit') and resource ('update set'), distinct from sibling tools like 'publish_changeset' or 'complete_update_set'. It also adds a prerequisite condition.

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?

The description provides a prerequisite (SCRIPTING_ENABLED=true) but offers no guidance on when to use this tool versus alternatives like 'publish_changeset' or 'complete_update_set'. No context on when not to use it.

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

compare_record_countsB
Read-onlyIdempotent

Compare record counts across multiple ServiceNow tables or time periods — useful for capacity planning

ParametersJSON Schema
NameRequiredDescriptionDefault
tablesYesList of table names to compare (e.g. ["incident", "change_request", "problem"])
queryNoOptional query to apply to all tables

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, repeatable operation. The description adds 'useful for capacity planning' but no further behavioral details (e.g., behavior on missing tables, output format). It does not contradict annotations, so a baseline of 3 is appropriate.

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 a single sentence front-loaded with the verb and resource. It is concise with no wasted words, though the mention of 'time periods' could be removed or aligned with actual parameters.

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

Completeness3/5

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

Given the annotations cover safety and schema describes parameters, the description is adequate for a read-only comparison tool. However, it lacks explanation of the comparison format (e.g., return structure) and the 'time periods' feature is not supported, leaving some context gaps.

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 coverage is 100% with descriptions for both parameters ('tables' and 'query'). The description adds no new parameter insight and introduces 'time periods' which is not a parameter, potentially confusing. The description fails to add value beyond the schema.

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 clearly states the tool compares record counts across multiple tables or time periods, with a specific verb and resource. It distinguishes from sibling tools like 'get_table_record_count' which likely handles single tables, but the mention of 'time periods' is not reflected in the input schema, causing minor ambiguity.

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 description notes it is 'useful for capacity planning', providing a usage context. However, it does not explicitly state when to use this tool versus alternatives like 'get_table_record_count' or 'trend_query', nor does it offer exclusions or prerequisites.

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

complete_taskA
Idempotent

Mark a task as complete (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the task
close_notesNoOptional closure notes

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the annotations (which show idempotentHint=true), the description adds the precondition 'requires WRITE_ENABLED=true', which is an important behavioral constraint. No contradiction with annotations.

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 a single concise sentence that includes the essential action and a prerequisite. No fluff.

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

Completeness3/5

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

For a simple mutation tool with annotations covering idempotency, the description is sufficient. However, it lacks any mention of return values or confirmation, which would improve completeness, especially given no output schema.

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?

The schema covers both parameters with descriptions (100% coverage). The tool description adds no additional meaning beyond what the schema already provides, earning a baseline score of 3.

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 clearly states the action ('Mark a task as complete') and includes a precondition (WRITE_ENABLED=true). It is specific enough to distinguish from sibling tools like 'close_incident' which target specific types, but it does not explicitly compare itself to them.

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 description includes a functional requirement (WRITE_ENABLED=true), which provides guidance on when the tool can be used. However, it does not advise against using it for specific task types or reference alternative tools like 'close_incident'.

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

complete_update_setC
Idempotent

Mark an Update Set as complete (ready for migration). [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUpdate Set sys_id

TDQS

C2.9/5.0
Behavior2/5

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

The description adds minimal behavioral context beyond annotations. It indicates a state change ('complete') but doesn't mention reversibility, triggers, or side effects. Annotations already provide idempotentHint and non-destructiveHint, so the description adds little 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?

The description is a single concise sentence with a minimal tag. It is efficient and front-loaded, though it sacrifices completeness for brevity.

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

Completeness3/5

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

For a simple action with one parameter and no output schema, the description is adequate but lacks context on what 'complete' means in the system workflow or any prerequisites. It meets minimum viability.

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?

The schema covers the single parameter (sys_id) completely, so the description doesn't need to add parameter details. Baseline 3 is appropriate as the description offers no additional parameter semantics.

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 clearly states the action ('Mark an Update Set as complete') and the resource ('Update Set'), with the purpose being ready for migration. It distinguishes from siblings like create_update_set or export_update_set, though it doesn't explicitly differentiate.

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?

No guidance is provided on when to use this tool versus alternatives, such as preview_update_set or commit_changeset. The '[Scripting]' tag hints at context but is insufficient for clear usage direction.

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

configure_offline_syncA
Idempotent

Configure which tables/records are available offline in mobile. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable to sync offline
queryNoFilter query for sync scope
max_recordsNoMax offline records (default 500)

TDQS

A3.6/5.0
Behavior2/5

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

The description adds only the '[Write]' tag, which merely restates the readOnlyHint: false annotation. It provides no additional behavioral context such as required permissions, side effects, or impact on mobile clients. The annotations already convey the safety profile, so the description contributes almost nothing beyond them.

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

Conciseness5/5

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

The description is a single sentence plus a tag, front-loaded and free of redundant text. Every word contributes to understanding the tool's purpose.

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?

Given the tool's simplicity (3 params, 1 required), full schema coverage, and annotations covering the safety profile, the description is largely sufficient for tool selection. The lack of usage guidance and behavioral details prevents a perfect score, but these are adequately compensated by structured metadata.

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%, and each parameter (query, table, max_records) is already clearly described in the input schema. The tool description adds no parameter-specific details beyond what the schema provides, so the baseline of 3 is appropriate.

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 uses the specific verb 'Configure' and identifies the resource 'which tables/records are available offline in mobile,' clearly distinguishing this from sibling mobile tools like create_mobile_app_config or list_mobile_app_configs.

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?

No explicit guidance is given on when to use this tool versus alternatives. Usage is implied by the purpose and name, but no exclusions or alternative tools are mentioned, leaving the agent to infer the appropriate context.

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

configure_workspace_listB
Idempotent

Add or update a list view in an agent workspace. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_sys_idYesWorkspace sys_id
tableYesList table
titleYesList title
queryNoEncoded query filter
columnsNoComma-separated field names

TDQS

B3.2/5.0
Behavior2/5

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

The description adds little beyond the annotations. The '[Write]' tag merely echoes readOnlyHint=false. It does not disclose side effects, overwrite behavior, permission requirements, or failure semantics. Since annotations already cover the safety profile, the description should add context but does not.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the action. No filler or redundant text beyond the '[Write]' tag, which is acceptable. It is appropriately sized for the tool.

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?

Despite having 5 parameters and no output schema, the description is minimal. It does not mention expected outcomes, error conditions, or how parameters like 'query' and 'columns' affect the list view. The schema covers parameter names, but the description leaves contextual gaps.

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 coverage is 100%, so all five parameters are described in the input schema. The description itself does not add any parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate.

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 clearly states a specific action ('Add or update') on a specific resource ('list view in an agent workspace'), which distinguishes it from sibling tools like create_workspace or get_workspace. The verb and resource are unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where another tool (e.g., create_workspace) would be appropriate. The description only states what it does, not when to use it.

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

create_aclA

Create a new ACL rule to control access to a table or field (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesACL name (typically "table.field" or "table.*")
typeNo"record" | "field" | "rest_endpoint" | "soap_endpoint"
operationYes"read" | "write" | "create" | "delete" | "execute"
admin_overridesNoAllow admin to override (default: true)
activeNoWhether to activate immediately (default: true)
scriptNoOptional condition script (return true to allow)
rolesNoComma-separated roles required (e.g. "admin,itil")
descriptionNoDescription of this access rule

TDQS

A4.2/5.0
Behavior4/5

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

The description adds the important prerequisite that SCRIPTING_ENABLED=true is required, which is not present in the annotations. It also clarifies that the tool creates a persistent access rule. Since annotations already indicate mutation (readOnlyHint=false) and non-destructiveness, the description provides extra context without contradicting the structured data.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the main action ('Create a new ACL rule') and includes the crucial prerequisite in parentheses. Every word earns its place; there is no redundancy or filler.

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?

Given the full input schema and annotations, the description provides sufficient context for an agent to understand the tool's purpose and the key requirement (SCRIPTING_ENABLED=true). It doesn't mention return values, but with no output schema defined, this is not critical. The tool is moderately complex (8 params), but the schema fills in the details, making the description adequate.

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?

The schema covers all 8 parameters with individual descriptions (100% coverage), so the parameter semantics are well documented. The description itself adds little beyond the schema, only hinting at the use case rather than explaining any parameters. Thus, the baseline of 3 is appropriate.

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 uses a specific verb ('Create'), names the resource ('ACL rule'), and states the purpose ('to control access to a table or field'). It clearly distinguishes from sibling tools like list_acls, get_acl, and update_acl by emphasizing creation of a new rule.

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?

The description implies when to use the tool (when creating a new ACL rule to manage access) and provides a critical prerequisite (SCRIPTING_ENABLED=true), but it does not explicitly mention alternatives or exclusions (e.g., 'use update_acl to modify an existing rule'). This gives clear context without full when-not guidance.

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

create_approval_ruleA

Create an approval rule that automatically generates approval requests when a record matches given conditions (requires WRITE_ENABLED=true). Uses the sysapproval_rule table.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRule name
tableYesTable this rule applies to (e.g. "sc_request", "change_request")
approver_typeYes"user" | "group" — whether the approver is a user or a group
approverYessys_id of the approving user or group
conditionNoEncoded query that determines when the rule fires (leave blank for always)
activeNoActivate the rule immediately (default: true)
orderNoExecution order relative to other rules (default: 100)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and non-idempotent. The description adds valuable context beyond those annotations: the automatic generation of approval requests, the WRITE_ENABLED=true requirement, and the use of the sysapproval_rule table. This gives the agent a better sense of side effects and prerequisites without contradicting the annotations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, followed by the permission requirement and table detail. Every word earns its place; there is no redundancy or filler.

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?

Given the tool's moderate complexity (7 params all documented, write operation) and the presence of annotations, the description covers the essential behavioral context: what the tool does, a key prerequisite, and the storage table. It does not describe return values, but the lack of an output schema makes that less critical. A small omission is not explicitly mentioning that 'condition' blank means always fire, but that is present in the schema.

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?

The input schema has 100% coverage with each of the 7 parameters described. The description does not provide additional parameter-level detail beyond what the schema already states (e.g., it references 'conditions' which maps to the 'condition' field, but that field is already described as 'Encoded query that determines when the rule fires'). With high schema coverage, a baseline of 3 is appropriate.

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 clear, specific action ('Create an approval rule') with a precise behavioral outcome ('automatically generates approval requests when a record matches given conditions'). It distinguishes this tool from siblings like approve_request or create_flow by focusing on rule creation rather than individual approval or flow automation.

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?

The description clearly implies when to use the tool: when a user needs to set up an automated approval rule based on record conditions. It also notes a prerequisite (WRITE_ENABLED=true) and mentions the underlying table, which aids in context. However, it does not explicitly name alternatives or exclusions (e.g., 'use create_flow for complex routing'), so it stops short of a 5.

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

create_assetB

Create a new IT asset record. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
display_nameYesAsset display name
asset_tagNoUnique asset tag
model_categoryNoCategory sys_id (Hardware, Software, etc.)
modelNoModel sys_id
serial_numberNoSerial number
assigned_toNoUser sys_id
locationNoLocation sys_id
costNoPurchase cost
cost_centerNoCost center sys_id
purchase_dateNoPurchase date (YYYY-MM-DD)

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate this is a write operation (readOnlyHint=false), and the description's '[Write]' adds no extra behavioral detail. It does not mention fields like asset_tag uniqueness, required versus optional parameters, or what happens on creation.

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 a single, front-loaded sentence that is easy to parse. However, the '[Write]' marker is redundant given the annotations, adding slight noise.

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?

With 10 parameters and no output schema, the description is too minimal. It fails to convey important context such as required fields, uniqueness constraints, or expected behavior beyond the schema information.

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 descriptions cover 100% of the parameters, so baseline is 3. The description itself adds no parameter-specific meaning, relying entirely on the schema for details.

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 clearly states 'Create a new IT asset record,' using a specific verb and resource. It distinguishes the tool from siblings like list_assets, get_asset, update_asset, and retire_asset.

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?

No guidance is provided on when to use this tool versus alternatives, no exclusions, and no prerequisites. The description simply states the action without context for selection.

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

create_business_ruleA

Create a new business rule (requires SCRIPTING_ENABLED=true). ServiceNow supports ES2021 async/await in scripts.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRule name
tableYesTable this rule applies to
whenYes"before" | "after" | "async" | "display"
scriptYesServer-side JavaScript. ServiceNow supports ES2021 (async/await, ?., ??).
conditionNoOptional condition script
activeNoWhether to activate the rule (default: true)
orderNoExecution order (default: 100)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the write, non-idempotent, non-destructive nature is pre-disclosed. The description adds the requirement that SCRIPTING_ENABLED must be true, which is a useful behavioral constraint, and notes ES2021 support for scripts. Yet it does not disclose other behaviors like update set context or potential side effects beyond what openWorldHint already suggests.

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

Conciseness5/5

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

The description is compact and front-loaded, with the core action in the first sentence. The second sentence about ES2021 support is a minor detail that does not bloat the description, keeping it appropriately concise.

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

Completeness3/5

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

Given the tool's complexity (7 params, 4 required, no output schema) and good annotations, the description covers the essential action and a key prerequisite. However, it does not mention what the tool returns after creation, nor how it interacts with update sets or other environment settings. This leaves some gaps for a mutation tool.

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?

The input schema provides 100% coverage with descriptions for all 7 parameters, so the baseline is 3. The description's mention of ES2021 support is already present in the script parameter's schema description, so it does not add new meaning to the parameters. It adds no additional information about parameter formats or constraints.

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 opens with 'Create a new business rule', a specific verb+resource that clearly distinguishes it from siblings like update_business_rule, list_business_rules, and get_business_rule. The added prerequisite about SCRIPTING_ENABLED=true provides clarity about the operation's context.

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?

The description implies the tool is for creating new business rules and explicitly notes a prerequisite (SCRIPTING_ENABLED=true). It also provides guidance on script syntax (ES2021 async/await). However, it does not mention alternatives or exclusions, such as using update_business_rule for modifications.

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

create_catalog_itemA

Create a new service catalog item (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCatalog item display name
short_descriptionYesOne-line summary shown in search results
descriptionNoFull HTML description of the item
categoryNosys_id of the catalog category (sc_category)
priceNoPrice (e.g. "0", "99.99")
delivery_timeNoEstimated delivery time ISO 8601 duration (e.g. "1 08:00:00" for 1 day 8 hours)
activeNoMake the item available in the catalog (default: true)
rolesNoComma-separated roles that can see the item

TDQS

A4/5.0
Behavior3/5

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

The description adds the prerequisite 'requires WRITE_ENABLED=true' beyond the annotations, which already indicate this is a write operation (readOnlyHint=false). It does not disclose other behavioral traits like response format or side effects, but the annotation coverage lowers the bar.

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

Conciseness5/5

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

The description is a single sentence that is direct and front-loaded with the action and resource. It avoids unnecessary detail and earns its place.

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?

The schema covers all parameters and annotations provide the safety profile. The description adds the key WRITE_ENABLED prerequisite. While it doesn't mention return values, the absence of an output schema and the straightforward nature of a create operation make this sufficiently complete.

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?

The input schema has 100% coverage with descriptions for all 8 parameters. The tool description itself adds no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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 clearly states the verb ('Create') and resource ('service catalog item'), making it unambiguous. It effectively distinguishes this from sibling tools like update_catalog_item and get_catalog_item.

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?

The description provides a clear context for when to use this tool: it creates a new service catalog item and requires WRITE_ENABLED=true. It doesn't explicitly exclude alternatives, but the purpose is evident from the name and description.

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

create_catalog_ui_policyA

[Write] Create a UI policy for a catalog item form

ParametersJSON Schema
NameRequiredDescriptionDefault
cat_item_idYesCatalog item sys_id
short_descriptionYesUI policy description
conditionsNoEncoded condition query
reverse_if_falseNoReverse actions when condition is false

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the [Write] prefix and the catalog item form scope, but does not disclose additional behavioral details such as whether duplicate policies are allowed or how conditions are evaluated. With annotations present, this level is acceptable but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the verb and scope without any fluff. It is exactly as concise as it needs to be.

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

Completeness3/5

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

This is a simple create operation with four parameters and no output schema. The description covers the core purpose but does not mention the return value or any special behavior (e.g., what happens if the catalog item ID is invalid). It is adequate but lacks additional context that would help an agent understand prerequisites or side effects.

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?

The input schema has 100% description coverage for all four parameters, so the schema already documents each parameter's meaning. The description adds no parameter information beyond that, so it does not compensate or enhance the schema. Baseline 3 is appropriate.

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 uses a specific verb ('Create') and resource ('UI policy') scoped to 'a catalog item form', clearly distinguishing it from the generic create_ui_policy sibling. It is immediately obvious what this tool does and how it differs from similar tools.

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?

The description implies usage: use this when creating a UI policy specifically for a catalog item form. It provides clear context but does not explicitly name alternatives or exclusions, such as 'for other forms use create_ui_policy'. This is clear enough for most cases.

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

create_catalog_variableA

[Write] Add a form variable to a service catalog item

ParametersJSON Schema
NameRequiredDescriptionDefault
cat_item_idYesCatalog item sys_id
nameYesVariable name
question_textYesLabel shown to user
typeYesVariable type: string/reference/select_box/checkbox/date/date_time/integer/multi_line_text/email
orderNoDisplay order (default: 100)
mandatoryNoRequired field

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive nature (destructiveHint=false). The description's '[Write]' prefix is redundant but consistent. However, it provides no additional behavioral context such as behavior on duplicate variable names, whether the variable is appended or replaces, or failure modes. The openWorldHint suggests possible side effects not disclosed.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with a '[Write]' prefix that immediately signals the operation type. It is concise, with no wasted words or redundant information.

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

Completeness3/5

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

With no output schema, the description does not explain what is returned (e.g., the sys_id of the created variable) or any error conditions. It also does not mention the dependency on an existing catalog item beyond the parameter itself. While the schema covers parameter details, the lack of return behavior and side-effect disclosure leaves the description adequate but incomplete for a write operation.

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?

The input schema descriptions cover all six parameters with 100% coverage, including the allowed values for 'type'. The tool description adds no extra parameter semantics beyond what the schema already provides, so the baseline 3 is appropriate.

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 uses a specific verb ('Add') and clearly identifies the resource ('form variable' to a 'service catalog item'). This distinguishes it from sibling tools like create_catalog_item, which creates the item itself, and order_catalog_item, which is a different action.

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 guidance on when to use this tool vs alternatives, nor any prerequisites such as the catalog item already existing. The description merely states what it does, leaving the agent to infer that it should be used as a sub-action for an existing catalog item.

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

create_change_requestB

Create a new change request (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief description of the change
descriptionNoDetailed description and justification
typeYesChange type: "normal", "standard", "emergency"
categoryNoChange category (e.g. "Software", "Hardware", "Network")
riskNo1=High, 2=Medium, 3=Low, 4=Very Low
impactNo1=High, 2=Medium, 3=Low
priorityNo1=Critical, 2=High, 3=Moderate, 4=Low
assignment_groupNoAssignment group name or sys_id
assigned_toNoAssignee username or sys_id
start_dateNoPlanned start date (ISO: YYYY-MM-DD HH:MM:SS)
end_dateNoPlanned end date (ISO: YYYY-MM-DD HH:MM:SS)
implementation_planNoStep-by-step implementation plan
backout_planNoRollback plan if change fails
test_planNoTesting and validation steps
cmdb_ciNoAffected CI sys_id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate that the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the requirement WRITE_ENABLED=true, which is a behavioral constraint beyond the annotations. However, it does not disclose other behavioral traits such as side effects (e.g., triggers notifications, creates relationships) or required permissions beyond the flag. Score 3 because it adds some value but is not comprehensive.

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

Conciseness5/5

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

The description is a single sentence that includes the essential purpose and a key prerequisite. It is concise with no unnecessary words, and the information is front-loaded. Every part earns its place, making it highly efficient for an agent to parse.

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?

Despite having 15 parameters and 2 required, the description provides no overall context about the change request lifecycle, related tools (e.g., submit_change_for_approval), or typical usage scenarios. The schema covers parameters but the description lacks completeness for a complex tool with many siblings. This incomplete context could lead to suboptimal tool selection.

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%, meaning each parameter already has a description in the input schema. The tool description does not add any parameter-specific semantics beyond what the schema provides. Following the rule, the baseline is 3 when coverage is high, and no additional parameter information is provided in the description.

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 clearly states the verb 'create' and the resource 'change request', meeting the specific verb+resource criterion. It adds the prerequisite 'WRITE_ENABLED=true', which aids clarity. However, it does not explicitly differentiate this tool from sibling create tools (e.g., create_incident, create_problem), though the resource name is distinct. Score 4 because it is clear but lacks explicit sibling differentiation.

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?

The description only mentions a prerequisite (WRITE_ENABLED=true) but provides no guidance on when to use this tool versus alternatives, such as update_change_request or submit_change_for_approval. There is no indication of exclusions or recommendations. This leaves the agent without context for appropriate usage, resulting in a low score.

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

create_ci_relationshipA

[Write] Create a relationship between two CMDB Configuration Items

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesParent CI sys_id
childYesChild CI sys_id
typeYesRelationship type (e.g. "Runs on::Runs")

TDQS

A3.5/5.0
Behavior2/5

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

The description's '[Write]' prefix aligns with readOnlyHint=false but adds no behavioral details beyond what annotations already convey—such as failure modes, uniqueness constraints, or side effects. It neither enriches nor contradicts the annotations.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. Compact and to the point.

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

Completeness3/5

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

While simple, the description omits details like whether existing relationships are checked, required permissions, or the return value. For a 3-parameter create tool with no output schema, it is minimally adequate but not fully complete.

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?

The input schema covers all three parameters (type, child, parent) with descriptions, so the description adds no additional parameter semantics. Baseline 3 applies due to 100% schema coverage.

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 uses the specific verb 'Create' and identifies the resource as 'a relationship between two CMDB Configuration Items,' clearly distinguishing it from read-only sibling tools like list_relationships and get_cmdb_ci.

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 description provides no guidance on when to use this tool versus alternatives, such as checking existing relationships with list_relationships first. Usage is only implied by the verb 'Create.'

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

create_client_scriptA

Create a new client script (onLoad, onChange, onSubmit, onCellEdit) (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesScript name
tableYesTable this client script applies to
typeYes"onLoad" | "onChange" | "onSubmit" | "onCellEdit"
scriptYesClient-side JavaScript. Use g_form, g_user, etc.
field_nameNoField name (required for onChange/onCellEdit)
activeNoWhether to activate the script (default: true)
globalNoRun script globally (default: false)

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate it is a write operation (readOnlyHint=false) and non-destructive. The description adds the key environmental requirement of SCRIPTING_ENABLED=true and the allowable script types, which are not present in annotations. This provides useful behavioral context beyond the structured metadata.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the essential purpose and includes the prerequisite inline. Every word contributes value, with no filler or redundancy.

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

Completeness3/5

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

The schema is rich, but the description omits usage context and does not mention that 'active' defaults to true, which could lead to unintentional activation. It covers the basic purpose and requirement but lacks guidance on when to choose this tool over siblings or the side effects of creation, so it is adequate but not complete.

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?

The schema has 100% coverage with individual parameter descriptions, so the description does not need to duplicate them. The parenthetical list of script types adds some context for the 'type' parameter, but overall the description adds minimal meaning beyond the schema, earning the baseline 3.

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 clearly states the action ('Create') and the resource ('client script'), and enumerates the specific script types (onLoad, onChange, onSubmit, onCellEdit). It distinguishes this tool from siblings like create_business_rule and create_script_include by being client-script-specific.

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 description implies usage by naming the resource type, and mentions a prerequisite (SCRIPTING_ENABLED=true), but does not explicitly state when to use it versus alternatives like create_ui_policy or update_client_script. No exclusions or alternative recommendations are provided, leaving usage guidance primarily implicit.

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

create_csm_caseA

Create a new Customer Service case (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief summary of the customer issue
accountNoAccount name or sys_id
contactNoContact name or sys_id (the person raising the case)
categoryNoCase category (e.g., "Product", "Billing", "Technical")
subcategoryNoCase subcategory
priorityNo1=Critical, 2=High, 3=Moderate, 4=Low
descriptionNoDetailed description of the customer issue
productNoProduct or service sys_id related to the case
assignment_groupNoCSM assignment group

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate that this is a write operation (readOnlyHint=false), non-destructive, and non-idempotent. The description adds the permission requirement 'WRITE_ENABLED=true', which is useful but does not significantly expand on behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, short sentence that conveys the purpose and a key prerequisite with no unnecessary words. It is perfectly concise and front-loaded with essential information.

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

Completeness3/5

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

Given the tool has 9 parameters and no output schema, the description is minimal. It covers the basic purpose and a permission requirement but lacks details on return values, typical usage patterns, or how it fits with other CSM tools. It is adequate but not comprehensive.

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%, meaning all 9 parameters have descriptions in the schema. The tool description does not add any additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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 clearly states the verb 'Create' and the resource 'Customer Service case', distinguishing it from sibling tools like get_csm_case, update_csm_case, and close_csm_case. The tool name and description align perfectly.

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?

The description explicitly mentions a prerequisite condition 'requires WRITE_ENABLED=true', which guides the agent on when to use this tool. However, it does not provide explicit guidance on when not to use it or compare it to alternative tools.

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

create_dashboardA

Create a new Performance Analytics dashboard (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDashboard name
descriptionNoBrief description of the dashboard
rolesNoComma-separated roles that can view this dashboard (leave blank for all)
activeNoActivate the dashboard immediately (default: true)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate a non-read-only, non-destructive write operation. The description adds the key prerequisite of WRITE_ENABLED=true, which is valuable context beyond what annotations provide. This is a meaningful behavioral constraint for the agent.

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

Conciseness5/5

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

The description is a single sentence with no extraneous words. The verb and resource are front-loaded, and the requirement is a parenthetical addition that doesn't clutter the main purpose.

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

Completeness5/5

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

For a create operation with comprehensive schema descriptions and annotations, this description provides the essential context: what it does and a required permission. No output schema exists, so return value details aren't expected. The description is complete for its purpose.

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 coverage is 100% with descriptive comments for all 4 parameters. The description doesn't add param-specific details, but with full schema coverage, the baseline of 3 is appropriate.

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 clearly states 'Create a new Performance Analytics dashboard', specifying the action, resource, and domain. It distinguishes itself from sibling tools like update_dashboard and list_pa_dashboards, and the parenthetical requirement adds precision.

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?

The description provides a clear context for use (creating dashboards) and includes a prerequisite (WRITE_ENABLED=true). However, it does not explicitly name alternatives or state when not to use it, but the context is strong enough for a create tool.

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

create_devops_changeA

Create a change request linked to a DevOps deployment for change governance. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesChange short description
pipelineNoPipeline name or sys_id
environmentYesTarget environment (prod, staging, dev)
artifactNoArtifact name or version being deployed
typeNoChange type: normal, standard, emergency
assigned_toNoUser sys_id
assignment_groupNoGroup sys_id

TDQS

A4/5.0
Behavior4/5

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

The description reveals that the created change request will be 'linked to a DevOps deployment,' which is a behavioral detail beyond the annotations. Annotations (readOnlyHint: false, idempotentHint: false, destructiveHint: false) already indicate a non-read, non-idempotent, non-destructive write operation, and the [Write] marker is consistent but redundant. The linking behavior is useful additional context.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. The [Write] marker is redundant given the annotations, but the overall length is appropriate and every word earns its place.

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 create tool with 7 parameters, all documented in the schema, and with annotations covering safety, the description covers purpose and the linking behavior. There is no output schema, but that is typical for create operations. It is sufficient for an agent to understand when and how to use the tool, though it could briefly mention required parameters.

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?

The input schema provides descriptions for all 7 parameters (100% coverage), so the baseline is 3. The description does not add parameter-specific details, though the phrase 'linked to a DevOps deployment' loosely implies that parameters like pipeline/artifact are relevant to establishing that link.

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 uses the specific verb 'Create' with a clear resource: 'a change request linked to a DevOps deployment for change governance.' This distinguishes it from the sibling tool create_change_request, which is a general change request tool, by specifying the DevOps linkage and governance purpose.

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 description implies usage for creating change requests connected to DevOps deployments but does not explicitly state when to use it instead of alternatives like create_change_request, nor does it mention when not to use it. It lacks explicit exclusions or alternative references.

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

create_epicA

Create a new epic (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesEpic title
descriptionNoEpic description and goals
projectNoProject sys_id

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false. The description adds the WRITE_ENABLED=true requirement, which is useful context not captured by annotations. However, it does not disclose other behavioral traits like return value or side effects, so credit is partial.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no filler. It is appropriately concise for a simple tool.

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

Completeness3/5

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

The tool is simple with full schema coverage and annotations. However, it lacks usage guidance and does not explain the return value (no output schema exists). Still, for a straightforward create operation, the provided information is reasonably complete.

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 three parameters are already documented. The tool description adds no parameter semantics beyond the schema, so the baseline score of 3 is appropriate.

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 'Create a new epic' uses a specific verb and resource, clearly distinguishing it from siblings like update_epic and list_epics. The purpose is unambiguous and immediately clear.

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?

The description provides no guidance on when to use this tool versus alternatives such as update_epic or create_story. The only extra information is the WRITE_ENABLED=true prerequisite, which is not usage guidance.

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

create_flowB

Create a new Flow Designer flow. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFlow name
descriptionNoFlow description
trigger_typeNoTrigger type: record, schedule, inbound_email, rest (default record)
trigger_tableNoTrigger table (for record triggers)
scopeNoApplication scope

TDQS

B3.3/5.0
Behavior2/5

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

The description adds no behavioral context beyond what annotations already provide. It repeats the write nature ('[Write]') which is already indicated by readOnlyHint: false, and fails to mention important traits such as the flow being created in draft state (since publish_flow exists) or any permissions needed. With annotations covering the safety profile, the description contributes no extra transparency.

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 a single short sentence and is very concise, with no wasteful language. However, the '[Write]' tag is redundant given the annotation readOnlyHint: false, slightly reducing the efficiency of the text.

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?

No output schema is provided and the description does not mention return values or post-creation state (e.g., whether the flow is active or draft). Given the sibling tool publish_flow, the description should clarify that create_flow likely creates an inactive flow, but it does not. This is a significant lack of context for a mutation tool with no output schema.

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% for all 5 parameters, so the schema fully documents each parameter. The description adds no additional semantic meaning for the parameters (e.g., how they interact or required fields beyond 'name'), so it does not compensate or enrich beyond the schema.

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 clearly states the action (create) and the resource (Flow Designer flow), with a specific verb+resource combination. It distinguishes itself from sibling tools like update_flow, list_flows, and get_flow by explicitly targeting the creation of a new flow.

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 description implies usage when the goal is to create a new flow, but provides no explicit guidance on when to use this vs. alternatives like create_subflow or create_flow_action. No exclusions or alternative recommendations are given, so the context is implied rather than explicit.

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

create_flow_actionA

Create a custom Flow Designer action. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAction name
descriptionNoAction description
inputsNoInput definitions [{name, type, mandatory}]
outputsNoOutput definitions [{name, type}]
scriptNoAction script body

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, so the write nature is known. The description adds a '[Scripting]' tag, which gives a hint about the target audience, but does not disclose additional behavioral traits such as permissions, validation, or side effects. No contradiction exists.

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

Conciseness5/5

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

The description is extremely concise: a single sentence plus a tag. It is front-loaded and wastes no words, fitting the standard for efficient descriptions.

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

Completeness3/5

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

While the schema covers parameters and annotations provide safety hints, the description lacks information about return values, prerequisites, or any special context needed for scripting. For a creation tool with multiple parameters, this is adequate but leaves some gaps.

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?

The description does not add any meaning beyond the input schema, which already documents all five parameters with descriptions. Since schema description coverage is 100%, the baseline of 3 is appropriate; no extra value is provided.

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 clearly states the tool creates a custom Flow Designer action, using a specific verb and resource. It distinguishes from the sibling create_flow and other create tools by explicitly naming the artifact type (action).

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?

No usage guidance is provided. The description does not explain when to use this tool versus alternatives like create_flow or create_subflow, nor any prerequisites or context for creating an action.

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

create_grc_riskA

Create a new GRC risk entry. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRisk name
categoryYesRisk category
descriptionNoRisk description
impactNoImpact score (1-5)
likelihoodNoLikelihood score (1-5)
ownerNoRisk owner user sys_id

TDQS

A3.7/5.0
Behavior2/5

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

Beyond the annotations (readOnlyHint:false, destructiveHint:false), the description adds only '[Write]', which is redundant. It does not disclose non-idempotency, validation rules, or what the response contains. No additional behavioral context is offered.

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

Conciseness5/5

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

The description is a single, short sentence plus a minimal '[Write]' marker. It is front-loaded with the primary purpose and contains zero unnecessary words.

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

Completeness3/5

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

For a simple create operation with full schema coverage and annotations, the description is minimally adequate. However, it does not mention that each call creates a distinct record, possible return values, or any prerequisites beyond the schema, leaving a moderate gap.

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?

The input schema describes all 6 parameters with full coverage (100%), including names and descriptions. The tool description contributes nothing about parameters, so the baseline of 3 is appropriate.

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 'Create a new GRC risk entry' uses a specific verb and resource, clearly distinguishing it from sibling tools like list_grc_risks and get_grc_risk. There is no ambiguity about what operation this performs.

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?

The description does not explicitly name alternatives or exclusions, but the create verb and the sibling set (list/get only) make it clear this is the tool for adding a new risk. Context is clear, though no direct comparison is provided.

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

create_groupA

Create a new assignment group (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesGroup name
descriptionNoGroup description
managerNoManager user_name or sys_id

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the mutation is expected. The description adds the critical behavioral requirement of WRITE_ENABLED=true, which is not in the annotations. This is useful context that goes beyond structured data, though it does not describe side effects or response behavior.

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

Conciseness5/5

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

The description is a single, focused sentence that conveys the purpose and a key prerequisite. No wasted words; it is appropriately sized for a simple create operation.

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?

The tool is simple, schema covers all parameters, and no output schema exists. The description provides the essential purpose and the WRITE_ENABLED constraint. It could have elaborated on expected return values, but for a straightforward create operation, the information is sufficient.

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% with clear descriptions for all three parameters (name, manager, description). The description adds no additional parameter meaning beyond what is already in the schema, so the baseline of 3 is appropriate.

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 uses the specific verb 'Create' with a clear resource 'assignment group', distinguishing it from related group management tools like update_group or add_user_to_group. It also adds a useful operational condition (WRITE_ENABLED=true) that clarifies the intended use.

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 usage is implied by the verb 'Create' and the tool name, but there is no explicit guidance on when to use this vs. alternatives such as update_group for existing groups. The WRITE_ENABLED requirement is a prerequisite, not a usage guideline. No exclusions or when-not-to-use guidance is provided.

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

create_hr_caseB

Create a new HR Service Delivery case (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief description of the HR request
hr_serviceYesHR service sys_id or name (e.g. "Onboarding", "Offboarding")
subject_personNoUser sys_id or username the case is about
descriptionNoFull details of the HR request
assignment_groupNoHR assignment group name or sys_id
priorityNo1=Critical, 2=High, 3=Moderate, 4=Low

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate it's a write operation (readOnlyHint=false). Description adds the WRITE_ENABLED requirement, which is useful. However, it doesn't disclose side effects like triggering workflows or notifications.

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

Conciseness5/5

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

Single sentence, no unnecessary words. The requirement is front-loaded. Excellent conciseness.

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?

No output schema and no mention of return values or success/error responses. With 6 parameters and many similar sibling tools, the description should provide more context (e.g., what the response includes, example usage).

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?

All 6 parameters have descriptions in the input schema, so schema coverage is 100%. The description adds no additional meaning beyond what's already provided in the schema.

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 clearly states the action 'Create' and the resource 'HR Service Delivery case'. It distinguishes from sibling tools like update_hr_case or close_hr_case. The additional requirement note does not detract.

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?

No guidance on when to use this tool versus alternatives like create_hr_task or other creation tools. The WRITE_ENABLED requirement is a precondition, not usage context.

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

create_hr_taskA

Create a task within an HR case (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
hr_case_sysidYessys_id of the parent HR case
short_descriptionYesBrief description of the task
assigned_toNoUser sys_id or username to assign the task to
due_dateNoDue date in ISO 8601 format

TDQS

A4/5.0
Behavior3/5

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

The description aligns with annotations (readOnlyHint=false) and adds a permission requirement (WRITE_ENABLED=true), but does not elaborate on side effects, return values, or other behavioral traits. Since annotations already indicate a write operation, the added value is moderate.

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

Conciseness5/5

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

The description is a single, efficient sentence that conveys the action and a key prerequisite with no filler or redundant information. It is front-loaded with the verb and resource.

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 simple create operation with fully described parameters and safety annotations, the description is adequate. It could mention that the task is created as a child record of the HR case, but this is implied by 'within an HR case.' The absence of an output schema reduces the need for return-value details.

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?

The input schema has 100% description coverage for all 4 parameters, so the description does not need to add parameter details. It provides the baseline level of clarity without adding extra meaning.

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 clearly states the action ('Create') and the resource ('a task within an HR case'), which is specific and distinguishes it from sibling tools like create_hr_case (creates a case) and list_hr_tasks (lists tasks). The scope is precise and unambiguous.

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?

The description provides a clear context (creating tasks inside HR cases) and a prerequisite (WRITE_ENABLED=true), which implies when it can be used. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of full guidance.

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

create_import_set_rowA

Insert a row into an Import Set staging table for later transformation (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
staging_tableYesStaging table name (e.g. "u_import_incident"). Must already exist.
dataYesKey-value pairs for the staging table row

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds the WRITE_ENABLED=true requirement and clarifies the row is staged for later transformation, which is useful. However, it does not disclose return values, error behavior, or validation details, so it provides only moderate additional transparency.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant wording. It states the core action, the target, the purpose, and a necessary requirement in one concise line.

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

Completeness3/5

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

The description covers the essential purpose and a prerequisite. However, it does not mention what the tool returns (e.g., the created row's sys_id), which is notable since there is no output schema. Error behavior and how the data parameter maps to columns are also not addressed, leaving some gaps for a simple tool.

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 coverage is 100%, with both parameters described adequately (staging_table has an example and a constraint; data is described as 'Key-value pairs'). The description adds no extra parameter semantics, but since the schema carries the burden, a baseline score of 3 is appropriate.

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 clearly states the action ('Insert'), the target ('an Import Set staging table'), and the purpose ('for later transformation'), distinguishing it from generic record creation tools like create_record. It is specific and unambiguous.

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?

The description provides clear context: the row is inserted for later transformation, implying it is a preparatory step before running a transform map. It also states a required prerequisite (WRITE_ENABLED=true). It does not explicitly mention alternatives or when not to use it, but the context is sufficient.

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

create_incidentA

Create a new incident record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief description of the issue
urgencyNo1=High, 2=Medium, 3=Low
impactNo1=High (enterprise-wide), 2=Medium (department), 3=Low (individual)
priorityNo1=Critical, 2=High, 3=Moderate, 4=Low
descriptionNoDetailed description
assignment_groupNoAssignment group name or sys_id
caller_idNoCaller user name or sys_id
categoryNoIncident category
subcategoryNoIncident subcategory

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive. The description adds the prerequisite condition (WRITE_ENABLED=true), which is valuable context beyond annotations. However, it does not disclose what the tool returns (e.g., created record sys_id) or mention side effects like notifications, leaving behavioral transparency adequate but not excellent.

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

Conciseness5/5

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

The description is a single sentence with a parenthetical condition, containing zero unnecessary words. It is well front-loaded with the verb and resource, making it exceptionally concise and easy to parse.

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

Completeness3/5

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

For a tool with 9 parameters and no output schema, the description is minimal. It covers the core purpose and a key prerequisite, but does not explain return values or typical usage flow. Given the complexity, a bit more context (e.g., 'Returns the sys_id of the created incident') would improve completeness, but it is not severely lacking.

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?

The input schema covers all 9 parameters with descriptions, achieving 100% coverage. The description does not add any parameter-specific details beyond the schema, so it does not compensate further. Baseline 3 is appropriate given schema richness.

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 clearly states the verb 'Create' and the resource 'incident record', making the purpose unmistakable. It also mentions the prerequisite condition ('requires WRITE_ENABLED=true'), which further clarifies the tool's use. Given the sibling tools (update_incident, close_incident, etc.), it effectively distinguishes itself.

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 description provides one key prerequisite ('WRITE_ENABLED=true'), which is helpful but does not offer broader guidance on when to use this tool versus alternatives like update_incident or resolve_incident. No comparison to siblings or exclusions are provided, so the agent must infer context from the tool name alone.

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

create_knowledge_articleB

Create a new knowledge article (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesArticle title
textYesArticle body (HTML or plain text)
knowledge_base_sys_idYessys_id of the target knowledge base
categoryNoArticle category

TDQS

B3.2/5.0
Behavior3/5

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

The description adds the 'requires WRITE_ENABLED=true' requirement, which is not present in annotations. However, it does not disclose other behavioral traits such as return values, error conditions, or side effects. Annotations already cover readOnly and destructive hints, so the additional context is limited but nonzero.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. It states the core action and a key prerequisite efficiently, making every word valuable.

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?

The description is too sparse for a create operation. It does not mention what the response contains (e.g., sys_id of the created article) or any potential side effects. Since there is no output schema, the description carries the burden of explaining return behavior, which it fails to do. The schema covers parameters, but the overall context remains incomplete.

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?

The input schema already provides descriptions for all 4 parameters (100% coverage), so the description does not need to add parameter details. It adds no additional meaning beyond what the schema provides, yielding the baseline score of 3.

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 clearly states the action ('Create a new knowledge article') and the resource. It does not explicitly differentiate from sibling tools like update_knowledge_article or publish_knowledge_article, but the verb 'create' is unambiguous and distinct enough.

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?

No guidance on when to use this tool versus alternatives. The parenthetical 'requires WRITE_ENABLED=true' is a precondition, not a usage scenario, and there is no mention of using update for existing articles or publish for lifecycle transitions.

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

create_kpiC

[Write] Create a Key Performance Indicator from ServiceNow data

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesKPI name
tableYesSource table
fieldNoAggregate field
aggregateYesAggregate function: COUNT/AVG/SUM/MIN/MAX
conditionsNoEncoded query filter
unitNoDisplay unit

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already indicate readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write operation. The description's '[Write]' tag merely duplicates that annotation without adding further behavioral context such as side effects, required permissions, or what happens to existing data. It adds no new information beyond the structured data.

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 a single, front-loaded sentence with no wasted words. The '[Write]' tag is arguably redundant, but the structure is efficient. It could have packed more useful information in the same space, so it doesn't earn a 5.

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 six parameters and no output schema, this description is woefully incomplete. It does not explain what the tool returns (e.g., the created KPI object or an ID), any special behavior, or how it fits with sibling tools like create_pa_indicator. Given the tool's complexity, the description provides insufficient context for an agent to invoke it correctly with confidence.

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?

Input schema coverage is 100%, so all six parameters (name, unit, field, table, aggregate, conditions) have descriptions. The description does not elaborate on parameter semantics, but the schema already carries that burden, making a baseline score of 3 appropriate. No additional insight is provided in the description.

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 clearly states the action (Create) and resource (Key Performance Indicator), with an additional scoping phrase 'from ServiceNow data' that adds context beyond the tool name. However, it does not distinguish itself from sibling tool 'create_pa_indicator', which likely overlaps in purpose, so it misses the top score.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when to prefer create_kpi over create_pa_indicator, or any other contextual usage direction. The description leaves the agent to infer usage solely from the name.

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

create_mobile_app_configB

Create a new mobile app configuration. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesApp name
descriptionNo
branding_colorNoPrimary colour hex

TDQS

B3.3/5.0
Behavior2/5

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

The description adds no behavioral context beyond what annotations already indicate. The annotation readOnlyHint=false already signals a write operation, and the '[Write]' tag in the description merely reinforces that without adding details about side effects, uniqueness constraints, or what happens to existing configurations. It does not contradict annotations, but provides minimal extra value.

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

Conciseness5/5

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

The description is a single, direct sentence plus a short marker. It is front-loaded with the key information (action and object) and contains no filler, making it highly concise and easy to parse.

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

Completeness3/5

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

This is a simple create operation with 3 parameters and no output schema. The description is minimal but not misleading. However, it lacks any context about what a mobile app configuration entails, how it relates to sibling tools like list_mobile_app_configs, or any constraints on the fields. This is acceptable for a basic tool but leaves room for improvement.

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?

The schema already documents 'name' and 'branding_color' with descriptions, covering 67% of parameters. The tool description does not add any parameter-specific information, so it relies on the schema. Since coverage is moderate and the description is silent, a baseline of 3 is appropriate—neither enhanced nor compensated.

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 clearly states the action: 'Create a new mobile app configuration.' This uses a specific verb ('Create') and a specific resource ('mobile app configuration'), distinguishing it from sibling tools like list_mobile_app_configs and get_mobile_app_config, which have different purposes.

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?

No guidance is provided on when to use this tool versus alternatives such as create_mobile_applet or create_mobile_layout. There is no mention of prerequisites, required permissions, or scenarios where this tool is preferred, leaving the agent to infer usage 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.

create_mobile_appletA

Create a mobile applet in a mobile app. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesApplet name
tableYesApplet data table
iconNoApplet icon
app_configNoParent app config sys_id

TDQS

A3.5/5.0
Behavior3/5

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

The '[Write]' label is redundant with the annotations (readOnlyHint=false), and the description adds no additional behavioral context such as side effects, permissions, or irreversibility. However, it does not contradict the annotations.

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

Conciseness5/5

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

The description is one short sentence plus the [Write] tag, containing no fluff or redundancy. It is concise and front-loaded with the primary action.

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

Completeness3/5

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

For a simple create operation with strong schema coverage and no output schema, the description is minimally viable. However, it does not clarify relationship to mobile app configs or any behavioral nuances, making it adequate but not complete.

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 four parameters are documented in the input schema. The description adds no extra parameter meaning, so the baseline of 3 is appropriate.

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 clearly identifies the action (create) and the resource (mobile applet) within a mobile app, distinguishing it from sibling tools like create_mobile_app_config and create_mobile_layout. It is specific and unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives, prerequisites, or context. The description simply states the action without any usage context or exclusions.

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

create_mobile_layoutC

Create a mobile layout for a specific view. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLayout name
tableYesTarget table
typeNoLayout type: list, form, detail

TDQS

C2.9/5.0
Behavior2/5

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

The description's '[Write]' tag merely restates what is already implied by readOnlyHint=false and does not add meaningful behavioral context. No information is given about side effects, permission requirements, or handling of existing layouts, though annotations already cover the basic write safety profile.

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 one short sentence plus a tag, with no filler. It is minimally sized but not excessively verbose; however, it is arguably too terse to provide substantial value.

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?

With no output schema and a very sparse description, the agent lacks information about return values, error conditions, or how 'view' corresponds to parameters. The openWorldHint=true suggests unknown behaviors that are not explained, leaving the description incomplete for a create tool.

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?

The input schema covers all three parameters with descriptions (100% coverage). The tool description adds no additional parameter semantics beyond what the schema provides, and the phrase 'specific view' does not clearly map to the 'table' or 'type' parameters.

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 uses a specific verb ('create') and resource ('mobile layout') with context ('for a specific view'), clearly distinguishing it from list_mobile_layouts and other creation tools like create_mobile_applet. However, 'specific view' is ambiguous and not defined in the description, preventing a perfect score.

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?

No guidance is provided on when to use this tool versus alternatives such as create_mobile_applet or list_mobile_layouts. There is no mention of prerequisites, intended scenarios, or exclusions.

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

create_notificationA

Create a new email notification definition (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNotification name
tableYesTable that triggers this notification (e.g. "incident")
eventNoEvent name that fires this notification (e.g. "incident.commented")
subjectNoEmail subject line (supports ${field} variables)
message_htmlNoHTML body of the email notification
recipientsNoWho receives the email (e.g. "assigned_to", "watch_list")
activeNoWhether to activate immediately (default true)
conditionNoAdditional filter condition script

TDQS

A4/5.0
Behavior3/5

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

Annotations already convey that this is a write operation (readOnly=false) and non-idempotent. The description adds the WRITE_ENABLED=true requirement, which is a useful operational constraint not fully captured by annotations. However, it does not disclose potential side effects, validation behavior, or response format.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that communicates the action and a key prerequisite without any redundant wording. It earns its place and is immediately scannable.

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?

Given the rich 100% schema coverage and annotations (readOnly=false, idempotent=false), the description provides the essential extra context (WRITE_ENABLED=true). It does not describe return values, but no output schema exists and this is a common create operation, making the description adequate.

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?

The input schema provides full descriptions for all 8 parameters (100% coverage), so the description does not need to add parameter-level semantics. The description itself adds no parameter context beyond the tool's purpose, which is acceptable given the schema completeness.

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 explicitly states the action and resource: 'Create a new email notification definition'. This clearly identifies the verb (create) and the object (email notification definition), distinguishing it from siblings like update_notification and list_notifications.

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?

The description provides clear context: use this tool to create a new email notification. It also includes a prerequisite (WRITE_ENABLED=true) that sets a usage condition. While it does not explicitly mention alternatives or exclusions, the context is unambiguous for a create operation.

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

create_offboarding_caseB

Create an employee offboarding case with exit tasks. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
employee_sys_idYesDeparting employee user sys_id
last_dayYesLast working day (ISO 8601)
reasonNoOffboarding reason (resignation, termination, retirement)
managerNoManager user sys_id

TDQS

B3.4/5.0
Behavior2/5

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

The description adds '[Write]' but that's redundant with readOnlyHint=false in annotations. It does not disclose any side effects, permissions, or what 'exit tasks' entail. Beyond the basic action, there is no behavioral detail.

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

Conciseness5/5

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

One sentence, directly states action, no filler. The '[Write]' tag is a useful quick cue. Ideal length.

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?

No output schema exists, and the description doesn't indicate what the response will be (e.g., created case sys_id). It also lacks context about employee validation, offboarding process steps, or prerequisites. Given the tool's complexity (4 params) and having a close sibling (create_onboarding_case), additional context would be necessary for an agent to confidently invoke.

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 describes all 4 parameters (reason, manager, last_day, employee_sys_id) with clear meanings. The tool-level description adds no additional semantics, so according to baseline (100% coverage) score is 3.

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 uses 'Create an employee offboarding case with exit tasks' – a specific verb (create), a clear resource (offboarding case), and a distinctive scope (exit tasks). This distinguishes it from sibling tools like create_onboarding_case, which deals with arrivals.

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?

No explicit guidance about when to use this tool over alternatives like create_onboarding_case or create_hr_case. The description only implies usage via the name and action; there are no exclusions, prerequisites, or comparisons.

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

create_onboarding_caseA

Create an employee onboarding case with all standard tasks. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
employee_sys_idYesNew employee user sys_id
start_dateYesStart date (ISO 8601)
departmentNoDepartment name or sys_id
managerNoManager user sys_id
locationNoOffice location
job_titleNoJob title

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive or idempotent. The description adds the key behavioral detail that it creates a case 'with all standard tasks', which goes beyond annotations. However, it does not disclose potential side effects, such as notifications or auto-assignments, even though openWorldHint=true suggests possible external effects. The annotations lower the bar, and the description provides some added context, so a 3 is appropriate.

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

Conciseness5/5

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

The description is a single, focused sentence that clearly conveys the tool's purpose. It includes the unnecessary '[Write]' tag, but that is minor. It is concise, front-loaded, and free of fluff, earning a maximum score.

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

Completeness3/5

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

The tool has a simple intent and all parameters are documented in the schema, but there is no output schema or mention of return values. The description does not clarify what happens after creation (e.g., whether a case ID is returned or if any prerequisites like employee existence are checked). Given the 100% schema coverage and existing annotations, the description is adequate but leaves some gaps in operational context.

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?

The schema provides 100% coverage for all six parameters, so the baseline is 3. The description does not add any parameter-specific information, merely referring to the overall action. Since the schema already documents each parameter adequately, the description's contribution is minimal but not missing.

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 clearly states the tool's action: creating an employee onboarding case, and specifies that it includes all standard tasks. This distinguishes it from sibling tools like create_offboarding_case and create_hr_case, making the purpose unambiguous.

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?

The description provides clear context for when to use this tool (when onboarding an employee), but it does not explicitly mention alternatives or exclusions. It is clear enough for the agent to infer appropriate use, but lacks the explicit 'use this instead of X' guidance that would earn a 5.

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

create_portalA

Create a new Service Portal configuration (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesHuman-readable portal title
url_suffixYesURL path segment for the portal (e.g. "myportal" → /myportal)
default_homepageNosys_id of the default homepage sp_page record
themeNosys_id of the sp_theme to apply
logoNosys_id of the logo attachment record
descriptionNoShort description of the portal

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not idempotent. The description adds the critical prerequisite 'requires WRITE_ENABLED=true', which is beyond the structured annotations. It does not detail what happens on success or failure, but the key behavior—creating a new configuration—is clear.

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

Conciseness5/5

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

The description is a single, focused sentence that states the tool's purpose and a key prerequisite. No filler or redundant content. The most important information is front-loaded.

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 straightforward create operation with a fully self-describing schema and clear annotations, this description is adequately complete. It covers the action, the resource, and a required precondition. It does not mention return values, but no output schema is provided, and typical create behavior is implied.

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?

The input schema has 100% coverage, with each parameter already described (e.g., 'sys_id of the logo attachment record', 'URL path segment for the portal'). The description adds no additional parameter-level information, so the schema carries the full burden, matching the baseline of 3.

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 clearly states 'Create a new Service Portal configuration', which specifies a concrete action (create) on a specific resource (Service Portal configuration). This distinguishes it from sibling tools like create_portal_page, which creates a page within a portal, and list_portals, which retrieves existing portals.

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?

The description provides a clear context for when to use this tool: when a new Service Portal configuration needs to be created. It also adds a prerequisite ('requires WRITE_ENABLED=true'), which is useful guidance. However, it does not explicitly mention alternatives or when not to use it, so it stops short of a 5.

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

create_portal_pageA

Create a new page inside a Service Portal (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPage title
idYesUnique page ID used in the URL (e.g. "my-page")
portal_sys_idYessys_id of the parent Service Portal
descriptionNoBrief description of the page purpose

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate a non-read-only, non-destructive operation. The description adds the permission requirement (WRITE_ENABLED=true), which is useful context. However, it does not elaborate on side effects, the openWorldHint behavior, or what happens if the requirement is not met.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys both the action and a necessary condition. There is no fluff or redundant detail.

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

Completeness3/5

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

With no output schema, the description is minimal but sufficient for a basic create operation. It lacks information about return values or post-conditions, and the openWorldHint annotation remains unexplained, leaving some gaps.

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%, with each parameter (id, title, description, portal_sys_id) adequately described in the schema. The description adds no additional parameter semantics, so it stays at the baseline of 3.

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 clearly states the action ('Create') and the resource ('a new page inside a Service Portal'), which distinguishes it from sibling tools like create_portal_widget and create_portal. It specifies 'new page' to disambiguate from updates.

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?

The description provides a clear prerequisite ('requires WRITE_ENABLED=true'), indicating when the tool is usable. However, it does not explicitly mention alternatives or exclusions (e.g., 'use create_portal_widget for widgets'), leaving some guidance implicit.

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

create_portal_widgetA

Create a new Service Portal widget with template, CSS, and scripts (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable widget name
idYesUnique widget ID/handle (e.g. "my-custom-widget")
templateNoAngular HTML template
cssNoSCSS/CSS styles
client_scriptNoClient-side controller JavaScript
server_scriptNoServer-side script (GlideRecord calls)
option_schemaNoJSON array defining widget options
demo_dataNoJSON object with demo data for preview

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description is not required to restate that. The addition of the WRITE_ENABLED requirement provides operational context beyond the annotations, explaining a critical condition for the tool to function. No contradiction found.

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

Conciseness5/5

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

The description is a single sentence, around 14 words, with the purpose front-loaded and a parenthetical permission note. Every word earns its place; no fluff or repetition.

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 creation tool with 8 parameters and a fully described schema, the description covers the purpose and a key prerequisite. Annotations handle the safety profile. It does not explain return values or widget lifecycle, but the absence of an output schema and presence of complete parameter documentation make the description sufficiently complete.

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?

The input schema has 100% description coverage for all 8 parameters, so the schema already fully documents parameter semantics. The description's mention of 'template, CSS, and scripts' is a high-level summary but does not add meaning beyond what the schema provides. Baseline 3 is appropriate.

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 'Create a new Service Portal widget' with a specific verb and resource, and lists the key content types (template, CSS, scripts). This clearly distinguishes it from sibling read/update tools like list_portal_widgets, get_portal_widget, and update_portal_widget.

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 description provides a prerequisite ('requires WRITE_ENABLED=true') which is a useful usage condition. However, it does not explicitly state when to use this tool versus alternatives like update_portal_widget, leaving usage to be implied by the verb 'create'.

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

create_problemB

Create a new problem record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief description of the problem
descriptionNoDetailed description
assignment_groupNoAssignment group name or sys_id
priorityNo1=Critical, 2=High, 3=Moderate, 4=Low

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate a mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds the WRITE_ENABLED requirement but fails to disclose side effects (e.g., triggers, notifications), error conditions, or what happens upon successful creation.

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?

Single sentence, no wasted words. However, the parenthetical note could be integrated more smoothly. Very concise and front-loaded.

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?

With 4 parameters, 1 required, and no output schema, the description should clarify return value (e.g., sys_id) or success behavior. It lacks completeness for an agent to fully understand the tool's contract.

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 coverage is 100% (all 4 parameters have descriptions). The tool description adds no additional meaning beyond what the schema provides. It does not explain interdependencies or how to determine the assignment_group sys_id.

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 clearly states the verb 'create' and resource 'problem record', and includes a prerequisite (WRITE_ENABLED=true). Among many create_ siblings, it is specific to problems, distinguishing it from tools like create_incident or create_change_request.

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?

No guidance on when to use this tool versus alternatives (e.g., update_problem, resolve_problem). The only hint is the WRITE_ENABLED precondition, but no context on permissions, typical workflow, or when creation is appropriate.

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

create_reportA

Create a new saved report on any table (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesReport title displayed in the list
tableYesTable to report on (e.g. "incident", "change_request")
typeYesReport type: "bar", "column", "pie", "line", "list", "gauge", "single_score", "trend", "pivot", "calHeatmap"
fieldNoPrimary grouping field for the report
queryNoEncoded query to filter report data
aggregateNoAggregate function: COUNT (default), SUM, AVG, MIN, MAX
group_byNoSecondary grouping field (stacked charts)
rolesNoComma-separated roles that can view the report

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate a write operation (readOnlyHint=false), so no contradiction exists. The description adds useful context about the required WRITE_ENABLED setting and that the report is saved, but it does not disclose what the tool returns or whether duplicate titles cause errors.

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

Conciseness5/5

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

The description is a single concise sentence with the key action and prerequisite front-loaded. Every word adds value, and there is no unnecessary elaboration.

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

Completeness3/5

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

No output schema exists, but the input schema is rich and fully describes parameters. The description does not mention return values or validation behavior, and given the moderate complexity (8 params, 3 required), this is a slight gap. It is minimally viable but not comprehensive.

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 coverage is 100%, so the input schema already documents all 8 parameters. The description adds little parameter meaning beyond the phrase "any table," which maps to the 'table' parameter, so the baseline of 3 is appropriate.

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: "Create a new saved report on any table." It distinguishes this from sibling tools like update_report, list_reports, and generate_report by emphasizing "saved" and "any table," making the creation scope clear.

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?

The description does not explicitly say when to use this tool versus alternatives such as generate_report for ad-hoc reports or run_aggregate_query for data exploration. The only guidance is the prerequisite "requires WRITE_ENABLED=true," which is a condition, not usage context.

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

create_rest_messageA

Create a new outbound REST Message definition (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesUnique REST Message name
endpointYesBase URL endpoint (e.g. "https://api.example.com/v1")
descriptionNoPurpose/description of this integration
use_mutual_authNoWhether to use mutual TLS authentication
authentication_typeNoAuth type: "no_authentication", "basic", "oauth2"

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, so the write nature is known. The description adds the 'WRITE_ENABLED=true' prerequisite, which is a useful behavioral constraint. However, it does not mention other side effects or return behavior, though annotations cover the safety profile.

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

Conciseness5/5

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

The description is a single sentence that front-loads the action and includes a key constraint in parentheses. Every word earns its place, with no redundant or vague language.

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 create tool with well-documented schema and annotations, the description adequately conveys purpose and a critical prerequisite. It does not explain return values, but no output schema exists, and the tool's behavior is straightforward. The openWorldHint annotation provides additional context about extensibility.

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?

The input schema has 100% coverage with descriptions for all 5 parameters, so the schema fully documents their meaning. The description adds no parameter-specific guidance, so the baseline score of 3 is appropriate.

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 uses a specific verb 'Create' and a specific resource 'outbound REST Message definition', clearly distinguishing it from sibling tools like list_rest_messages and get_rest_message. The term 'outbound' adds directional context, and 'definition' clarifies it creates a template, not a message instance.

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?

The description explicitly states a prerequisite: 'requires WRITE_ENABLED=true', which is important guidance for the agent before invoking. It does not name alternatives, but given the sibling tool list, the create operation is clearly distinct from list/get functions, and no plausible alternative for creating a REST message exists.

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

create_scheduled_jobA

Create a new scheduled script execution job (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesJob name
scriptYesServer-side JavaScript to run on schedule
run_typeYesSchedule type: "daily", "weekly", "monthly", "once", "periodically"
run_timeNoTime to run (HH:MM:SS format for daily/weekly/monthly)
run_periodNoPeriod interval for "periodically" type (e.g. "00:15:00" for 15 minutes)
activeNoWhether to activate immediately (default: true)

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already indicate this is a write operation (readOnlyHint=false, idempotentHint=false). The description adds the specific WRITE_ENABLED=true prerequisite, which is useful permission context. It does not disclose further side effects like script execution behavior, but given the annotations, this is sufficient.

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

Conciseness5/5

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

The description is a single sentence that states the action and a key requirement. It is front-loaded and wastes no words.

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?

The tool is complex with 6 parameters and no output schema, but the description plus schema cover the primary purpose and requirements. It could mention the return value (e.g., the created job ID), but for a mutation tool with good parameter documentation, it is largely complete.

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?

The input schema provides full descriptions for all 6 parameters, so the schema carries the heavy lifting. The description's phrase 'scheduled script execution job' adds a bit of context about the script parameter's purpose but does not provide additional formatting or semantics beyond the schema.

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 uses the specific verb 'Create' and identifies the resource as 'a new scheduled script execution job', clearly distinguishing it from sibling tools that list, get, update, or trigger scheduled jobs. It also includes a prerequisite requirement, adding to its clarity.

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?

The description states the requirement WRITE_ENABLED=true, which guides when the tool is usable. However, it does not explicitly name alternatives or describe when not to use it, though the sibling tool names imply related operations.

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

create_scheduled_reportB

[Write] Schedule a report for recurring email delivery

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport sys_id
frequencyYesFrequency: daily/weekly/monthly
recipientsYesEmail addresses
day_of_weekNoDay of week (for weekly frequency)
day_of_monthNoDay of month (for monthly frequency)
formatNoExport format: pdf/csv/xlsx

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare write/non-destructive behavior, and the description adds only "[Write]" and "recurring email delivery," which are largely inferable from the tool name and annotations. It does not disclose side effects such as non-idempotency implications, frequency validation, or whether an email is sent immediately.

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

Conciseness5/5

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

The description is a single, well-structured sentence with a useful [Write] marker and no redundant wording. Every word contributes to the core purpose, making it highly concise.

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 tool has 6 parameters and no output schema, yet the description provides only a high-level action. It lacks important context such as conditional parameter requirements (e.g., day_of_week for weekly frequency), expected return values, or behavior when required fields are missing. The description is too sparse for a scheduling operation.

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 coverage is 100%, so the input schema fully documents each parameter's name and description. The description adds no additional parameter semantics beyond the general purpose, so the baseline score of 3 is appropriate.

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 "Schedule a report for recurring email delivery" clearly specifies the verb (schedule), the resource (report), and the delivery mode (recurring email), which differentiates it from generic scheduled job tools. It provides a specific and unambiguous purpose.

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 guidance on when to use this tool versus siblings like schedule_notification, create_scheduled_job, or generate_report. It does not mention prerequisites, alternative tools, or exclusions, leaving the agent without decision support.

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

create_scoped_appA

Create a new scoped application in App Studio (requires WRITE_ENABLED=true). The scope prefix must be unique and follow the pattern x__.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable application name
scopeYesUnique scope prefix, e.g. "x_myco_myapp". Must start with "x_".
versionNoApplication version string (e.g. "1.0.0"). Defaults to "1.0.0".
short_descriptionNoShort description shown in the app list
descriptionNoFull description of the application
vendorNoVendor or author name
activeNoActivate the app immediately (default: true)
logoNoApp logo attachment sys_id (optional)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive behavior. The description adds the WRITE_ENABLED precondition and the scope uniqueness requirement, which are not in annotations. It doesn't disclose return values or side effects, but it adds operational context beyond annotations.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the verb and resource. Every sentence provides necessary information: the action and the critical prerequisites/constraints. No redundant or vague wording.

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 an 8-parameter create tool with no output schema, the description covers the most critical operational constraints (WRITE_ENABLED, scope uniqueness) and the full schema provides parameter details. It does not mention return values or post-creation behavior, but the annotations and schema fill most gaps.

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 coverage is 100% with descriptions for all 8 parameters, so the baseline is 3. The description adds a slightly more specific naming pattern for scope (x_<vendor>_<appname>) but otherwise relies on the schema to convey parameter meaning.

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 clearly states the action ('Create') and the resource ('scoped application in App Studio'), using a specific verb-noun pair. It distinguishes from sibling tools like list_scoped_apps and update_scoped_app by focusing on creation and adding the scope prefix pattern.

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?

Provides a clear prerequisite (WRITE_ENABLED=true) and a naming constraint (scope must be unique and follow x_<vendor>_<appname>), which are conditions for use. It does not explicitly name alternatives or when-not-to-use, but the domain is clear enough for an agent to choose this over list/get/update.

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

create_script_includeA

Create a new script include (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesScript include name
scriptYesScript body (class definition). ServiceNow supports ES2021.
api_nameNoAPI name used to call this from other scripts
accessNo"public" or "package_private" (default: "public")
activeNoWhether to activate (default: true)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations indicate mutable (readOnlyHint=false) and not destructive; description adds the requirement for SCRIPTING_ENABLED=true, which is beyond annotations. No contradictions.

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

Conciseness5/5

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

Single sentence, front-loaded with the action and a key condition. Every word is useful.

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?

With no output schema and full schema parameter descriptions, the description is complete enough. Missing details like the expected script format are covered by the schema's 'class definition' hint.

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 coverage is 100% with descriptions for all parameters. The description does not add additional meaning beyond the schema.

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?

Clearly states 'Create a new script include' with a verb and resource. However, it does not distinguish from sibling tools like update_script_include or other create_* tools.

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?

Mentions a prerequisite (SCRIPTING_ENABLED=true) which provides some usage context. But lacks guidance on when to use this vs alternatives (e.g., create_business_rule).

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

create_scrum_taskA

Create a scrum task (sub-task of a story) (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesTask title
story_sys_idNoParent story sys_id
assigned_toNoAssignee user_name or sys_id

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare this as a non-read-only, non-idempotent, non-destructive operation, so the baseline is lower. The description adds the WRITE_ENABLED=true prerequisite, which is useful environmental context, but it does not disclose return behavior, side effects beyond creation, or what happens without required fields. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence, tightly packed with essential information: action, resource, parent relationship, and a key prerequisite. Every word earns its place, with no redundant filler.

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

Completeness3/5

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

Given the simple nature of the tool (3 params, no output schema, annotations present), the description is mostly adequate but leaves some gaps. It does not clarify why story_sys_id is optional despite calling the task a sub-task of a story, nor does it mention what the tool returns or how the WRITE_ENABLED flag affects execution. A bit more context would improve completeness.

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 the schema already fully documents all three parameters. The description adds no additional parameter meaning beyond what the schema provides, but it does not need to; baseline 3 is appropriate.

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 clearly states the action ('Create') and the specific resource ('scrum task') with a clarifying parenthetical that it is a sub-task of a story. This distinguishes it from siblings like create_story and update_scrum_task.

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 description implies usage through its clear create intent but does not explicitly state when to use it versus alternatives (e.g., update_scrum_task for modifications) or when not to use it. The WRITE_ENABLED prerequisite is a useful condition but does not substitute for explicit usage guidance.

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

create_security_incidentA

Create a Security Operations incident (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesBrief description of the security event
categoryYesIncident category (e.g., "Malware", "Phishing", "Data Breach", "Unauthorized Access")
subcategoryNoIncident subcategory
severityNo1=High, 2=Medium, 3=Low
descriptionNoDetailed description of the security incident
affected_cisNoList of affected CI sys_ids
assignment_groupNoSOC team or assignment group

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate non-read-only behavior (readOnlyHint=false). The description adds the WRITE_ENABLED requirement, which is useful but minimal. No mention of side effects or output.

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 a single concise sentence with the core purpose front-loaded. It could be more structured but is efficient.

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?

No output schema, and description does not state what the tool returns (e.g., sys_id). For a creation tool, this is a significant gap. Annotations do not compensate.

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 coverage is 100%, so baseline is 3. Description provides example categories but no additional meaning beyond the schema.

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 clearly states the verb 'Create' and the resource 'Security Operations incident', distinguishing it from siblings like create_incident. It also specifies a prerequisite (WRITE_ENABLED=true).

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?

The description mentions a prerequisite condition, but does not explicitly state when to avoid using this tool or mention alternatives. It provides clear context for use.

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

create_soap_messageA

Create a new outbound SOAP Message definition (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesUnique SOAP Message name
endpointYesSOAP service endpoint URL
wsdlNoWSDL URL for the service (used for schema introspection)
namespaceNoXML namespace for SOAP body elements
soap_action_prefixNoPrefix prepended to all SOAP action headers
authentication_typeNoAuth type: "no_authentication" (default), "basic", "mutual_authentication"
descriptionNoPurpose/description of this integration
activeNoMake active immediately (default: true)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, meaning it's a write operation but not destructive. The description adds the prerequisite 'requires WRITE_ENABLED=true', which is useful beyond annotations. However, no other behavioral traits like side effects or authorization details are disclosed.

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 a single sentence that efficiently conveys the purpose and a key requirement. It is front-loaded and avoids unnecessary detail. However, it could be structured to highlight prerequisites more clearly.

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

Completeness3/5

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

The tool has 8 parameters and no output schema. The description mentions a prerequisite and the type of definition, but it does not explain what a SOAP Message definition is, the return value (e.g., created record ID), or any other contextual details needed for full understanding. Annotations provide some context, but the description is minimal for a complex tool.

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% for all 8 parameters, so the description does not need to add parameter details. The description provides no additional info beyond the schema, which is acceptable given full coverage.

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 clearly states the tool creates a new outbound SOAP Message definition and specifies a prerequisite (WRITE_ENABLED=true). It distinguishes from sibling tools like create_soap_message_function and create_rest_message by specifying 'outbound SOAP Message definition'.

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 description provides a prerequisite (WRITE_ENABLED=true) but does not explicitly state when to use this tool vs alternatives like create_rest_message or create_soap_message_function. No when-not-to-use guidance is given.

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

create_soap_message_functionA

Add a SOAP function (operation) to an existing SOAP Message (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
soap_message_sys_idYesParent SOAP Message sys_id
nameYesFunction name (used in scripts to call this operation)
function_nameYesWSDL operation name (matches the SOAP operation)
soap_actionNoFull SOAP Action header value
soap_message_templateNoSOAP XML request body template with ${variable} placeholders
activeNoMake active immediately (default: true)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds the WRITE_ENABLED requirement, informing the agent of a write operation. However, it does not elaborate on potential side effects or reversibility, but with openWorldHint already signaling side effects, the bar is lower. The description adds some value beyond annotations.

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

Conciseness5/5

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

The description is a single sentence that conveys the purpose and a key requirement with no superfluous information. Every word earns its place, making it highly efficient.

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

Completeness3/5

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

Given moderate complexity (6 parameters, no output schema) and annotations, the description is minimally complete. It states the action and a prerequisite but does not mention return values, confirmation, or the need for an existing parent message (implied by schema). Could be improved but meets basic needs.

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?

All 6 parameters are described in the input schema (100% coverage). The tool description does not add any extra meaning or context for the parameters. Baseline score of 3 is appropriate as the schema already provides sufficient information.

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 clearly states the verb 'Add' and the resource 'SOAP function (operation) to an existing SOAP Message'. It distinguishes from sibling tools like 'create_soap_message' (creates parent) and 'list_soap_message_functions' (lists existing).

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?

The description explicitly mentions the prerequisite 'requires WRITE_ENABLED=true', giving clear context. It implies when to use (add function to existing message) and distinguishes from creating a new message, though it does not explicitly list alternatives or when-not-to-use.

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

create_solution_packageB

Create a solution package from selected update sets for distribution. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name
descriptionNo
update_setsYesArray of update set sys_ids to include

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already signal a write operation (readOnlyHint false). The description adds no behavioral insights beyond restating the purpose; it does not disclose side effects on the included update sets, required permissions, or result of the operation. It provides almost no value over the annotations.

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 a single, front-loaded sentence that conveys the core purpose efficiently. The embedded '[Write]' tag is redundant given the annotations, adding minor noise, but overall structure is compact.

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 creation tool with no output schema, the description lacks essential context: what a solution package is, how 'selected update sets' are processed, what the response looks like, and any prerequisites or lifecycle implications. This leaves the agent under-informed for correct usage.

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 documentation covers 67% of parameters, leaving 'description' undocumented. The tool description does not mention any parameters or clarify their meaning beyond what the schema already states, so it fails to compensate for the gap.

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 clearly states the action (create) and the resource (solution package from selected update sets), and distinguishes this tool from siblings like create_update_set or export_update_set by specifying the packaging/distribution purpose.

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 'for distribution' implies a packing use case, but there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The agent must infer the appropriate context from the name and schema.

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

create_storyA

Create a new agile story/user story (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesStory title
story_pointsNoStory point estimate
sprintNoSprint sys_id or name
epicNoEpic sys_id
descriptionNoStory description and acceptance criteria
assigned_toNoUser sys_id or username

TDQS

A4.2/5.0
Behavior4/5

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

The description adds a key behavioral requirement beyond the annotations: 'requires WRITE_ENABLED=true'. Since readOnlyHint=false already indicates a write operation, this prerequisite supplies additional context about the environment needed for success. It does not contradict any annotations and provides useful operational detail.

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

Conciseness5/5

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

The description is a single, concise sentence that immediately states the action, resource, and a key requirement. Every word is essential, with no filler or redundancy. It is well-structured and front-loaded for quick comprehension.

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 simple create tool with full schema coverage and annotations, the description is largely complete. It covers the core purpose and a critical prerequisite. While it does not describe return values or additional behavioral details, these are not essential given the schema and annotations. A slightly richer description could mention what happens on success, but it is not a significant gap.

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?

The input schema already provides descriptions for all 6 parameters, covering 100% of them. The description itself does not add any parameter-level details, so the schema carries the full burden. According to the rubric, a baseline of 3 is appropriate when schema coverage is high and the description adds no extra parameter semantics.

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 uses the specific verb 'Create' and identifies the exact resource 'agile story/user story'. This clearly distinguishes it from sibling tools like create_epic, create_scrum_task, and create_story_dependency, which operate on different resource types. The purpose is unambiguous and actionable.

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?

The description provides clear context that this tool is for creating stories, implying it is the appropriate choice for that task. It also states a prerequisite (WRITE_ENABLED=true), which helps the agent decide if it can use it. However, it does not explicitly exclude alternatives or mention when not to use it, so it falls short of a 5.

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

create_subflowB

Create a new reusable subflow. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSubflow name
descriptionNoSubflow description
inputsNoInput variable definitions [{name, type, mandatory}]
scopeNoApplication scope

TDQS

B3/5.0
Behavior2/5

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

Annotations already indicate a non-read-only, non-destructive operation, and the description merely states '[Write]', which adds little beyond the annotations. It does not disclose important behavioral details such as whether existing subflows are overwritten, permission requirements, or side effects on dependent flows.

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 description is extremely short and front-loaded, but it is under-specified. It conveys the basic purpose but omits valuable context, making it insufficient rather than appropriately concise.

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?

Given the tool has 4 parameters (one required) and no output schema, the description is far too brief. It fails to clarify what a 'reusable subflow' is, how the 'inputs' array should be structured, or what happens after creation. The tool's overall complexity is not addressed.

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?

The input schema provides 100% coverage of the parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond the schema, but it doesn't need to since the schema already documents each parameter.

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 clearly states the action (create) and resource (reusable subflow), and the name 'create_subflow' is unambiguous. It distinguishes itself from sibling tools like list_subflows, get_subflow, and create_flow.

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?

No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, scenarios where a subflow would be appropriate, or exclusions (e.g., 'use create_flow for process flows').

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

create_ui_actionA

Create a new UI Action (button or link) on a form (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesButton/link label visible to users
tableYesTable to add this action on
action_nameYesInternal action name (no spaces)
scriptNoServer-side script to execute when clicked
typeNo"button" | "context_menu" | "related_link" | "list_button"
conditionNoCondition to show/hide the action
activeNoWhether to activate immediately (default: true)
form_buttonNoShow on form (default: true)
list_buttonNoShow on list (default: false)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, covering the safety profile. The description adds the SCRIPTING_ENABLED=true prerequisite, which is useful behavioral context beyond the annotations, but does not disclose other behaviors such as return formats or error cases.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core purpose and includes an important prerequisite. Every word earns its place, with no filler.

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

Completeness3/5

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

The description is minimal for a create tool with 9 parameters. It provides the core purpose and a key prerequisite, but does not explain the relationships between parameters (e.g., type vs. form_button/list_button) or typical usage patterns. However, the schema covers parameter semantics, and annotations cover safety, so it is adequate but not rich.

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?

The input schema has 100% description coverage for all 9 parameters, so the schema already documents semantics fully. The description adds no additional parameter-specific meaning beyond mentioning 'button or link', which loosely maps to the 'type' parameter but adds minimal value.

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 clearly states the verb 'Create' and the resource 'UI Action (button or link) on a form', which distinguishes it from sibling tools like list_ui_actions, get_ui_action, and update_ui_action. It also adds a meaningful context by specifying the target placement (form).

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?

The description provides an explicit prerequisite: 'requires SCRIPTING_ENABLED=true'. This tells the agent when the tool is usable and implies a condition that must be checked before invocation. However, it does not explicitly mention alternatives such as updating an existing UI action, though that is inferable from the tool name.

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

create_uib_componentB

Create a custom UI Builder component (macroponent). [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesComponent name
labelYesDisplay label
descriptionNo
categoryNoComponent category

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive behavior, but the description adds no additional behavioral context. The '[Scripting]' tag is vague and does not clarify side effects, permissions, or return behavior.

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 efficiently short, but the '[Scripting]' tag is unclear and slightly distracts from the core message. Despite this, it is a single sentence with no redundant phrasing.

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?

The description is minimal and lacks essential context: it does not explain what a macroponent is, what the tool returns, any prerequisites, or how it fits into the UI Builder workflow. With no output schema, agents have no information about the response.

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 75%, so the schema covers most parameters. The tool description adds no extra meaning beyond what the schema provides, maintaining the baseline for adequately documented parameters.

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 clearly states the action ('Create') and the resource ('custom UI Builder component'), and clarifies the domain term 'macroponent'. This distinguishes it from sibling tools like create_uib_page, which targets pages rather than components.

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 guidance on when to use this tool versus alternatives such as update_uib_component or list_uib_components. The description only defines the tool's purpose without providing context or exclusions.

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

create_uib_data_brokerB

Create a UI Builder data broker to feed data to a page. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesBroker name
tableYesSource table
queryNoEncoded query filter
pageNoTarget page sys_id

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate this is a mutating operation (readOnlyHint=false), so no contradiction. The description adds slight context (the broker feeds data to a page), but discloses no additional behavioral traits such as side effects, required permissions, or what exactly gets created. It meets the baseline but adds limited value beyond the annotations.

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

Conciseness5/5

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

The description is a single, focused sentence that front-loads the core purpose and includes a useful [Scripting] marker. Every word earns its place with no wasted text.

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

Completeness3/5

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

Given the tool has four parameters but no output schema, the description is minimal and does not explain the return behavior or prerequisites (e.g., whether the target page must already exist). It is adequate for a straightforward create operation but leaves some gaps for a fully self-sufficient description.

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% for all four parameters (name, page, query, table), so the schema already provides full parameter meaning. The description does not add any additional value beyond this, so the baseline score of 3 is appropriate.

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 clearly states the action ('Create') and the resource ('UI Builder data broker') with a specific purpose ('to feed data to a page'). It is clear and distinguishes from generic create tools, though it doesn't explicitly differentiate from sibling data broker or UI builder creation tools.

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?

Aside from the implied use case of feeding data to a page, there is no guidance on when to use this tool versus alternatives (e.g., creating a component or page first, or using list tools to inspect existing brokers). No exclusions or alternatives are mentioned.

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

create_uib_pageA

Create a new UI Builder page with route registration. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPage title
pathYesURL path segment
appNoParent UX app sys_id
layoutNoLayout type: single, sidebar, tabbed (default single)

TDQS

A3.6/5.0
Behavior3/5

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

The description includes '[Write]' to indicate it is a write operation, which aligns with the readOnlyHint=false annotation, and adds the side effect of route registration. However, it does not disclose permissions, error conditions, or reversibility. Beyond the annotation, only the route registration is new context, so it is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. 'Create a new UI Builder page with route registration' efficiently conveys the core action, and '[Write]' adds a useful side-effect hint without unnecessary length.

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 create operation with a well-documented schema, the description covers the core purpose adequately. However, with no output schema, it does not describe the return value, and it omits any mention of required permissions or how route registration interacts with the optional 'app' parameter. It is sufficient but has room for more detail.

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?

The schema provides 100% coverage of all four parameters with descriptions, so the description does not add any additional parameter semantics. It does not explain defaults, relationships, or how parameters like 'app' and 'layout' affect the result beyond what the schema already states.

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 clearly states the action ('Create') and the resource ('UI Builder page'), and adds 'with route registration' which distinguishes it from update/delete/list page tools and from component or route-only creation tools. It is specific and unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives like list_uib_pages or update_uib_page. There is no mention of prerequisites (e.g., needing an existing UX app) or when not to use this tool. The description only states what it does, not when to choose it.

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

create_ui_policyA

Create a new UI Policy to control field behavior dynamically (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
short_descriptionYesPolicy description
tableYesTable to apply this policy on
conditionsNoEncoded query conditions that trigger the policy
scriptNoOptional script to run when conditions are met
activeNoWhether to activate immediately (default: true)
run_scriptsNoRun script in addition to UI actions (default: false)

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate mutation (readOnlyHint=false) and non-destructive behavior. The description adds the SCRIPTING_ENABLED=true requirement, which is valuable context beyond annotations, but it does not disclose potential side effects of script execution or behavior when the prerequisite is not met.

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

Conciseness5/5

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

A single, front-loaded sentence that conveys the core action, resource, purpose, and a key requirement without redundancy. Every word contributes to the tool's understanding.

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?

With complete schema descriptions, annotations covering mutation and safety, and simple create semantics, the description covers the essential purpose and prerequisite. It does not mention return values or post-create behavior, but that is not critical for a creation tool, especially with no output schema.

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?

The input schema has 100% coverage with meaningful descriptions for all six parameters, so the description does not need to repeat them. The description adds no parameter-specific detail beyond the overall purpose, matching the baseline for high schema coverage.

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 clearly identifies the action ('Create'), the resource ('UI Policy'), and its purpose ('to control field behavior dynamically'). This distinguishes it from sibling tools like create_ui_action or create_flow by specifying the exact artifact type and its behavioral goal.

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?

The description provides a clear use case ('control field behavior dynamically') and a concrete prerequisite ('requires SCRIPTING_ENABLED=true'). It does not explicitly name alternatives or state when not to use it, but the context is sufficiently clear for selection.

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

create_update_setA

Create a new Update Set and optionally switch to it. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesUpdate Set name
descriptionNoPurpose or description
releaseNoTarget release label
switch_toNoSwitch to this Update Set after creation (default true)

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnly=false and destructive=false, and the description adds the optional switch behavior, which is a side effect beyond simple creation. The '[Scripting]' tag also provides context about intended usage. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, direct sentence with no filler. It includes the essential action and an optional behavior, plus a brief context tag. Every word earns its place.

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?

Given the simple create operation, the schema fully documents parameters, and annotations cover safety, the description is sufficient. It could mention return values, but this is not critical for a create tool and the openWorldHint and sibling tools provide additional context.

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 coverage is 100% and all parameters are already described in the input schema. The description does not add additional meaning beyond the schema, so the baseline of 3 is appropriate.

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 uses specific verb 'Create' and resource 'Update Set', clearly distinguishing it from sibling tools like list_update_sets, switch_update_set, and complete_update_set. The optional switch behavior is also stated.

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 purpose implies when to use the tool (to create an update set), but there is no explicit guidance about alternatives or when not to use it. Siblings like switch_update_set exist, but the description does not mention them.

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

create_userA

Create a new user account (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_nameYesUnique username (login name)
emailYesEmail address
first_nameYesFirst name
last_nameYesLast name
titleNoJob title
departmentNoDepartment name or sys_id

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (readOnlyHint: false) and non-destructive (destructiveHint: false). The description adds the WRITE_ENABLED=true requirement, which is useful, but it does not explain side effects, return values, or error behaviors such as duplicate username handling.

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

Conciseness5/5

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

The description is a single, tightly packed sentence that states the primary purpose and a key prerequisite. There is no fluff or repetition; every word earns its place.

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?

Given that this is a create operation with no output schema, the description should disclose what is returned (e.g., sys_id of the new user), how duplicate usernames are handled, and any external side effects. The description is too thin to be fully self-sufficient, even with annotations.

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?

The input schema covers all parameters with clear descriptions (100% coverage), so the description does not need to add parameter details. The tool description contributes no additional parameter semantics beyond the schema, warranting the baseline score.

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 clearly states the action ('Create') and the target ('a new user account'), which distinguishes it from sibling tools like update_user and list_users. The condition 'requires WRITE_ENABLED=true' adds useful context without obscuring the purpose.

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 description does not explicitly contrast this tool with alternatives, but the purpose strongly implies it is for creating new user accounts only. The WRITE_ENABLED condition is a prerequisite rather than guidance for when to choose this tool over others.

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

create_ux_app_routeC

Register a new route (URL path) in a UX app. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
app_sys_idYesUX app sys_id
pathYesRoute path
page_sys_idYesTarget UIB page sys_id
titleNoRoute title

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds little beyond confirming the write, with no disclosure of potential errors, required permissions, or idempotency behavior.

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 extremely concise, using a single sentence plus a [Write] tag. It is front-loaded and contains no filler, earning a high score for brevity.

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 creation tool, the description lacks crucial context such as return value (no output schema), error handling for duplicate routes, and required permissions. The available annotations provide some safety info, but the overall completeness is insufficient for an agent to use the tool without further assumptions.

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?

All four parameters have schema descriptions (100% coverage), and the tool description does not add further semantic detail. The schema-level descriptions like 'Route path' and 'Target UIB page sys_id' are minimal but sufficient, meeting the baseline.

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 clearly states the operation (register) and the resource (a route/URL path in a UX app). It is specific enough to distinguish this from sibling tools like create_uib_page or create_ux_experience, though it doesn't explicitly call them out.

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?

No guidance is provided on when to use this tool versus alternatives. The description simply states what it does, leaving the agent to infer usage context from the tool name and sibling tools.

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

create_ux_experienceB

Create a new UX Experience (app shell) configuration. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExperience name
app_sys_idYesUX app sys_id
landing_pageNoLanding page sys_id

TDQS

B3.1/5.0
Behavior2/5

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

The description restates that this is a write operation ('[Write]') which is already implied by annotations (readOnlyHint=false), and adds no other behavioral context such as side effects, permissions, or what happens to existing configurations. It provides no value beyond annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence that immediately conveys the tool's purpose with no wasted words. The '[Write]' tag is somewhat redundant but does not harm conciseness.

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

Completeness3/5

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

The schema covers parameters and annotations cover safety, making this minimally viable. However, the description lacks information about what a UX Experience configuration entails, how it relates to app shells, and any prerequisites or consequences. It leaves clear gaps.

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?

All three parameters are fully described in the input schema, so the description does not need to elaborate. It adds no meaning beyond the existing schema parameter descriptions, so the baseline of 3 is appropriate.

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 clearly states the action ('Create') and the specific resource ('a new UX Experience (app shell) configuration'), using 'app shell' to add specificity. It distinguishes from sibling tools that create other UX artifacts, though it does not explicitly name alternatives.

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?

No guidance is provided about when to use this tool versus alternatives like create_ux_app_route or list_ux_apps. There are no prerequisites, exclusions, or contextual clues for selecting this over other creation tools.

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

create_va_topicC

Create a new Virtual Agent conversation topic. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTopic name (display name)
descriptionNoWhat this topic handles
categoryNoTopic category sys_id
activeNoActivate immediately (default true)
fulfillment_typeNoFulfillment type: "itsm_integration", "custom", "web_service"

TDQS

C2.7/5.0
Behavior1/5

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

The description only adds a redundant '[Write]' tag, which already matches the readOnlyHint=false annotation. No additional behavioral context such as required permissions, side effects, idempotency implications, or post-creation steps is provided.

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 extremely concise, using a single sentence with a clear verb and resource. However, the '[Write]' tag is redundant given the annotation, so the description isn't perfectly efficient.

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 create tool with no output schema, the description is too minimal. It doesn't explain what happens after creation, any prerequisites, or the relationship to get/update/list VA topic tools. The schema covers field details, but the broader workflow context is missing.

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 the schema fully documents all five parameters. The description adds no parameter-level detail, but the baseline of 3 is appropriate since the schema carries the burden.

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 clearly states the action (create) and the resource (Virtual Agent conversation topic), making the purpose unambiguous. However, it does not explicitly distinguish from related sibling tools like update_va_topic or list_va_topics_full, so it stops short of a perfect score.

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 guidance on when to use this tool versus alternatives. The description does not mention that this is for new topics only, nor does it exclude cases better suited for updating or retrieving existing topics.

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

create_workspaceA

Create a new configurable agent workspace. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWorkspace name
descriptionNo
tableYesPrimary table (e.g. incident)
iconNoWorkspace icon name

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false and idempotentHint=false, so the write nature is covered. The description adds 'configurable' as a trait but does not elaborate on side effects, permissions, or what happens on repeated calls. Minimal additional behavioral context beyond annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It immediately states the action and resource, and the '[Write]' tag is a brief, useful addition. Exemplary conciseness.

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

Completeness3/5

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

Given the tool's simplicity (4 parameters, no nested objects, no output schema), the description is adequate but not rich. It does not mention return values, prerequisites, or idempotency caveats, which could be relevant for a create operation. It provides the minimum needed to understand the tool's purpose.

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 75%, meaning most parameters are documented in the schema itself. The description does not add meaningful parameter semantics beyond the schema. The 'configurable' hint is too vague to compensate for the undocumented 'description' parameter, but the schema handles most of the burden.

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 'Create' with a clear resource 'agent workspace' and qualifier 'configurable', distinguishing it from sibling tools like list_workspaces or get_workspace. It explicitly indicates the action and object in a concise manner.

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 verb 'Create' implies usage for new workspace creation, but the description does not provide explicit context on when to use this tool versus alternatives such as configure_workspace_list or update-related tools. No exclusions or alternative recommendations are given.

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

delete_attachmentA
Destructive

Delete an attachment from a record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
attachment_sys_idYessys_id of the attachment to delete

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already convey destructiveness (destructiveHint=true). The description adds the WRITE_ENABLED requirement, which is useful operational context beyond annotations. However, it does not describe other behavioral aspects such as irreversibility or cascading effects, but with annotations covering the core safety profile, this is adequate.

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 a single, front-loaded sentence with no wasted words. It clearly communicates the operation and a key precondition, though it is slightly thin on usage guidance.

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 simple one-parameter delete tool with annotations marking it destructive, the description is reasonably complete. It covers the operation, the target object, and a permission requirement. No output schema exists, but none is needed for a simple delete confirmation. The description could mention ripple effects, but annotations and simplicity mitigate the need.

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?

The input schema fully documents the single parameter attachment_sys_id, and the description does not add additional meaning beyond what the schema provides. Baseline of 3 is appropriate given 100% schema coverage.

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 clearly states the action ('Delete') and the target resource ('an attachment from a record'), which is specific and distinguishes it from siblings like upload_attachment, list_attachments, and get_attachment_metadata.

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?

No guidance is given for when to use this tool versus alternatives. The only additional context is 'requires WRITE_ENABLED=true', which is a prerequisite rather than usage direction. It does not mention when deletion is appropriate or suggest any alternative tools.

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

delete_system_propertyA
Destructive

Delete a system property by name. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProperty name to delete

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, which convey the mutation risk. The description adds no extra behavioral context such as permanence, permissions, or effect on dependent processes, so it relies entirely on annotations. It doesn't contradict the annotations.

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

Conciseness5/5

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

A single sentence is perfectly concise and front-loads the action. No wasted words, and the [Write] marker is a useful additional cue.

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

Completeness5/5

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

For a simple one-parameter delete tool with clear annotations and no output schema, the description is sufficient. It covers what the tool does and the key argument. The missing edge-case behavior (e.g., nonexistent property) is not necessary for a complete minimal description, and the annotations carry the safety profile.

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?

The input schema fully documents the 'name' parameter with description 'Property name to delete'. The description adds no additional parameter semantics beyond the schema, so baseline 3 applies given 100% schema coverage.

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 uses a specific verb 'Delete' and clearly identifies the resource 'system property' and the key 'by name'. This distinguishes it from sibling tools like get_system_property, set_system_property, and list_system_properties. The purpose is unambiguous.

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?

The description implies usage: when you need to remove a system property. It doesn't explicitly name alternatives or exclusions, but the context is clear given the sibling set. However, it lacks explicit guidance on when not to use it or alternatives like setting to null, so it's not a 5.

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

delete_uib_pageB
Destructive

Delete a UI Builder page. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUIB page sys_id

TDQS

B3.4/5.0
Behavior2/5

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

The description adds no behavioral detail beyond what the annotations already convey. The '[Write]' tag duplicates the readOnlyHint=false annotation, and 'Delete' is implied by the tool name. It does not mention irreversibility, permissions, or side effects.

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

Conciseness5/5

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

The description is a single, clear sentence plus a write tag. No wasted words; the essential action and resource are front-loaded.

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 simple delete operation with one well-documented parameter and annotations indicating destructiveness, the description is adequate. However, it lacks any mention of return behavior or prerequisites, preventing a higher score.

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?

The sole parameter sys_id is already fully described in the schema ('UIB page sys_id'). The description adds no additional semantic detail, so it relies on the 100% schema coverage.

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 uses the specific verb 'Delete' with resource 'UI Builder page', clearly distinguishing it from sibling tools like get_uib_page, create_uib_page, and update_uib_page.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., retiring vs. deleting, or prerequisites). It simply states the action without context or exclusions.

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

ensure_active_update_setA
Idempotent

Ensure an active Update Set exists; create one automatically if none is in progress. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
default_nameNoName to use when auto-creating (default: "AI Session Update Set")

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, openWorldHint=true, readOnlyHint=false, and destructiveHint=false. The description adds conditional creation logic ('create one automatically if none is in progress') and the '[Scripting]' context, which provides useful behavior beyond what annotations convey.

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

Conciseness5/5

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

The description is two short sentences with no redundant text. The '[Scripting]' tag is a compact, informative qualifier. Every word earns its place.

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 simple idempotent setup tool with one optional parameter and no output schema, the description covers purpose and trigger condition adequately. It does not mention return values, but none are expected, and the behavior is straightforward.

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 coverage is 100%—the only parameter (default_name) is fully described in the schema. The tool description adds no additional parameter semantics, so the baseline score of 3 applies.

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 clearly states the tool's function: 'Ensure an active Update Set exists; create one automatically if none is in progress.' This specific verb+resource combination distinguishes it from siblings like create_update_set (which always creates) and switch_update_set (which changes the active set).

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 description implies when to use the tool—when an active update set is needed and auto-creation is acceptable—but it does not explicitly contrast with alternatives like switch_update_set or create_update_set, nor does it state when not to use. The usage context is implied rather than explicit.

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

execute_background_scriptB
Destructive

Execute a background script on the instance (server-side JavaScript). [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesJavaScript code to execute
scopeNoApplication scope (default global)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, covering the safety profile. The description adds the term 'background' but does not explain behavioral implications such as asynchronous execution, result retrieval, or side effects. Some context is added, but significant gaps remain.

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

Conciseness5/5

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

The description is a single sentence with an active verb and no redundancy. The [Scripting] category marker is harmless and helps agents classify the tool. It is appropriately concise.

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 destructive, open-world script execution tool, this description is incomplete. It omits what 'background' means, how to obtain results, potential timeout or sandbox constraints, and any safety caveats. It also fails to differentiate from the sibling 'execute_script', leaving an agent without essential operational details.

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%: 'script' is documented as 'JavaScript code to execute' and 'scope' as 'Application scope (default global)'. The description adds no further parameter-level meaning, so the baseline score of 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 specifies a clear action ('Execute') and resource ('background script'), with context that it is server-side JavaScript. However, it does not distinguish this from the closely named sibling 'execute_script', so the meaning of 'background' remains unclear.

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?

No usage guidance is provided. There is no mention of when to use this tool versus alternatives like execute_script, no prerequisites, and no exclusions. The [Scripting] tag offers no practical direction.

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

export_propertiesA
Read-onlyIdempotent

Export system properties matching a query to a JSON object (useful for environment snapshots)

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
queryNoEncoded query filter

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the agent knows the operation is safe and idempotent. The description adds that the output is JSON and the query matching, but no additional behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, clear sentence with no fluff. It is front-loaded with the action and output, making it immediately useful for the agent.

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 simple export tool with two optional parameters and annotations covering safety, the description covers the essential purpose and use case. It could elaborate on output structure or encoding requirements, but overall it is adequate.

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 coverage is 100%, so the schema already documents both parameters. The description references 'matching a query' which ties to the query parameter, but adds no extra meaning beyond schema descriptions. Baseline score of 3 is appropriate.

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 clearly states the tool exports system properties matching a query to a JSON object, with a specific use case for environment snapshots. This distinguishes it from sibling tools like list_system_properties or bulk_get_properties by specifying the action (export) and output format (JSON).

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 description mentions 'useful for environment snapshots,' implying a use case, but does not provide explicit when-to-use or when-not-to-use guidance. It does not compare with alternatives like list_system_properties or get_system_property, leaving the agent to infer context.

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

export_report_dataB
Read-onlyIdempotent

Export raw table data as structured JSON for use in external reports

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable to export from
queryNoEncoded query filter
fieldsNoComma-separated fields to include
limitNoMax records (default: 100, max: 1000)

TDQS

B3.4/5.0
Behavior2/5

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

Annotations (readOnlyHint=true, idempotentHint=true, openWorldHint=true) already indicate read-only, idempotent, and open-world behavior. The description adds no additional behavioral context, such as potential large data volumes or performance implications.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words, efficiently conveying the core action and purpose.

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?

Despite annotations covering safety, the description lacks information about the output format ('structured JSON' is vague), pagination, query encoding, and does not clarify when to prefer this over sibling data retrieval tools.

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?

The input schema covers all 4 parameters with descriptions (100% coverage), so the description adds no further meaning beyond stating 'structured JSON'. Baseline of 3 applies.

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 clearly states it exports raw table data as structured JSON for external reports, specifying the verb, resource, format, and purpose, and distinguishes from sibling retrieval tools by targeting external report use.

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 description implies usage for external reports but lacks explicit guidance on when to use this tool versus alternatives like get_record, query_records, or list_*, and does not provide when-not-to-use criteria.

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

export_update_setB
Read-onlyIdempotent

Get the XML export payload for an Update Set (as used in migration). [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUpdate Set sys_id

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, fully disclosing that the tool is a safe, read-only, idempotent operation. The description adds minimal context beyond annotations ('as used in migration' and '[Scripting]'), providing some behavioral context without contradicting the annotations.

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

Conciseness5/5

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

The description is a single, concise sentence with an additional bracketed note. Every word serves a purpose—no redundancy, no filler. It is appropriately front-loaded and efficient.

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?

Given that the tool is a simple read operation with one parameter and safety is fully covered by annotations, the description is nearly complete. It states the output format (XML) and usage context (migration). Minor gaps include lack of error conditions or return structure details, which are less critical given the tool's simplicity and annotation coverage.

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?

The input schema already describes the single parameter 'sys_id' with a clear description ('Update Set sys_id'), achieving 100% coverage. The tool description does not add any additional meaning or clarification beyond what the schema provides, so it meets the baseline expectation.

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 clearly states it retrieves the XML export payload for an Update Set used in migration. It specifies the action ('Get') and resource ('XML export payload'), which is distinct from siblings like preview_update_set or list_update_sets. However, it does not explicitly differentiate from these sibling tools, which would elevate it to a 5.

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?

The description provides no guidance on when to use this tool versus alternatives such as preview_update_set or get_current_update_set. It mentions 'as used in migration' but lacks explicit when-to-use or when-not-to-use instructions, and does not list any prerequisites or exclusions.

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

find_artifactA
Read-onlyIdempotent

Search for platform artifacts by name, type, or scope (business rules, scripts, widgets, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesArtifact name or pattern
typeNoArtifact type: business_rule, script_include, client_script, ui_policy, ui_action, widget, flow, sys_properties
scopeNoApplication scope name
limitNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds minimal behavioral context (search criteria) beyond annotations. No contradiction found.

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

Conciseness5/5

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

A single sentence conveys the tool's purpose without extraneous information. Every word earns its place.

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

Completeness3/5

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

The description covers basic input criteria but lacks details on output (e.g., result format, pagination). Given the complexity of platform artifacts and no output schema, more context would improve completeness. Annotations partially compensate.

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 75% (3 of 4 parameters have descriptions). The description echoes 'name, type, or scope' but adds no extra meaning beyond the schema. The 'limit' parameter is omitted. Baseline score 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 clearly states the tool searches for platform artifacts by name, type, or scope, with examples like business rules and scripts. It is specific and distinguishes from sibling search tools (e.g., search_catalog, search_knowledge) through artifact focus, but does not explicitly contrast with alternatives.

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 description implies usage for finding platform artifacts but provides no explicit guidance on when to use this tool versus others (e.g., search_cmdb_ci, list_business_rules). It lacks when-not-to-use or alternative suggestions.

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

fire_eventA

Fire a custom ServiceNow event for a specific record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYesEvent name to fire (must be registered)
tableYesTable name of the target record
record_sys_idYessys_id of the record to fire the event on
parm1NoOptional first parameter passed to event handlers
parm2NoOptional second parameter passed to event handlers

TDQS

A3.7/5.0
Behavior3/5

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

The description adds the specific operational requirement 'requires WRITE_ENABLED=true', which is useful context beyond the annotations. However, it does not disclose potential side effects (e.g., event handlers may run asynchronously), non-idempotency, or what happens after firing. Since annotations already indicate non-read-only and non-idempotent behavior, the added context is modest but not misleading.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core action ('Fire a custom ServiceNow event') and adds a relevant prerequisite. Every word contributes value with no filler or repetition.

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

Completeness3/5

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

The description, combined with the schema, covers the essentials: what to fire, on which record, and the write-enabled prerequisite. However, there is no output schema and the description does not explain return values, asynchronous behavior, or side effects. It is minimally viable but leaves gaps for an agent trying to reason about consequences.

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?

The input schema has 100% parameter description coverage, so the description does not need to restate field semantics. The description adds no additional meaning beyond the schema, but the schema already documents all five parameters adequately. Baseline 3 is appropriate.

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 clearly states a specific action: 'Fire a custom ServiceNow event for a specific record.' It uses a concrete verb and resource, and the 'custom event' + 'specific record' language distinguishes it from related tools like register_event or list_event_registry. The purpose is immediately understandable.

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 description implies when to use the tool (to fire a custom event on a record) but does not explicitly state alternatives or when-not-to-use scenarios. The only guidance is the prerequisite 'requires WRITE_ENABLED=true', which is a condition rather than a usage guideline. No sibling tools are mentioned as alternatives.

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

generate_summaryB
Read-onlyIdempotent

Generate an AI summary of any record using Now Assist (latest release: sn_assist/skill/summarize)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g., "incident", "change_request")
sys_idYesSystem ID of the record

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds no behavioral disclosure beyond stating it uses AI, omitting details like output format, performance, or limitations.

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 a single sentence with parenthetical version info, effectively concise but could benefit from slight restructuring for clarity.

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 simple tool with no output schema, the description omits what the summary looks like or how it is returned, leaving ambiguity for the AI agent.

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 coverage is 100% with both parameters (table and sys_id) described. The description adds no additional meaning beyond the schema.

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 clearly states the tool generates an AI summary of any record using Now Assist, distinguishing it from sibling tools that handle records differently.

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 description implies usage for generating summaries but lacks explicit guidance on when to use vs sibling tools, such as when not to use or alternative approaches.

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

generate_work_notesB

Generate AI-drafted work notes for a record based on its current context

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name
sys_idYesSystem ID of the record
contextNoAdditional context to include in the draft

TDQS

B3.2/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false and openWorldHint=true, suggesting side effects (e.g., AI calls, logging). However, the description does not clarify whether the drafted work note is saved automatically, what side effects occur, or any permission or cost implications.

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

Conciseness5/5

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

A single sentence that directly states the tool's purpose without extraneous detail. Highly concise and front-loaded.

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?

No output schema, yet the description does not indicate what the tool returns (e.g., generated text, confirmation). Lacks details on AI model behavior, latency, or required permissions. Incomplete for a non-trivial AI interaction tool.

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 covers 100% of parameters with basic descriptions. The description adds no additional meaning beyond what the schema provides (e.g., what 'context' expects). Baseline 3 is appropriate.

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 clearly states the verb 'generate' and resource 'work notes' with context from the record. It implicitly distinguishes from sibling tools like add_work_note (which adds a pre-written note) and suggest_resolution (which suggests resolution, not work notes).

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?

No explicit guidance on when to use this tool vs alternatives such as add_work_note or generate_summary. The description does not mention prerequisites, suitable scenarios, or exclusions.

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

get_aclA
Read-onlyIdempotent

Get full details of an ACL rule including its script and role requirements (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesACL sys_id

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds the behavioral constraint that SCRIPTING_ENABLED must be true, which is additional context beyond annotations. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, direct sentence with no fluff. It front-loads the purpose and includes key details (including script and role requirements) and a precondition. Every word is necessary.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, no output schema, strong annotations), the description is complete. It tells the agent what the tool returns (full details including script and role requirements) and a critical precondition. No gaps.

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?

The schema has 100% description coverage for the only parameter, sys_id. The description does not add any additional meaning or context to the parameter beyond what the schema provides. Baseline score is appropriate.

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 clearly states the tool retrieves full details of an ACL rule, specifically including script and role requirements. This distinguishes it from sibling tools like list_acls, which likely provide only summary lists. The verb 'Get' and resource 'ACL rule' are specific.

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 description mentions a prerequisite (requires SCRIPTING_ENABLED=true), which provides some guidance. However, it does not explicitly compare to similar tools (e.g., list_acls) or state when to use this tool over alternatives. The guidance is implicit rather than explicit.

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

get_assetA
Read-onlyIdempotent

Get full details of an IT asset including financial and lifecycle data

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesAsset sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare read-only and idempotent behavior. The description adds context about the data included (financial, lifecycle) but does not disclose additional behavioral traits such as response structure or error handling.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core action and resource, with no unnecessary words or repetition.

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?

Given the simplicity of the tool (single parameter, no output schema), the description adequately conveys the purpose and the type of data returned. It could be more complete by mentioning the output format, but it is sufficient for a straightforward retrieval.

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 coverage is 100% and the schema already describes the single parameter 'sys_id' as 'Asset sys_id'. The description adds no further meaning beyond what is in the schema.

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 clearly states the verb 'Get', the resource 'IT asset', and the scope 'including financial and lifecycle data'. It distinguishes from sibling tools like 'list_assets' and 'update_asset'.

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 description implies that this tool is for retrieving a single asset's details, contrasting with 'list_assets' for listing, but it does not explicitly state when to use this tool versus alternatives like 'get_asset_contracts' or 'get_asset_lifecycle'.

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

get_atf_failure_insightA
Read-onlyIdempotent

Get ATF Failure Insight data — metadata changes between last successful and failed run (role changes, field value changes)

ParametersJSON Schema
NameRequiredDescriptionDefault
result_sys_idYesSystem ID of the failed suite result

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true. The description adds value beyond annotations by specifying the output content: metadata changes (role and field value changes). No contradictions.

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

Conciseness5/5

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

The description is a single sentence of 19 words, front-loaded with the action, and contains no redundant information. Every word earns its place.

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 simple retrieval tool with one parameter and safety annotations, the description adequately explains what the tool returns. No output schema is needed as the output is implied. Slight lack of detail on 'role changes' and 'field value changes' but sufficient for understanding.

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 coverage is 100% with one parameter described. The description does not add additional meaning beyond the schema, but baseline 3 is appropriate given high coverage.

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 clearly states the verb 'Get', the resource 'ATF Failure Insight data', and specifies the scope as metadata changes between last successful and failed run. This distinguishes it from sibling tools like get_atf_suite, get_atf_suite_result, and get_atf_test.

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 description implies usage for comparing runs but does not explicitly state when to use this tool vs alternatives. No mention of when not to use or direct comparisons with other ATF tools.

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

get_atf_suiteA
Read-onlyIdempotent

Get details of a test suite including test count

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesTest suite sys_id or name

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=true, indicating a safe read. The description adds the detail of test count, which is useful but not essential beyond what annotations provide.

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

Conciseness5/5

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

One sentence of 10 words, front-loaded with the verb and resource. No wasted words or repetition.

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

Completeness3/5

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

No output schema, so description should hint at return structure. It mentions 'including test count' but nothing else. For a simple retrieval tool, it's borderline adequate but could specify that full details are returned.

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 coverage is 100% and the schema already describes 'sys_id_or_name' as 'Test suite sys_id or name'. The description adds no additional meaning or format guidance for the parameter.

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 uses a specific verb 'Get' and resource 'test suite', and explicitly mentions including test count, clearly distinguishing it from siblings like get_atf_suite_result or get_atf_test.

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?

Usage is implied by the name and parameter (sys_id_or_name), but there is no explicit guidance on when to use this versus list_atf_suites or get_atf_test. No when-not or alternatives mentioned.

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

get_atf_suite_resultB
Read-onlyIdempotent

Get the results of a test suite run

ParametersJSON Schema
NameRequiredDescriptionDefault
result_sys_idYesSystem ID of the suite result record

TDQS

B3.4/5.0
Behavior3/5

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

The annotations (readOnlyHint, idempotentHint, openWorldHint) already communicate safe, idempotent behavior. The description adds no further behavioral context, such as what the return value contains or any potential side effects, which is acceptable given the annotation coverage.

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

Conciseness5/5

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

The description is a single, clear sentence with no redundancy. It efficiently communicates the tool's purpose without any unnecessary words.

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 simple retrieval tool with one parameter and comprehensive annotations, the description is largely complete. However, it does not specify the nature of the returned 'results', which would be helpful given the absence of an output schema.

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?

The input schema provides a complete description for the single parameter (result_sys_id as 'System ID of the suite result record'), leaving no ambiguity. The tool description does not add extra meaning, so a baseline score of 3 is appropriate.

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 clearly states the tool retrieves results of a test suite run, using a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like 'get_atf_suite' or 'list_atf_test_results', which could cause ambiguity.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites or provide context for selection, leaving the agent to infer usage 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.

get_atf_testA
Read-onlyIdempotent

Get details of a specific test case

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the test

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds no further behavioral context (e.g., no mention of required permissions, data freshness, or side effects). It does not contradict annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence that immediately communicates the tool's purpose. No unnecessary words or repetition.

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

Completeness3/5

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

For a simple getter with one parameter and informative annotations, the minimal description is adequate but could be improved by clarifying what 'details' are returned, especially since no output schema is provided. It lacks some context but is not incomplete.

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% for the single parameter 'sys_id', so the schema already explains its purpose. The description does not add any additional meaning or usage hints beyond the schema.

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?

Description clearly states the action ('Get details') and the resource ('specific test case'), distinguishing it from sibling tools like 'list_atf_tests' which lists multiple test cases. The verb and resource are specific and unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives, such as 'list_atf_tests' for listing multiple tests. No prerequisites or exclusions are mentioned, leaving the agent without context for selection.

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

get_attachment_metadataA
Read-onlyIdempotent

Get metadata (name, type, size) of a specific attachment by its sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
attachment_sys_idYesAttachment sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already cover readOnly and idempotent hints. Description adds the specific fields returned, which is useful but not extensive.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded verb and resource.

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?

Given the simple structure, the description adequately covers inputs and outputs. Could add output format but not necessary.

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 covers the parameter fully. Description says 'by its sys_id', aligning but not adding new meaning. Baseline 3.

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 clearly states the tool retrieves metadata (name, type, size) of a specific attachment by sys_id. It distinguishes from list_attachments and other getters.

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 description implies when to use (specific attachment metadata) but does not explicitly mention when not to use or alternatives like list_attachments.

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

get_business_ruleA
Read-onlyIdempotent

Get full details and script body of a business rule (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the business rule

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds the prerequisite SCRIPTING_ENABLED=true, which is behavioral context beyond annotations. No contradiction.

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

Conciseness5/5

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

A single sentence that is front-loaded and contains no unnecessary words. Efficiently communicates purpose and prerequisite.

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

Completeness5/5

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

With only one parameter and annotations covering safety, the description provides sufficient detail (including prerequisite) for correct invocation. No output schema exists, but the description states what is returned.

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 coverage is 100% with the sys_id parameter described. The description adds no further semantic detail beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states 'Get full details and script body of a business rule', specifying the verb and resource. It distinguishes from sibling tools like list_business_rules (list) and update_business_rule (modify).

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?

The description mentions the prerequisite 'requires SCRIPTING_ENABLED=true', giving clear context for when the tool can be used. It does not explicitly exclude alternatives but implies use for retrieval of a single business rule.

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

get_catalog_itemA
Read-onlyIdempotent

Get full details of a catalog item including its variables

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesCatalog item sys_id or name

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds that variables are included, which is useful context beyond the annotations. No contradictions.

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

Conciseness5/5

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

Single sentence, front-loaded with verb and resource, no unnecessary words. Highly efficient.

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?

Given no output schema, the description hints at what is returned ('full details including variables'), which is mostly sufficient. Could specify more fields, but contextually adequate.

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 coverage is 100%, so the description does not need to add much. The description does not provide additional meaning beyond the schema's description of 'sys_id_or_name'.

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 clearly states the verb 'Get' and the resource 'catalog item', with the specific detail 'including its variables'. This distinguishes it from generic get_record or other get_* tools.

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?

No explicit guidance on when to use this tool versus siblings like list_catalog_items or get_record. Usage is implied by the name and description, but no when-not or alternatives are provided.

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

get_change_requestA
Read-onlyIdempotent

Get full details of a change request by number (CHG...) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesChange number (CHG...) or sys_id

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description carries a lower burden. It adds 'full details' context but does not elaborate on response structure or edge cases, which is acceptable given the safety annotations.

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

Conciseness5/5

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

The description is a single sentence of 18 words, front-loaded with the verb and resource. It contains no wasted words and efficiently conveys the tool's purpose.

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 simple retrieval tool with a single parameter and no output schema, the description is adequately complete. Annotations cover safety and existence concerns. Optional mention of return format would improve completeness, but it is not critical.

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?

The input schema has 100% coverage with a description for the parameter. The tool description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.

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 clearly states the verb 'Get' and the resource 'full details of a change request', specifying the identifier format (CHG... or sys_id). It effectively distinguishes this tool from sibling tools like get_incident or get_problem.

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?

The description implies when to use the tool (when you have a change request number or sys_id) but does not explicitly mention when not to use it or provide alternatives. However, the name and context are sufficient for an agent to infer appropriate usage.

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

get_changesetA
Read-onlyIdempotent

Get details of an update set (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesUpdate set sys_id or name

TDQS

A4/5.0
Behavior4/5

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

Adds important context beyond annotations: requires SCRIPTING_ENABLED=true. Annotations already indicate read-only, idempotent, open world.

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

Conciseness5/5

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

Single sentence, no wasted words, directly communicates purpose and key requirement.

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?

Covers purpose and a critical prerequisite. Could mention what 'details' includes, but not essential given tool simplicity.

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 coverage is 100% and describes the parameter sufficiently. Tool description adds no additional meaning for the parameter.

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?

Clearly states 'Get details of an update set', specifying verb and resource. Distinguishes from siblings like list_changesets and get_current_update_set.

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?

Mentions a prerequisite (SCRIPTING_ENABLED=true) but does not provide explicit when-to-use vs alternatives or when-not-to-use.

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

get_client_scriptA
Read-onlyIdempotent

Get full details and script body of a client script (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the client script

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent behavior. The description adds the return content ('full details and script body') and the prerequisite, which is beyond the annotations. It could mention that the script body might be large, but overall it's good.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action, and includes the requirement in parentheses. No extraneous information; every part earns its place.

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

Completeness3/5

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

Given no output schema, the description says 'full details and script body', which is somewhat complete but not exhaustive. It could mention typical fields returned or that it returns a single object. Considering the tool's simplicity and the context, it's adequate but not highly informative.

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 coverage is 100% (sys_id is described as 'System ID of the client script'), so baseline is 3. The description does not add additional semantic meaning to this parameter beyond what the schema already provides.

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 clearly states it retrieves 'full details and script body' of a client script, with the verb 'Get' and specific resource. It distinguishes from sibling tools like 'list_client_scripts' and 'update_client_scripts' by implying it returns full details including the script body. The prerequisite is also noted.

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?

The description explicitly mentions a prerequisite ('requires SCRIPTING_ENABLED=true'), which provides context for when to use it. However, it lacks explicit guidance on when not to use this tool versus alternatives like listing or updating scripts, though the purpose is clear from the name.

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

get_cmdb_ciB
Read-onlyIdempotent

Get complete information about a specific configuration item

ParametersJSON Schema
NameRequiredDescriptionDefault
ci_sys_idYesSystem ID of the CI
fieldsNoOptional comma-separated fields

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description only says 'get complete information,' which aligns with these hints but adds no additional behavioral context beyond what the annotations convey.

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 a single concise sentence with no extraneous information. However, it is very brief and could benefit from including usage guidelines without harming conciseness.

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

Completeness3/5

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

For a simple get tool with only 2 parameters, the description is minimal but covers the core purpose. It does not explain what 'complete information' means, any return value limits, or error scenarios, which are not critical but would increase completeness.

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 coverage is 100% with clear parameter descriptions. The description does not add any extra semantic detail about how to use the parameters (e.g., format of fields string) beyond what the schema provides, so baseline 3 is appropriate.

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 explicitly states the verb 'Get' and the resource 'complete information about a specific configuration item', clearly distinguishing it from sibling tools like search_cmdb_ci (which searches) and cmdb_health_dashboard (dashboard).

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?

No guidance is provided on when to use this tool versus alternatives such as search_cmdb_ci for searching or other 'get' tools. It does not specify prerequisites or exclusions.

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

get_compliance_assessmentB
Read-onlyIdempotent

Get compliance assessment results for a policy or control

ParametersJSON Schema
NameRequiredDescriptionDefault
policy_sys_idNoPolicy sys_id
control_sys_idNoControl sys_id (alternative to policy)

TDQS

B3.2/5.0
Behavior2/5

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

Annotations (readOnlyHint, idempotentHint, openWorldHint) already declare the tool's safety profile, but the description adds no behavioral context beyond what annotations imply. It does not disclose potential partial results, performance characteristics, or access requirements.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates core purpose in 8 words, earning its place.

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?

With no output schema, the description should outline return format or examples, but it does not. The tool also lacks clarified behavior when both parameters are absent or provided. The openWorldHint annotation is not expanded upon.

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?

The input schema has 100% coverage with descriptive parameter names and descriptions. The description adds no additional meaning; it simply mirrors the parameter names ('policy' and 'control'). No further constraints or relationships are explained.

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 clearly states the tool's function: get compliance assessment results. It uses a specific verb-resource pair ('Get compliance assessment results') and differentiates from sibling tools like get_grc_risk or list_compliance_policies that serve different purposes.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing a policy or control sys_id, or explain what happens if neither parameter is provided. Agents cannot discern usage context.

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

get_csm_accountA
Read-onlyIdempotent

Get details of a customer account including contacts and open cases count

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesAccount name or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so safety and idempotency are covered. The description adds that contacts and open cases count are included, but does not disclose other behaviors like what happens if the account is not found or any rate limits.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the key action and resource, containing no unnecessary words. It is concise and effective.

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?

The tool has no output schema, so the description should clarify the return value. It mentions 'details... including contacts and open cases count', which gives some context but is vague about what other fields are returned. For a simple get operation, this is nearly complete, but could be more explicit about the response structure.

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?

The single parameter 'name_or_sysid' is fully described in the schema with 'Account name or sys_id'. The description does not add any further meaning beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly specifies the action 'Get' and the resource 'customer account' with additional details 'including contacts and open cases count', which distinguishes it from sibling tools like get_csm_case or list_csm_accounts.

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 description states what the tool does but does not provide guidance on when to use it vs alternatives (e.g., list_csm_accounts for multiple accounts or get_csm_contact for contacts). No exclusions or when-not-to-use are mentioned.

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

get_csm_caseA
Read-onlyIdempotent

Get full details of a CSM case by number (e.g. CS0001234) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesCase number (CS...) or sys_id

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. The description adds 'full details' but does not specify what that entails or mention any other behavioral traits beyond what annotations state.

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?

Single sentence, no fluff. Could include brief context on output but is efficient for the tool's simplicity.

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?

Given the tool is a simple read with one required parameter and no output schema, the description is adequate. It tells the user what input is needed and implies output is full details, though 'full details' is vague.

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% and already describes the parameter as 'Case number (CS...) or sys_id'. The description's mention of the parameter adds no new meaning beyond the schema.

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 clearly specifies the action (Get) and resource (full details of a CSM case) and identifiers (number like CS0001234 or sys_id), distinguishing it from sibling get_* tools that target different entities.

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 description implies usage when needing full details of a specific CSM case, but lacks explicit when-not-to-use guidance or alternatives. No differentiation from generic get_record or search tools.

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

get_csm_case_slaA
Read-onlyIdempotent

Get SLA details and remaining time for a CSM case

ParametersJSON Schema
NameRequiredDescriptionDefault
case_sysidYessys_id of the CSM case

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint true, idempotentHint true, openWorldHint true. Description adds no extra behavioral info beyond consistency with read-only operation.

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

Conciseness5/5

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

Single sentence with no fluff, front-loaded with verb and resource. Every word earns its place.

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?

Simple tool (1 param, no output schema). Description covers purpose adequately. Could mention returned fields (e.g., breach time), but minimal viable.

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 coverage is 100% with one parameter described. Description does not add meaning beyond schema. Baseline 3 is appropriate.

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?

Description clearly states 'Get SLA details and remaining time for a CSM case', specifying verb, resource, and context. It distinguishes from siblings like 'get_csm_case' (case details) and 'get_sla_details' (generic SLA).

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?

Usage is implied by the description but no explicit guidance on when to use this vs alternatives. No when-not or exclusions mentioned.

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

get_csm_contactA
Read-onlyIdempotent

Get details of a customer contact (name, account, phone, email)

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesContact name, email, or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that the tool returns details like name, account, phone, email, but does not elaborate on behavioral traits or implications of open world hint. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the tool's purpose with no unnecessary words. Front-loaded with key information.

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?

Given the simplicity of the tool (one parameter, no output schema) and rich annotations, the description adequately covers purpose and output fields. However, it could mention that the contact can be identified by name, email, or sys_id, but that is already in the schema.

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 coverage is 100% with a clear description for the single parameter 'name_or_sysid'. The tool description does not add any additional meaning beyond what the schema provides, so baseline 3 applies.

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 clearly states the verb 'Get' and the resource 'customer contact', and lists specific fields (name, account, phone, email). It distinguishes from sibling 'list_csm_contacts' which retrieves multiple contacts.

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 description does not explicitly state when to use this tool vs alternatives like 'list_csm_contacts' or 'get_csm_case'. Usage is implied for retrieving a single contact's details, but no exclusions or alternatives are provided.

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

get_current_instanceA
Read-onlyIdempotent

Get the currently active ServiceNow instance name and URL

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and side effects. The description adds that it returns instance name and URL, which is useful context. With rich annotations, the added value is moderate.

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

Conciseness5/5

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

The description is a single sentence that conveys the purpose without any fluff. Every word earns its place, with clear subject, verb, and object.

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

Completeness5/5

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

For a tool with no parameters and no output schema, the description adequately covers the functionality: it retrieves the currently active instance's name and URL. No gaps remain.

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?

There are no parameters, and schema coverage is 100%. The description does not need to add parameter details. Baseline for 0 parameters is 4, and no extra info is required.

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 clearly states the action (Get), the resource (currently active ServiceNow instance), and the output (name and URL). It is specific and distinguishes from sibling tools that retrieve other entities or list multiple instances.

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 description implies usage context (getting current active instance) but does not explicitly discuss when to use this tool versus alternatives like list_instances or switch_instance. Basic guidance is present but no exclusion criteria.

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

get_current_update_setA
Read-onlyIdempotent

Get the currently active Update Set for the session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint=true. The description adds no behavioral context beyond 'currently active'. It does not mention what happens if no update set is active (e.g., returns null or default). No contradiction with annotations.

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

Conciseness5/5

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

One sentence, no wasted words. Perfectly concise for the complexity of the tool.

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

Completeness3/5

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

Given no output schema and trivial input, the description covers the basic purpose but lacks detail on the return value (e.g., update set record or null). Could be more complete with a hint about the response format.

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?

There are no parameters. With schema description coverage at 100% (since no params exist), and zero parameters, the baseline is 4. The description does not need to add parameter info.

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 clearly states the tool gets the currently active Update Set for the session. The verb 'get' and resource 'currently active Update Set' are specific. It distinguishes from siblings like list_update_sets (which lists all) and switch_update_set (which changes the active one).

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?

No explicit guidance on when to use this tool versus alternatives. However, the purpose is self-evident; it's implied to use when you need the current active update set. No exclusions or when-not provided.

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

get_deploymentA
Read-onlyIdempotent

Get details and status of a specific deployment

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesDeployment sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no behavioral context beyond what annotations provide, such as response structure or side effects.

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

Conciseness5/5

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

Single sentence with no waste, front-loaded with the core purpose. Every word earns its place.

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 simple read-only tool with one parameter and adequate annotations, the description is mostly complete. However, it could briefly mention common return fields (e.g., status, details) since no output schema exists.

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?

The input schema has 100% coverage, describing the sys_id parameter. The description does not add semantic detail beyond schema, meeting baseline expectations.

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 'Get details and status of a specific deployment' clearly states the action (get) and the resource (deployment), distinguishing it from siblings like list_deployments or track_deployment.

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?

No explicit guidance on when to use this tool versus alternatives. The name implies it is for a single deployment, but no when-not-to or alternative hints are provided.

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

get_devops_insightsA
Read-onlyIdempotent

Get deployment frequency, failure rate, and lead time metrics for a pipeline

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_sys_idNoPipeline sys_id (optional — all pipelines if omitted)
daysNoNumber of days to analyse (default 30)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds value by specifying the metrics returned and implying that omitting pipeline_sys_id returns all pipelines. This provides behavioral context beyond the annotations.

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

Conciseness5/5

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

The description is a single clear sentence, front-loaded with the action and metrics list. No wasted words.

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 simple read-only metrics tool with good annotations and schema, the description is adequate. It could be improved by noting the return format (e.g., JSON structure), but the current level suffices given the simplicity.

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 coverage is 100% (both parameters described). The description adds minimal new meaning: it reinforces optionality of pipeline_sys_id and default for days, but does not significantly extend beyond the schema descriptions.

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 clearly states it retrieves deployment frequency, failure rate, and lead time metrics for a pipeline. This distinguishes it from sibling tools like get_devops_pipeline (which likely returns pipeline details) and get_deployment.

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 description implies usage for obtaining DevOps metrics but does not explicitly state when to use vs alternatives or provide exclusion criteria. While the context is clear, there is no guidance on when not to use or mention of related tools like get_devops_pipeline.

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

get_devops_pipelineA
Read-onlyIdempotent

Get details of a specific DevOps pipeline

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesPipeline sys_id

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, idempotent read operation. The description adds no behavioral details beyond the annotations, such as authorization requirements or response format.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essential purpose without extraneous words.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, no output schema, no nested objects), the description is complete enough for an agent to understand its function and invoke it correctly.

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?

The schema fully describes the single parameter 'sys_id' with a clear description. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.

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 clearly states the verb 'Get' and the resource 'DevOps pipeline', indicating it retrieves details. It distinguishes from sibling tools like 'list_devops_pipelines' which return multiple pipelines.

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 description implies usage for retrieving details of a specific pipeline, but does not explicitly state when to use it versus alternatives or provide exclusions. Usage is implied by the verb and resource.

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

get_email_logA
Read-onlyIdempotent

Get full details of an email log entry including body and headers

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesEmail log sys_id

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable context about the content included (body and headers), going beyond what annotations provide. No contradictions.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words, effectively conveying the tool's function.

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 simple tool with one required parameter, no output schema, and full annotations, the description sufficiently explains what the tool does and what it returns. Could mention that it retrieves a single record, but not necessary.

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 coverage is 100% with the parameter 'sys_id' described as 'Email log sys_id'. The description adds no further meaning beyond the schema, meeting the baseline for high coverage.

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 clearly states the verb 'Get' and the resource 'email log entry', and specifies the scope 'including body and headers'. It distinguishes the tool from sibling list tools like 'list_email_logs'.

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 description implies usage for retrieving full details of a single email log entry but does not explicitly provide guidance on when to use this tool versus alternatives like list_email_logs or when not to use it.

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

get_event_registry_entryA
Read-onlyIdempotent

Get details of a specific registered event definition

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesEvent name (e.g. "incident.created") or sys_id

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds minimal context, only stating it gets details, with no additional behavioral traits like error handling or response behavior.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose.

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?

Given the simple tool with one parameter, full schema coverage, and comprehensive annotations, the description is mostly complete. It could briefly mention that it returns a definition object, but the absence of output schema makes this less critical.

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 coverage is 100%, so the parameter is fully described there. The tool description adds no parameter information beyond the schema, meeting the baseline but not exceeding it.

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 'Get details of a specific registered event definition' uses a specific verb ('Get') and resource ('registered event definition'), clearly distinguishing it from siblings like 'list_event_registry' and 'register_event'.

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?

No guidance on when to use this tool versus alternatives such as 'list_event_registry' or 'register_event'. The description simply states the function without context or exclusions.

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

get_flowA
Read-onlyIdempotent

Get full details of a Flow Designer flow including its actions and trigger

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesFlow name or sys_id

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent. The description adds that it returns actions and trigger, providing useful context beyond annotations.

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

Conciseness5/5

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

Single sentence, front-loaded with key purpose, no unnecessary words.

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?

Sufficient for a simple get-details tool with one required parameter. No output schema, but the description hints at the structure (actions, trigger).

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 coverage is 100% for the single parameter. The description does not add further meaning or examples beyond what the schema provides.

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 clearly states it retrieves full details of a Flow Designer flow including actions and trigger, distinguishing it from sibling tools like list_flows or trigger_flow.

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?

No guidance on when to use this tool versus alternatives (e.g., get_flow_execution, list_flows). The agent must infer usage from context.

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

get_flow_error_logA
Read-onlyIdempotent

Get detailed error logs for failed flow executions

ParametersJSON Schema
NameRequiredDescriptionDefault
flow_sys_idYesFlow sys_id
daysNoLook-back period in days (default 7)
limitNoMax records (default 25)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true. The description adds that logs are for 'failed flow executions', which is useful but not extensive. No contradictions.

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

Conciseness5/5

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

Single sentence, direct and without fluff. All words are meaningful and front-loaded.

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

Completeness3/5

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

No output schema, but given the simplicity (3 params, read-only), the description is adequate but could mention what fields are in the error logs (e.g., error message, timestamp). Lacks completeness for a new user.

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?

Input schema covers all three parameters with descriptions (100% coverage). The tool description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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 clearly states the verb 'Get' and the resource 'detailed error logs for failed flow executions', which distinguishes it from sibling tools like 'get_flow' and 'get_flow_execution'.

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?

The description provides no guidance on when to use this tool versus alternatives such as 'get_flow_execution' for general execution details or 'list_flow_executions' for listing. No explicit when-not or context.

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

get_flow_executionA
Read-onlyIdempotent

Get the status and details of a specific flow execution

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_sysidYessys_id of the flow execution to inspect

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, so the agent knows the behavior. The description adds 'status and details', which is consistent and doesn't contradict annotations.

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

Conciseness5/5

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

Single clear sentence with no unnecessary words. Efficiently conveys the purpose.

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 simple read operation with one parameter and comprehensive annotations, the description is sufficient. However, lacks details about the return format (no output schema), but 'status and details' is moderately descriptive.

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 coverage is 100% with a description for 'execution_sysid'. The description adds no extra meaning beyond what the schema already provides, so baseline score is appropriate.

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 clearly states the verb 'Get' and the resource 'status and details of a specific flow execution', distinguishing it from sibling tools like 'list_flow_executions' (list) and 'get_flow' (flow definition).

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?

No explicit guidance on when to use this tool versus alternatives like 'list_flow_executions' or 'get_flow'. The name is self-explanatory, but lacks direct comparisons.

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

get_grc_riskA
Read-onlyIdempotent

Get details of a GRC risk including impact, likelihood, and controls

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesRisk number or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that the tool returns impact, likelihood, and controls, which provides some behavioral context beyond annotations, but lacks details on response format or additional constraints.

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

Conciseness5/5

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

A single, front-loaded sentence with the verb and resource first, followed by specifics. No wasted words; every phrase earns its place.

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?

Given the simple one-parameter input and no output schema, the description adequately covers what the tool does and what fields are included. Minor improvement could include an example or response structure, but not necessary.

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 coverage is 100% and the parameter description is clear ('Risk number or sys_id'). The tool description does not add any additional meaning or usage hints beyond the schema, so the baseline score of 3 is appropriate.

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 clearly states 'Get details of a GRC risk' with specific fields (impact, likelihood, controls). It uses a specific verb and resource, distinguishing it from siblings like list_grc_risks and create_grc_risk.

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?

No explicit when-to-use or when-not-to-use guidance is provided. The description implies use for retrieving a single risk's details, but does not mention alternatives or context for choosing this over other get_* tools.

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

get_groupA
Read-onlyIdempotent

Find assignment group details by name or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
group_identifierYesGroup name or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare the tool as read-only, idempotent, and open-world. The description aligns with these but adds no additional behavioral context beyond what annotations already provide.

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

Conciseness5/5

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

The description is a single concise sentence, front-loaded with the verb and resource, with no unnecessary words. Every part serves a purpose.

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?

Given the simple structure (one required param, no output schema) and annotations that clarify safety, the description is mostly complete. It could mention return type or behavior on no match, but overall sufficient.

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% for the single parameter, and the description does not add extra meaning beyond the schema's parameter description. Baseline score of 3 is appropriate.

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 clearly states the verb 'Find', the resource 'assignment group details', and the method 'by name or sys_id'. It effectively distinguishes from sibling tools like 'list_groups' and 'create_group'.

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 description implies usage context (retrieving group details) but does not provide explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.

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

get_hr_caseA
Read-onlyIdempotent

Get full details of an HR case by number (e.g. HRCS0001234) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesHR case number (HRCS...) or sys_id

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds no additional behavioral context (e.g., permissions, rate limits, or what 'full details' entails) beyond stating it retrieves details.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It is front-loaded with the action and resource.

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

Completeness3/5

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

While the description is clear for a simple retrieval, it lacks information about the return structure (e.g., what fields are included in 'full details'). Given no output schema, the description could be more explicit about the response content.

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?

The schema has 100% coverage, but the description adds a concrete example (HRCS0001234) that clarifies the expected format, providing value beyond the schema's parameter description.

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 clearly states the tool retrieves full details of an HR case by number or sys_id, with an example format (HRCS0001234). It is specific and distinguishes from sibling tools like create/update/close/list HR case.

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 description implies usage when you have an HR case number and need details, but it does not explicitly differentiate from related tools like get_hr_case_activity or get_hr_lifecycle_events, nor does it provide when-not-to-use guidance.

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

get_hr_case_activityA
Read-onlyIdempotent

Get the full activity log and journal entries for an HR case

ParametersJSON Schema
NameRequiredDescriptionDefault
hr_case_sysidYessys_id of the HR case

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's addition of 'full activity log and journal entries' adds minimal behavioral context. No further disclosure about authentication, rate limits, or scope beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. Every word is necessary and directly communicates the tool's function.

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?

Given the tool has only one parameter, no output schema, and clear annotations, the description adequately conveys the purpose and scope. A slightly richer description of what constitutes 'activity log' would raise it to a 5.

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?

The input schema has 100% coverage with a clear description for the single parameter hr_case_sysid. The tool description adds no additional meaning beyond 'sys_id of the HR case', so it aligns with the baseline for high schema coverage.

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 clearly states the tool retrieves 'the full activity log and journal entries for an HR case', which is a specific verb and resource. It is easily distinguishable from siblings like get_hr_case (which likely gets the case) and list_hr_cases (which lists cases).

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 description does not provide any explicit guidance on when to use this tool versus alternatives like get_hr_case or get_hr_lifecycle_events. Usage context is implied but not stated.

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

get_hr_lifecycle_eventsA
Read-onlyIdempotent

Get HR lifecycle events for an employee (promotions, transfers, leaves)

ParametersJSON Schema
NameRequiredDescriptionDefault
employee_sys_idYesEmployee user sys_id
event_typeNoFilter by type: promotion, transfer, leave, onboarding, offboarding
limitNoMax records (default 25)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that the tool retrieves lifecycle events, which is consistent with read-only behavior. However, it does not disclose any additional behavioral traits such as pagination, date ranges, or error handling. The description adds minimal value beyond the annotations.

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 a single, clear sentence that captures the tool's purpose and examples. It is concise without unnecessary words. However, it could be slightly more structured (e.g., bullet points), but it is effective.

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 relatively simple read-only tool with good annotations and full schema documentation, the description is adequate. It explains the resource and provides event type examples. However, it lacks information about the return format, pagination, or any limitations. Given the absence of an output schema, some return expectations would be helpful. Overall, it is reasonably complete.

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?

All three parameters (employee_sys_id, event_type, limit) have descriptions in the input schema (100% coverage). The tool description does not add any additional semantic context beyond what the schema already provides. Baseline score of 3 is appropriate.

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 clearly states the action (Get) and the resource (HR lifecycle events for an employee) and lists example event types (promotions, transfers, leaves). It distinguishes this tool from generic get/list tools by specifying the HR lifecycle context.

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?

The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or comparison to similar tools (e.g., get_hr_profile, list_hr_cases).

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

get_hr_profileA
Read-onlyIdempotent

Get the HR profile for a user (employment details, department, manager)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_identifierYesUsername, email, or sys_id of the user

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds that the profile includes employment details, department, and manager, providing some context beyond annotations. No contradictions.

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

Conciseness5/5

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

Single sentence, front-loaded with action, no wasted words. Efficient and clear.

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 simple read tool with one parameter and no output schema, the description adequately explains purpose and return content. Minor improvement: could mention that it returns a single profile object.

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 coverage is 100% with a clear description of 'user_identifier' (Username, email, or sys_id). The tool description does not add any additional meaning beyond the schema, hence baseline 3.

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 clearly states the verb (Get) and resource (HR profile), and specifies the content (employment details, department, manager). It distinguishes this tool from siblings like 'get_user' or 'get_hr_case'.

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?

No guidance on when to use this tool vs alternatives like 'update_hr_profile' or 'get_user'. No mention of context or prerequisites.

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

get_hr_serviceA
Read-onlyIdempotent

Get details of a specific HR service including its tasks and SLAs

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesHR service sys_id or exact name

TDQS

A3.8/5.0
Behavior3/5

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

The description aligns with the readOnlyHint annotation but adds minimal new behavioral context beyond noting that tasks and SLAs are included. Annotations already indicate safety, so the description adds some value but not much.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the verb and resource, with no extraneous words.

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?

Given the tool's simplicity (one parameter, no output schema) and annotations covering safety, the description provides sufficient context for selecting and invoking the tool. It could briefly mention the response format, but overall complete.

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 coverage is 100% and the parameter description is clear. The tool description adds context about what details are returned, but does not enhance parameter semantics beyond the schema. Baseline 3 is appropriate.

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 clearly states the verb 'get' and the resource 'HR service', and specifies that it returns 'details including its tasks and SLAs', which distinguishes it from sibling tools like 'list_hr_services' that list services without detailed info.

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 description implies use for retrieving a single HR service by identifier, but does not explicitly state when to use it versus alternatives like 'list_hr_services' or provide when-not scenarios.

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

get_import_setA
Read-onlyIdempotent

Get details of a specific Import Set including row count and transform status

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesImport Set sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns row count and transform status, but does not disclose additional behavioral traits beyond what annotations provide. No contradiction.

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

Conciseness5/5

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

The description is a single 14-word sentence that is front-loaded with the action and contains no superfluous words.

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 simple get tool with annotations and no output schema, the description is mostly complete, specifying included details (row count, transform status). It could list more attributes, but is sufficient given the tool's simplicity.

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 coverage is 100% with a single parameter 'sys_id' described as 'Import Set sys_id'. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.

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 clearly states the verb 'Get' and resource 'Import Set', and specifies included details (row count and transform status), distinguishing it from sibling tools like 'list_import_sets' (list) and 'get_record' (generic).

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 description implies usage for retrieving details of a specific import set, but does not explicitly state when to use it versus alternatives like 'list_import_sets' or 'get_transform_map', nor does it provide exclusions.

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

get_incidentA
Read-onlyIdempotent

Get full details of an incident by number (e.g. INC0012345) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesIncident number (INC...) or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns 'full details' but does not disclose any additional behavioral traits beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the purpose. Every word is useful and there is no redundancy.

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?

Given the simple input (one parameter) and the presence of annotations, the description is sufficient for this read-only retrieval tool. It could mention the return format but is adequate as-is.

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%, but the description adds context about the parameter format (e.g., INC0012345) which is not in the schema's description. This provides additional meaning for the agent.

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 clearly states the verb 'Get', the resource 'incident', and the input format (by number or sys_id). It distinguishes itself from other get_* tools by being specific to incidents and requiring either a number or sys_id.

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?

The description does not provide any guidance on when to use this tool over alternatives like get_record or other incident-specific tools. No when-to-use or when-not-to-use information is given.

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

get_knowledge_articleA
Read-onlyIdempotent

Get the full content of a knowledge article by number (KB...) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesArticle number (KB...) or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description aligns by stating 'Get the full content'. It adds the context of returning full content and identification method, which is useful but does not go beyond what annotations provide. No contradictions.

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

Conciseness5/5

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

The description is a single sentence of 14 words, front-loaded with the action and essential details. Every word contributes to clarity with no unnecessary content.

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?

Given the simple nature of the tool (single parameter, no output schema, annotations covering safety), the description is sufficient for an agent to understand its purpose and usage. It could be enriched with mention of any access restrictions or return format, but for a retrieval tool, it is largely complete.

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% with the parameter 'number_or_sysid' described as 'Article number (KB...) or sys_id'. The description rephrases this without adding additional meaning, so it meets the baseline expectation of 3.

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 clearly states the verb 'Get', the resource 'knowledge article', and the identification method by number or sys_id. It distinguishes this retrieval tool from sibling tools like search_knowledge, update_knowledge_article, and create_knowledge_article, which have different purposes.

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 description explains how to identify the article but does not provide explicit guidance on when to use this tool versus alternatives. While the context implies that this is for retrieving full content, it lacks exclusions or comparisons to similar tools such as search_knowledge for searching or get_record for generic retrieval.

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

get_license_complianceA
Read-onlyIdempotent

Get license compliance summary — purchased vs. installed vs. in use counts

ParametersJSON Schema
NameRequiredDescriptionDefault
license_sys_idNoSoftware license sys_id (optional — omit for all)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds the key behavioral trait of returning three specific counts but doesn't elaborate on additional behaviors like pagination or data freshness.

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

Conciseness5/5

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

Single sentence with no unnecessary words. Front-loads the core action and output structure.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description explains the output shape sufficiently. It lacks mention of aggregation level (per license or overall) but is adequate for low complexity.

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% for the single parameter. The tool description adds no further parameter-specific details beyond what the schema provides, but the output context (purchased vs installed vs in use) gives overall meaning.

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 clearly states the tool retrieves a license compliance summary with specific metrics (purchased vs. installed vs. in use counts). It distinguishes itself from siblings like 'get_license_optimization' by focusing on compliance.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it's for license compliance summaries but does not provide when-not-to-use or alternative tool references.

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

get_license_optimizationB
Read-onlyIdempotent

Analyze software license usage and recommend optimizations

ParametersJSON Schema
NameRequiredDescriptionDefault
software_nameNoOptional filter by software name
threshold_pctNoUsage threshold percentage (default: 80)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint, indicating safe read behavior. The description adds that it 'recommends optimizations', which is useful but doesn't disclose whether it modifies data (though annotations confirm read-only). No contradiction.

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?

Single sentence is concise and front-loaded. However, it could include more details like output format without becoming verbose.

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?

No output schema and description does not explain return values. For a tool that generates recommendations, the output format is crucial but missing. Complexity is low but completeness is lacking.

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% with clear parameter descriptions. The tool description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 clearly states the tool's purpose with specific verbs 'analyze' and 'recommend' targeting 'software license usage'. It distinguishes from siblings like get_license_compliance and list_software_licenses by focusing on optimization.

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?

No guidance on when to use this tool versus alternatives. Siblings like get_license_compliance and list_software_licenses exist but no explicit when-to-use or when-not-to-use context.

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

get_mobile_analyticsA
Read-onlyIdempotent

Get mobile app usage analytics — sessions, active users, popular applets

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoAnalysis period in days (default 30)

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, covering safety and idempotency. The description adds only the type of data returned (sessions, active users, popular applets), but does not disclose any behavioral traits beyond annotations, such as potential performance impact or data freshness constraints.

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

Conciseness5/5

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

The description is a single, focused sentence front-loaded with the tool's purpose. Every word adds value; no extraneous information.

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?

Given the tool's simplicity (one optional parameter, no output schema, read-only with annotations), the description adequately specifies what data is returned. It provides sufficient context for a straightforward analytics retrieval tool, though it could mention what 'popular applets' means.

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 coverage is 100%, with the 'days' parameter described as 'Analysis period in days (default 30)'. The description repeats the same information without adding new semantic context, so it meets the baseline but does not improve understanding beyond the schema.

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 'Get mobile app usage analytics — sessions, active users, popular applets' uses a specific verb ('Get') and names the resource ('mobile app usage analytics') with concrete data types. It is clearly differentiated from sibling tools like 'get_mobile_app_config' which retrieve configuration data.

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 description implies usage for retrieving mobile analytics data but does not explicitly state when to use this tool versus alternatives (e.g., other analytics tools). No when-not-to-use or alternative tools are mentioned, leaving the agent to infer usage context.

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

get_mobile_app_configB
Read-onlyIdempotent

Get details of a specific mobile app configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesMobile app config sys_id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds minimal extra context, aligning with the read-only nature. No contradictions, but no additional behavioral disclosure.

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 a single, front-loaded sentence with no extraneous words. It is concise and efficiently conveys the core purpose.

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?

Given the tool's simplicity (one parameter, no output schema, strong annotations), the description is sufficient. It tells the agent what it does without additional information being necessary.

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 coverage is 100% with a single parameter 'sys_id' described as 'Mobile app config sys_id'. The description does not add meaning beyond this, 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 'Get details of a specific mobile app configuration' clearly states the verb (get), resource (mobile app configuration), and scope (specific). It distinguishes from sibling tools like list_mobile_app_configs by focusing on a single config.

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?

The description provides no guidance on when to use this tool versus alternatives, such as list_mobile_app_configs. It does not mention prerequisites, like needing the sys_id from a list operation.

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

get_ms_copilot_topicsA
Read-onlyIdempotent

List VA topics exposed to Microsoft Copilot 365 via Custom Engine Agent integration

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 20)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations (readOnlyHint, idempotentHint, openWorldHint) already cover safety and idempotency. Description adds context about the data source but no further behavioral traits.

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

Conciseness5/5

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

Single, focused sentence with no unnecessary words, effectively communicating the tool's purpose.

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?

Adequate for a simple list tool with one optional parameter. Could describe output fields but not essential given the specific scope.

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 coverage is 100% for the limit parameter. Description provides no additional meaning beyond the schema's 'Max results (default: 20)'.

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 clearly states it lists VA topics exposed to Microsoft Copilot 365 via Custom Engine Agent integration, distinguishing it from siblings like list_va_topics_full.

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?

Implies usage for topics exposed to Copilot but provides no explicit guidance on when to use this vs alternatives like list_va_topics_full.

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

get_my_approvalsA
Read-onlyIdempotent

List approvals pending for the currently configured user

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by approval state (default: requested)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and open-world. The description adds behavioral context: it returns only pending approvals (state=requested) for the configured user, which is beyond annotation declarations. No contradictions.

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

Conciseness5/5

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

The description is a single, well-structured sentence with no extraneous words. It conveys the essential information efficiently.

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 simple tool with one optional parameter and no output schema, the description adequately covers the basic functionality. However, it could mention that the result is a list or include additional details about the return format.

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?

The input schema has 100% description coverage on the only parameter 'state'. The description does not add any additional meaning or constraints beyond what the schema provides, so baseline score of 3 is appropriate.

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 clearly states the verb 'List', the resource 'approvals', and the scope 'pending for the currently configured user'. It effectively distinguishes from sibling tools like 'list_approvals' and 'approve_request' by specifying the user context and pending state.

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?

The description implicitly guides when to use the tool (for pending approvals of the configured user) but does not explicitly contrast with alternatives like 'list_approvals' or 'approve_request'. The context is clear, but exclusions or when-not-to-use are missing.

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

get_notificationA
Read-onlyIdempotent

Get full details of an email notification definition including template and conditions

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesNotification sys_id or name

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint, idempotentHint, openWorldHint. Description adds context about return content (template, conditions) but no additional behavioral traits.

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

Conciseness5/5

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

Single sentence is clear, direct, and front-loaded with purpose. No redundant information.

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?

No output schema; description adequately communicates that full details including template and conditions are returned. Sufficient for a simple read tool with thorough annotations.

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%; description adds no meaning beyond what schema provides for the single parameter. Baseline 3.

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?

Description clearly states verb 'Get', resource 'email notification definition', and included details ('template and conditions'). Distinct from siblings like list_notifications and update_notification.

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?

Implies usage when full details are needed, but does not explicitly mention when to use versus alternatives like list_notifications for summaries or update_notification for modifications.

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

get_pa_dashboardA
Read-onlyIdempotent

Get details of a PA dashboard including its widgets/tabs

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesDashboard sys_id or name

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds minimal behavioral context beyond stating the operation type ('Get'). No contradictions.

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

Conciseness5/5

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

The description is a single sentence of 10 words, front-loading the essential purpose. Every word earns its place with no redundancy or filler.

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?

Given the tool simplicity (one parameter, annotations present, no output schema), the description is mostly complete. It hints at the response content ('including its widgets/tabs') but could be slightly more explicit about response structure.

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 coverage is 100% with a clear parameter description ('sys_id_or_name'). The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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 uses a specific verb ('Get') and resource ('PA dashboard') and clarifies the scope ('details including its widgets/tabs'). It clearly distinguishes from sibling tools like list_pa_dashboards (list vs. get) and get_pa_indicator (different resource).

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?

The description provides clear context: use this tool when you need details of a specific PA dashboard. It does not explicitly state when not to use it or name alternatives, but the purpose is clear enough for selecting among siblings.

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

get_pa_indicatorA
Read-onlyIdempotent

Get details of a specific Performance Analytics indicator including its formula

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesIndicator sys_id or name

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description complements these by specifying that it returns 'details...including its formula', adding useful context beyond the annotations. There is no contradiction and no missing behavioral disclosure for this simple read operation.

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

Conciseness5/5

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

The description is a single, well-formed sentence that front-loads the verb and resource. It contains no fluff, every word earns its place, and it is appropriately sized for the tool's complexity.

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

Completeness5/5

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

For a simple get tool with one required parameter, read-only annotations, and no output schema, the description covers the essential functionality and return content (formula details). It is complete and leaves no ambiguity about what the tool returns.

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?

The input schema has 100% description coverage for the single parameter 'sys_id_or_name', which the schema already explains. The description does not add extra meaning or usage hints about the parameter beyond what the schema provides, so it meets the baseline but does not enhance understanding.

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 uses a specific verb ('Get') and identifies the exact resource ('details of a specific Performance Analytics indicator') including a notable sub-aspect ('its formula'). This clearly distinguishes it from sibling tools like list_pa_indicators, get_pa_dashboard, and get_pa_job.

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 description does not provide explicit guidance on when to use this tool nor when to avoid it. It implies usage for fetching indicator details, but no alternatives or exclusion criteria are mentioned, which is a minor gap for a simple get tool.

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

get_pa_jobB
Read-onlyIdempotent

Get details of a Performance Analytics collection job

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesPA job sys_id

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, which convey safety and idempotency. The description adds only the resource type 'collection job', but no additional behavioral traits beyond annotations. It does not contradict annotations.

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

Conciseness5/5

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

The description is a single sentence of 10 words, front-loaded with verb and resource. It is maximally concise with no extraneous information, earning a top score.

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

Completeness3/5

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

Given the tool is straightforward with 1 parameter and annotations covering safety, the description is barely adequate. It lacks details on output format or error behavior, but is not critically incomplete for this simple case.

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?

The schema covers 100% of parameters with a description for sys_id. The tool description does not add any extra meaning or context about the parameter (e.g., format, source). Baseline score of 3 is appropriate.

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 uses 'Get details of a Performance Analytics collection job', which clearly identifies the verb and resource. It distinguishes among sibling tools like list_pa_jobs or get_pa_indicator by specifying 'collection job', but does not explicitly differentiate from other PA detail tools.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention that list_pa_jobs is for listing, or when not to use this tool. Explicit usage context is missing.

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

get_pa_scorecardA
Read-onlyIdempotent

Get current scorecard data for a PA indicator — returns current value, target, trend direction

ParametersJSON Schema
NameRequiredDescriptionDefault
indicator_sys_idYesPA indicator sys_id
breakdown_sys_idNoOptional breakdown (dimension) sys_id to segment data by group
periodNoTime period: last_7_days, last_30_days, last_quarter, last_year (default: last_30_days)
include_scoresNoInclude individual score records (default false)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint as true. The description adds return content details (current value, target, trend direction) but does not disclose behavioral traits like error handling, authorization, or rate limits. It adds moderate context beyond annotations.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the verb and resource. Every word serves a purpose, and it is appropriately concise with no wasted content.

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?

Given the presence of annotations and a fully described schema, the description covers the core purpose and return values. However, it could be more complete by explaining how parameters like breakdown_sys_id and include_scores affect the output. Still, it is adequate for a simple retrieval tool.

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?

The input schema provides 100% coverage for all four parameters with clear descriptions. The tool description does not add any additional meaning beyond what the schema already specifies. Baseline score of 3 is appropriate.

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 clearly states the verb 'Get', the resource 'scorecard data for a PA indicator', and what it returns ('current value, target, trend direction'). This is specific and distinguishes it from siblings like get_pa_dashboard or get_pa_time_series.

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 description implies usage for retrieving current scorecard data but does not provide explicit guidance on when to use this tool versus siblings (e.g., get_pa_time_series for historical data). No when-not-to-use or alternative suggestions.

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

get_pa_time_seriesB
Read-onlyIdempotent

Get historical time-series data for a PA indicator to identify trends

ParametersJSON Schema
NameRequiredDescriptionDefault
indicator_sys_idYesPA indicator sys_id
start_dateNoStart date in YYYY-MM-DD format (default: 30 days ago)
end_dateNoEnd date in YYYY-MM-DD format (default: today)
limitNoMax data points to return (default 100)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint as true, indicating safe, idempotent read operations. The description adds that it returns 'historical time-series data', which aligns with these annotations. However, it does not provide additional behavioral context beyond what annotations convey, so a baseline score is appropriate.

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

Conciseness5/5

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

The description is a single sentence that is efficient and front-loaded with the key action and purpose. No redundant information, and it earns its place by being direct.

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

Completeness3/5

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

The description explains the tool's purpose but does not specify the output format (e.g., data points with timestamps). Given no output schema, additional context would be helpful. However, for a simple read operation with good parameter descriptions, it is minimally adequate.

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 coverage is 100% with all four parameters described adequately (e.g., default values for dates, limit). The tool description does not add additional meaning beyond the schema descriptions, so the contribution is neutral. Baseline score 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 clearly states it retrieves historical time-series data for a PA indicator, with the purpose of identifying trends. This distinguishes it from sibling tools like get_pa_indicator (returns indicator definition) and list_pa_indicators (lists indicators). The verb 'Get' is specific and the resource is clearly defined.

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?

The description lacks explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or other tools that might be more appropriate (e.g., get_pa_indicator for non-time-series data). The context is only implied but not stated.

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

get_performance_analyticsB
Read-onlyIdempotent

Get Performance Analytics widget data (requires PA plugin; latest release: /api/now/pa/widget/{sys_id})

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_sys_idYessys_id of the PA widget
time_rangeNoTime range (e.g., "last_30_days", "last_quarter")

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating safe, read-only behavior. The description adds the plugin requirement and API URL, which is useful but does not provide additional behavioral details beyond what annotations convey.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys purpose, a critical requirement, and an API reference. No unnecessary words or repetition.

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?

Given the tool's simplicity (two parameters, no output schema) and strong annotations, the description covers the key points: purpose, prerequisite, and API endpoint. It does not specify return format or pagination, but those are often assumed for read-only get tools.

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 coverage is 100% with clear descriptions for both parameters (widget_sys_id and time_range). The tool description does not add any parameter-specific information, so it meets the baseline for high schema coverage.

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 clearly states the tool retrieves 'Performance Analytics widget data', specifying the verb and resource. It also notes the plugin requirement and provides the API endpoint. However, it does not differentiate from sibling PA tools like get_pa_dashboard or get_pa_indicator, which target different PA entities.

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?

The description mentions a prerequisite (PA plugin) but gives no guidance on when to use this tool versus other PA get tools or how to decide if it's appropriate. No explicit context for use or exclusions are provided.

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

get_pi_modelsA
Read-onlyIdempotent

List available Predictive Intelligence solutions (classification/similarity models)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, indicating safe, consistent, and potentially incomplete results. The description adds no additional behavioral context (e.g., caching, authorization requirements). While it does not contradict annotations, it adds minimal value beyond them.

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

Conciseness5/5

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

A single sentence with no unnecessary words. It is front-loaded with the action and resource, making it easy for an agent to parse quickly.

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?

The tool is a simple list operation with good annotations. The description lacks details about return format (e.g., what fields are returned), but given the straightforward nature and presence of annotations, it is mostly complete. Minor gap for an agent expecting a full overview.

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?

Tool has no parameters, and input schema coverage is 100% (empty schema). The description does not need to add parameter details. Baseline 4 applies since no parameters to document.

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?

Description uses a specific verb ('List') and resource ('available Predictive Intelligence solutions'), clarifying the tool focuses on classification/similarity models. This clearly differentiates it from numerous sibling 'list_*' tools.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it's for listing PI models, but does not specify when not to use it or mention alternative tools for model management, which could help an agent decide.

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

get_portalA
Read-onlyIdempotent

Get full configuration details of a Service Portal by sys_id or URL suffix

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPortal sys_id or url_suffix (e.g. "sp", "itsm")

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description carries low burden. It adds 'full configuration details' but no further behavioral traits like return size or pagination. No contradictions.

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

Conciseness5/5

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

The description is a single sentence that conveys the essential information without waste. It is front-loaded and easy to parse.

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

Completeness3/5

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

The tool is simple (1 required param, no output schema) and annotations cover safety. 'Full configuration details' is somewhat vague but adequate given the domain. Lacks explicit enumeration of returned fields.

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 coverage is 100% with a clear description for the parameter 'id'. The tool description repeats 'by sys_id or URL suffix' but adds no new meaning beyond the schema.

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 clearly states the verb 'Get' and the resource 'full configuration details of a Service Portal', and specifies identification method 'by sys_id or URL suffix'. This distinguishes it from siblings like list_portals (which lists portals) and get_portal_page (which gets a specific page).

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?

The description provides no explicit guidance on when to use this tool versus alternatives like list_portals or get_portal_page. It only states what it does, leaving the agent to infer context from sibling names.

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

get_portal_pageB
Read-onlyIdempotent

Get details of a specific Service Portal page including its layout

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesPage sys_id

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating safe, idempotent read operations. The description adds minimal behavioral context beyond stating 'Get details' and 'including its layout', but does not contradict annotations (no contradiction found).

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 a single, brief sentence that communicates the core purpose without redundancy. It is appropriately sized for a simple retrieval tool, though it could be slightly more precise by specifying what 'details' include.

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

Completeness3/5

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

Given the lack of output schema, the description provides a hint about the return content ('including its layout'), but does not fully explain what details are included. With annotations covering safety, the description is adequate but leaves some ambiguity about the response structure.

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?

The schema has 100% coverage for the single required parameter 'sys_id' described as 'Page sys_id'. The description does not add further meaning or context about the parameter, so it meets the baseline for a fully documented schema without extra value.

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 clearly identifies the tool as retrieving details of a specific Service Portal page, using the verb 'Get' and specifying the resource and scope ('including its layout'). This distinguishes it clearly from siblings like list_portal_pages (listing) or get_portal (portal-level details).

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?

No guidance is provided on when to use this tool versus alternatives like list_portal_pages or get_portal. The description lacks explicit context for when/not-to-use, and does not mention any prerequisites or alternative tools.

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

get_portal_themeA
Read-onlyIdempotent

Get full details of a Service Portal theme including CSS variables

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesTheme sys_id

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, which cover behavioral traits. The description adds context about the output (CSS variables) but does not disclose additional behavioral aspects beyond what annotations convey.

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

Conciseness5/5

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

Extremely concise one-sentence description that is front-loaded and contains no superfluous words.

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?

Given the absence of an output schema, the description provides a good hint about the return content (full details including CSS variables). However, it could be slightly more specific about other fields returned (e.g., theme name, properties).

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 coverage is 100% with a description for sys_id. The description does not add extra meaning to the parameter beyond the schema, so baseline score of 3 is appropriate.

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?

Clearly states the action (Get) and the resource (full details of a Service Portal theme including CSS variables). Distinguishes it from sibling tools like list_portal_themes which only list themes, and get_portal which retrieves portal, not theme.

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?

No guidance on when to use this tool versus alternatives such as list_portal_themes or get_portal. The description does not mention that this tool is for retrieving details of a single theme, while list_portal_themes is for listing all themes.

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

get_portal_widgetA
Read-onlyIdempotent

Get full source code (HTML, CSS, client/server scripts) of a Service Portal widget

ParametersJSON Schema
NameRequiredDescriptionDefault
id_or_sysidYesWidget sys_id or id field (e.g. "widget-cool-clock")

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnly and idempotent. Description adds value by specifying the exact components returned (HTML, CSS, scripts), which helps the agent understand the response content.

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

Conciseness5/5

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

Single sentence, 14 words, front-loaded with action and resource. No fluff.

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 simple get tool with one parameter and no output schema, the description adequately covers purpose and expected content. Lack of output format mention is minor given the straightforward nature.

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 coverage is 100% with a clear parameter description. The tool description adds no additional parameter semantics beyond what the schema provides.

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 clearly states the tool returns 'full source code' including HTML, CSS, and scripts, distinguishing it from sibling tools like list_portal_widgets (metadata only) and create/update variants.

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?

No explicit when-to-use or when-not-to-use guidance, but the context implies use when needing full source code. No alternatives mentioned.

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

get_problemA
Read-onlyIdempotent

Get full details of a problem by number (PRB...) or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesProblem number (PRB...) or sys_id

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint as true, so the description does not need to repeat these. The description adds the identification method (number or sys_id) which is a useful behavioral constraint, and does not contradict annotations.

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

Conciseness5/5

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

The description is a single sentence that is concise, front-loaded, and contains no superfluous information. Every word serves a purpose.

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

Completeness5/5

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

For a simple getter tool with one parameter and comprehensive annotations, the description is complete. It covers the purpose, identification method, and implies the return value ('full details'). No gaps are present.

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?

The input schema has 100% coverage with a clear description for the single parameter. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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 uses a specific verb ('Get') and resource ('problem'), and clarifies how to identify the problem (by number or sys_id). This clearly distinguishes it from sibling tools like 'get_incident' or 'get_record'.

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?

The description implicitly states that the tool is used when full details of a problem are needed, based on number or sys_id. While it doesn't explicitly exclude alternatives or provide when-not-to-use, the context is clear given the tool's specific name and purpose.

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

get_process_automationB
Read-onlyIdempotent

Get details of a Process Automation Designer playbook or process

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesPlaybook or process name or sys_id

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly and idempotent hints. Description adds no extra behavioral context (e.g., permissions, rate limits). Merely repeats the action.

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

Conciseness5/5

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

Single sentence, no redundant words. Efficient and front-loaded.

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

Completeness3/5

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

Minimal description. No output schema, so agent lacks information about returned details. Adequate for a simple get tool but could specify what 'details' includes.

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 coverage is 100%, so the parameter is fully documented in schema. Description adds no additional meaning beyond the schema.

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 clearly states 'Get details of a Process Automation Designer playbook or process', using a specific verb and resource. It distinguishes from sibling 'list_process_automations' which lists all, but does not explicitly differentiate from other 'get' tools.

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?

No guidance on when to use this tool versus alternatives. Lacks conditions, prerequisites, or exclusions.

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

get_property_historyA
Read-onlyIdempotent

Get audit history of changes to a system property

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProperty name
limitNoMax audit records (default 20)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that it returns 'audit history of changes', clarifying the tool provides historical records rather than current state. However, it does not mention output format, ordering, or pagination behavior.

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 a single sentence that directly states the purpose. It is concise and front-loaded, but could be slightly more informative (e.g., mentioning it returns a list of records) without losing brevity.

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?

Given the tool's simplicity (2 parameters, no output schema), the description adequately conveys its function. However, it could specify that the result is a list of change records and mention the limit parameter's role in controlling response size.

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 coverage is 100%, so the description adds no additional meaning to parameters beyond what the schema already provides. The baseline of 3 is appropriate as the description neither enhances nor detracts from parameter understanding.

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 clearly states 'Get audit history of changes to a system property', specifying a precise verb ('Get') and resource ('audit history of changes to a system property'), which distinguishes it from siblings like get_system_property (current value) and set_system_property (mutation).

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?

No guidance is provided on when to use this tool versus alternatives (e.g., get_system_property for current value, list_system_properties for all properties). It does not mention exclusions, prerequisites, or recommended contexts.

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

get_recordA
Read-onlyIdempotent

Retrieve complete details of a specific record by sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name
sys_idYes32-character system ID
fieldsNoOptional comma-separated fields

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description adds minimal behavioral context. It mentions 'complete details' but does not elaborate on output format, pagination, or rate limits. No contradiction with annotations.

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 very short (one phrase) and to the point. It is front-loaded with the core action. However, it could be slightly more structured, e.g., by including a sentence on the 'fields' parameter.

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

Completeness3/5

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

Given the lack of output schema and the presence of many sibling tools, the description is adequate but not comprehensive. It tells what the tool does but does not specify the return structure or any limitations.

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?

All parameters are fully described in the input schema (100% coverage). The description adds no additional semantics beyond 'by sys_id'. With schema coverage high, baseline score of 3 is appropriate.

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 clearly states the verb 'retrieve' and the resource 'record by sys_id', indicating it fetches a single record. It distinguishes from sibling tools like get_incident or get_user by targeting any table via the 'table' parameter.

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?

While the description implies general-purpose record retrieval, it does not explicitly state when to use this tool over dedicated get_* tools (e.g., get_incident, get_user). No when-not-to-use guidance or alternative suggestions are provided.

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

get_reportA
Read-onlyIdempotent

Get the definition and metadata of a saved report

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesReport sys_id or exact name

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description need not repeat safety traits. It adds no new behavioral details but does not contradict annotations.

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

Conciseness5/5

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

Single sentence that is concise and front-loaded with the essential action and object. No superfluous words.

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?

Given the simple input schema, rich annotations, and lack of output schema, the description is mostly complete. It might mention that it retrieves a single report, but this is implied by the parameter.

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% with a clear parameter description. The tool description does not add further meaning beyond what the schema provides, which is acceptable.

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 clearly states the verb 'Get' and the resource 'definition and metadata of a saved report'. It differentiates from sibling tools like 'list_reports' (list) and 'create_report' (create).

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?

No guidance on when to use this tool vs alternatives such as 'list_reports' or 'export_report_data'. The description lacks explicit usage context or exclusions.

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

get_requestA
Read-onlyIdempotent

Get a service catalog request (sc_request) by number or sys_id, including its requested items

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesRequest number (e.g. REQ0001234) or sys_id

TDQS

A4/5.0
Behavior3/5

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

The annotations already indicate that the tool is read-only, idempotent, and open-world. The description adds that it 'includes its requested items,' which provides some behavioral insight, but it does not detail how those items are returned or if there are any additional constraints, resulting in minimal added value.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the essential information. Every word contributes to clarity, and there is no extraneous content.

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 simple retrieval tool with one parameter and annotation support, the description is sufficient. It states the resource and the inclusion of requested items, though it does not describe the return format in detail since no output schema is present. The missing output schema means the description could slightly benefit from more structure hints, but it remains adequate.

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?

The input schema already fully describes the single parameter 'number_or_sysid' with an example. Since schema coverage is 100%, the description adds no new semantic information about the parameter.

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 clearly states the action ('Get'), the resource ('service catalog request (sc_request)'), the method ('by number or sys_id'), and the scope ('including its requested items'). It effectively distinguishes this tool from sibling tools like 'get_request_item' and 'list_requests'.

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?

The description implies that this tool is for retrieving a specific request when you have its number or sys_id. It provides clear context but does not explicitly state when not to use it or mention alternatives, which keeps it from being a 5.

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

get_request_itemA
Read-onlyIdempotent

Get a requested item (sc_req_item) by number or sys_id, including its fulfillment tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesRITM number (e.g. RITM0001234) or sys_id

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. Description adds value by stating that fulfillment tasks are included, which is behavioral context beyond annotations. No contradictions.

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

Conciseness5/5

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

Single sentence, no filler, front-loaded with the core action and resource. Every word adds value.

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 simple get operation with one parameter and no output schema, the description covers the essential behavior including included data. Could mention what happens if the item is not found, but overall complete.

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 coverage is 100% with a clear description for the parameter. The description does not add any additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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?

Clearly states verb 'Get', resource 'requested item (sc_req_item)', and specifies lookup methods 'by number or sys_id'. Also mentions including fulfillment tasks, which distinguishes it from other get tools like get_request or list_request_items.

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?

No explicit guidance on when to use this tool vs alternatives. The purpose is specific enough to imply usage for retrieving a single request item, but lacks context like when not to use it or what distinguishes it from similar tools.

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

get_rest_messageA
Read-onlyIdempotent

Get full configuration of an outbound REST Message including its endpoints

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesREST Message sys_id or name

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, so safety is clear. Description adds that it returns endpoints, but no additional behavioral traits like authorization needs or rate limits are disclosed. Acceptable given annotation coverage.

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

Conciseness5/5

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

Single sentence with no redundant words; front-loaded with the key action and result. Every word earns its place.

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 simple read tool with one parameter and no output schema, the description adequately conveys the purpose and scope (full configuration including endpoints). It could mention error cases or parameter format, but overall sufficient.

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 coverage is 100% for the single parameter, with a description stating it accepts sys_id or name. Description does not add extra meaning about the parameter beyond what the schema provides, so baseline score of 3 is appropriate.

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?

Description clearly states it retrieves the full configuration of an outbound REST Message including its endpoints, using a specific verb and resource. This distinguishes it from sibling tools like list_rest_messages which only list messages.

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?

No explicit guidance on when to use this tool versus alternatives such as list_rest_messages or create_rest_message. The description does not mention when it is appropriate or not appropriate to invoke.

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

get_scheduled_jobA
Read-onlyIdempotent

Get full details of a scheduled job by sys_id or name

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesJob sys_id or exact name

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns 'full details' but no further behavioral context beyond what annotations provide.

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

Conciseness5/5

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

Single sentence, no redundant words, efficiently conveys the tool's purpose.

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 simple read-only tool with one parameter and clear annotations, the description is sufficient. It could optionally hint at what 'full details' includes, but not necessary given the schema.

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 coverage is 100% with a single parameter description. The description simply restates 'by sys_id or name', adding no additional meaning beyond the schema.

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 clearly states 'Get full details of a scheduled job' with the specific identifier methods 'sys_id or name', distinguishing it from list tools.

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 description implies using this tool when you have a sys_id or name and need full details, but it does not explicitly mention when to use alternatives like list_scheduled_jobs or other get tools.

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

get_scoped_appA
Read-onlyIdempotent

Get full details of a scoped application by sys_id or scope name

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesApp sys_id or scope name (e.g. "x_myco_myapp")

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description adds little beyond 'Get full details'. No contradiction, but no extra behavioral context.

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

Conciseness5/5

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

The description is a single, clear sentence with no redundant information. Every word adds value.

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

Completeness3/5

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

No output schema, so the description could hint at what 'full details' includes. The annotations cover safety and idempotency, but the lack of explicit output information leaves some ambiguity for complex decision-making.

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 coverage is 100% and includes a description for the 'id' parameter. The tool description adds an example of the scope name format, which provides marginal value beyond the schema.

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 clearly states the verb 'Get', the resource 'scoped application', and the identification method 'by sys_id or scope name'. This distinguishes it from sibling tools like 'list_scoped_apps' or 'create_scoped_app'.

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?

No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of when to use 'get' instead of 'list' or other retrieval tools.

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

get_script_includeA
Read-onlyIdempotent

Get full script body of a script include (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesScript include sys_id or api_name

TDQS

A4.2/5.0
Behavior4/5

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

The description adds the critical behavioral constraint that SCRIPTING_ENABLED must be true, which is not captured by the annotations. Annotations already indicate readOnly, idempotent, and open world hints. The description does not contradict annotations.

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

Conciseness5/5

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

The description is extremely concise, consisting of a single sentence that front-loads the action and includes an essential condition. Every word adds value; there is no redundancy.

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?

Given one parameter and no output schema, the description sufficiently indicates what the tool does and its prerequisite. It does not describe the return format, but 'full script body' implies the response contains the script source. For a simple retrieval tool, this is adequate.

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?

The sole parameter 'sys_id_or_name' is described in the schema with 'Script include sys_id or api_name'. Schema description coverage is 100%. The tool description reaffirms the parameter's purpose by stating it identifies which script include to fetch. No additional semantic details are needed beyond what the schema provides.

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 clearly states the verb 'Get' and the resource 'full script body of a script include'. It distinguishes the tool from siblings like 'list_script_includes' which lists script includes, and 'update_script_include' which modifies them, by focusing on retrieving the script body.

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?

The description explicitly mentions a prerequisite (SCRIPTING_ENABLED=true), providing clear context for when the tool can be used. It does not explicitly state when not to use it or name alternatives, but the requirement serves as a useful guideline.

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

get_security_dashboardA
Read-onlyIdempotent

Get security posture dashboard — open incidents by severity, vulnerability counts, mean time to resolve

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back period in days (default 30)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds concrete metrics but no further behavioral details (e.g., data source, caching, response size). It does not contradict annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence that conveys the purpose and key data points. No redundant words or unnecessary details.

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 simple read-only tool with one optional parameter, the description is adequate, specifying the three key metrics. However, it could be improved by mentioning if the data is real-time or cached, or what source it queries, to fully inform the agent.

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 coverage is 100% for the single parameter 'days', with a clear description. The tool description does not add additional meaning beyond the schema, so baseline 3 is appropriate.

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 clearly states the tool retrieves a security posture dashboard with specific metrics (open incidents by severity, vulnerability counts, mean time to resolve). The verb 'Get' and resource 'security dashboard' are explicit and distinct from sibling tools like cmdb_health_dashboard or get_pa_dashboard.

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 description implies usage for viewing security posture, but lacks explicit guidance on when to use this versus other dashboard or list tools. No alternatives or exclusions are mentioned, leaving the agent to infer context from the tool name and description.

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

get_security_incidentA
Read-onlyIdempotent

Get full details of a security incident by number or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesSecurity incident number (SIR...) or sys_id

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, openWorldHint=true, which inform the agent of safe, read-only behavior. The description adds that it returns 'full details', implying completeness. No contradictions.

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

Conciseness5/5

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

The description is extremely concise (one sentence) with no redundant information. It front-loads the action and resource, making it efficient for an agent to parse.

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 simple retrieval tool with one parameter and comprehensive annotations, the description is sufficient. It explains what it retrieves and how to identify the incident. The absence of output schema is compensated by stating 'full details', which sets expectations.

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?

With 100% schema description coverage, the baseline is 3. The description does not add any parameter semantics beyond what is already in the schema ('Security incident number (SIR...) or sys_id'). It is adequate but not value-adding.

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 clearly states the verb 'Get' and the resource 'full details of a security incident', and specifies the identifier as 'number or sys_id'. It distinguishes from sibling tools like 'list_security_incidents' (which lists) and 'update_security_incident' (which modifies), and also from 'get_incident' for regular incidents.

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 description implicitly indicates usage for retrieving a single incident by identifier, but does not explicitly state when to use this tool over alternatives like 'list_security_incidents' or 'get_record'. No exclusions or when-not-to-use guidance is provided.

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

get_sla_detailsA
Read-onlyIdempotent

Get SLA breach status for a specific task or incident

ParametersJSON Schema
NameRequiredDescriptionDefault
task_sys_idYesSystem ID of the task/incident

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal context about returning breach status but does not disclose additional behaviors like required permissions or what constitutes a breach.

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

Conciseness5/5

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

Single sentence with 10 words, front-loaded with the key action and resource. No redundancy or unnecessary detail.

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 simple retrieval tool with one parameter and annotations covering safety, the description is mostly complete. However, with no output schema, it could briefly indicate the nature of the response (e.g., whether it returns a boolean or details).

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 coverage is 100% and already describes the sole parameter 'task_sys_id' as the system ID. The description adds no further meaning beyond the schema.

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?

Description uses specific verb 'Get' and resource 'SLA breach status' for a specific task or incident, clearly distinguishing it from sibling tools like 'get_csm_case_sla' or 'list_active_slas'.

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 description implies when to use (for a specific task/incident) but does not provide explicit guidance on alternatives or exclusions relative to sibling tools such as 'get_csm_case_sla' or 'list_active_slas'.

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

get_soap_messageA
Read-onlyIdempotent

Get full configuration of a SOAP Message including its functions/operations

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesSOAP Message sys_id or name

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnly, idempotent, and openWorldHint. The description adds that the tool returns full configuration including functions/operations, which provides behavioral context beyond the annotations. No contradictions.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that clearly communicates the tool's purpose without any superfluous words. Every word serves a purpose.

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?

With no output schema, the description is the sole source for understanding the return value. It states 'full configuration including its functions/operations', which is informative but could be more precise (e.g., listing specific properties). Still adequate for the tool's simplicity.

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 coverage is 100% for the single parameter sys_id_or_name, with a clear description. The tool description does not add any extra meaning, format guidance, or examples beyond the schema, so it meets but does not exceed the baseline.

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 uses the specific verb 'Get' and clearly identifies the resource as 'full configuration of a SOAP Message including its functions/operations'. This distinguishes it from sibling tools like list_soap_messages (which lists summaries) and get_rest_message (different protocol).

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?

The description provides clear context: use when you need the complete configuration of a SOAP message. However, it does not explicitly state when not to use it or mention alternatives (e.g., list_soap_messages for just names). This is a minor gap.

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

get_subflowA
Read-onlyIdempotent

Get full details of a subflow including its inputs, outputs, and actions

ParametersJSON Schema
NameRequiredDescriptionDefault
name_or_sysidYesSubflow name or sys_id

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, so the agent knows it's safe. The description adds what details are retrieved but does not discuss error conditions, auth needs, or side effects beyond what annotations convey.

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

Conciseness5/5

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

Single sentence, 12 words, front-loaded with key information. No fluff, every word adds value.

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 read-only retrieval tool with good annotations and a single parameter, the description is mostly complete. However, it does not mention what happens if the subflow is not found or how to handle errors, though the openWorldHint may imply graceful missing handling.

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 coverage is 100% with a description for the single parameter. The tool description does not add any information beyond what the schema already provides, so baseline 3 applies.

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 uses a specific verb 'Get' and resource 'subflow', and explicitly mentions what is included (inputs, outputs, actions). It clearly distinguishes from sibling tools like 'list_subflows' which only list subflows.

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?

No guidance on when to use this tool versus alternatives. Does not mention prerequisites like needing a sys_id from list_subflows, or when to prefer this over get_flow.

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

get_sys_logA
Read-onlyIdempotent

Retrieve system log entries for debugging or auditing

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter (e.g., "level=error^sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()")
limitNoMax entries (default: 20)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description adds minimal behavioral context beyond purpose. No contradictions.

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

Conciseness5/5

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

Single sentence, efficient, and front-loaded with key information. No unnecessary words.

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 simple read-only tool with two optional parameters and good annotations, the description is adequate. Could mention that it specifically retrieves system log entries but is otherwise complete.

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 coverage is 100% and both parameters have descriptions. The description does not add extra meaning beyond what the schema provides, so baseline score 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 clearly states the verb 'retrieve' and resource 'system log entries' with purpose 'debugging or auditing'. It is clear but does not differentiate from sibling tools like get_email_log or get_flow_error_log.

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 description implies usage for debugging or auditing but provides no explicit guidance on when to use this tool over alternatives or when not to use it.

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

get_system_propertyA
Read-onlyIdempotent

Get a ServiceNow system property value and metadata by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProperty name (e.g. "glide.smtp.host")

TDQS

A3.5/5.0
Behavior2/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal extra behavioral context, such as what happens if the property is not found or the response structure. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence with no superfluous words. It is immediately understandable and front-loaded with the action and resource.

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

Completeness3/5

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

For a simple retrieval tool with one parameter and annotations covering safety, the description is adequate but does not specify return values or behavior when the property is missing. No output schema exists, so additional clarity would be beneficial.

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?

The schema has 100% coverage with a description for the 'name' parameter including an example. The description adds no new parameter information beyond 'by name', which is redundant. Baseline 3 for high schema coverage.

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 clearly states the tool retrieves a system property value and metadata by name. It uses a specific verb ('Get') and resource ('ServiceNow system property value and metadata'), distinguishing it from siblings like 'search_system_properties' or 'list_system_properties'.

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 description implies usage for retrieving a single property by exact name, but it does not explicitly state when to use this over alternatives like 'search_system_properties' or 'list_system_properties'. No guidance on when not to use it.

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

get_table_record_countA
Read-onlyIdempotent

Get total record count for a ServiceNow table with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name
queryNoOptional encoded query to count a subset

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, openWorldHint, covering safety and idempotency. Description adds that it counts with optional filters, which is consistent. No contradictions, but no additional behavioral context beyond what annotations imply.

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

Conciseness5/5

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

Single sentence of 11 words, front-loaded with key information. No wasted words.

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?

Simple read operation with annotations covering safety; schema covers both parameters. No output schema, but return type (count) is implied. Could mention return format but not essential.

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 coverage is 100% with clear descriptions for both parameters. Description references 'optional filters' but adds no new semantics beyond what the schema already provides.

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?

Clearly states verb 'Get', resource 'total record count for a ServiceNow table', and optional filters. Distinct from sibling tools like compare_record_counts and query_records.

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?

No explicit guidance on when to use this tool versus alternatives like query_records or run_aggregate_query. The description only states what it does, not when to choose it.

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

get_table_schemaA
Read-onlyIdempotent

Get the structure and field information for a ServiceNow table

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name to inspect

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's minimal addition is acceptable. It does not elaborate on behavior beyond the annotations, but does not contradict them either.

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

Conciseness5/5

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

Single sentence that is direct and front-loaded with the core action, containing no unnecessary words.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description adequately explains its purpose and parameter. No additional information is needed.

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 coverage is 100% with a clear parameter description for 'table'. The tool description adds no further meaning, so baseline 3 applies.

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 clearly states the tool retrieves structure and field information for a ServiceNow table, using a specific verb ('Get') and resource, distinguishing it from sibling tools that retrieve data or list records.

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?

No guidance on when to use this tool versus alternatives like get_record or list_*. The description does not mention any prerequisites, context, or exclusions.

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

get_taskA
Read-onlyIdempotent

Get details of any task record by number or sys_id

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesTask number or sys_id

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds no extra behavioral context beyond stating retrieval. With annotations covering safety, a baseline score is appropriate.

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

Conciseness5/5

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

One concise sentence of 12 words, front-loaded with verb and resource. No wasted words.

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

Completeness5/5

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

Given a single parameter, no output schema, and annotations, the description sufficiently states what the tool does and how to identify the record. No missing critical information.

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 has 100% coverage with one parameter described as 'Task number or sys_id'. Description adds no additional meaning beyond the schema, meeting baseline.

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 uses specific verb 'Get' and resource 'details of any task record' with identifier method 'by number or sys_id'. It clearly distinguishes from sibling getters for specific record types like get_incident, get_change_request.

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?

No explicit guidance on when to use this tool versus alternatives like get_incident, get_record, or other getters. The description does not provide context for selection among siblings.

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

get_threat_intelligenceA
Read-onlyIdempotent

Query threat intelligence data — IOCs, threat actors, and campaigns

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch term (IP, domain, hash, actor name)
typeNoFilter by IOC type: ip_address, domain, file_hash, url, email
limitNoMax records to return (default 25)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds that it queries threat intelligence data but does not disclose other behaviors like pagination, rate limits, or error handling. No contradiction with annotations.

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?

Single sentence with a dash for listing data types. Front-loaded with action and resource. Efficient but could benefit from bullet points or additional structure for readability.

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

Completeness3/5

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

Lacks explanation of output format or interpretation of results. With no output schema, the description should elaborate on what the query returns (e.g., fields, count). Annotations cover safety but not completeness.

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 has 100% description coverage for all three parameters (query, type, limit). Description does not add extra meaning beyond the schema; it only lists example data types (IOCs, actors, campaigns) without linking to parameters.

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?

Description clearly states the verb 'Query' and the resource 'threat intelligence data', specifying content types: IOCs, threat actors, campaigns. It distinguishes from sibling get_ tools by focusing on threat intelligence rather than a single record type.

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?

No explicit guidance on when to use this tool versus siblings like search_cmdb_ci or list_vulnerabilities. The description implies use for threat intelligence queries but does not provide when-not or alternative tools.

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

get_transform_mapA
Read-onlyIdempotent

Get details of a Transform Map including its field mappings

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesTransform Map sys_id or name

TDQS

A4/5.0
Behavior4/5

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

Annotations provide readOnlyHint, idempotentHint, openWorldHint. Description adds that it returns 'details including field mappings', which is useful behavioral context beyond what annotations offer.

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

Conciseness5/5

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

Single sentence, no wasted words. Every element contributes to understanding the tool's purpose.

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 simple read tool with one parameter, rich annotations, and no output schema, the description is adequate. Could mention if details include something else, but field mappings is the key detail.

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 coverage is 100% with parameter description. Description does not add additional meaning for the parameter, only states what the tool returns. Baseline 3 is appropriate.

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?

Description clearly states it gets details of a Transform Map including field mappings. Uses specific verb 'Get' and resource 'Transform Map', distinguishing it from sibling list_transform_maps and generic get_record.

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?

Implied usage (when you need details of a specific transform map), but no explicit when-to-use or when-not-to-use compared to alternatives like list_transform_maps or get_record.

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

get_ui_actionA
Read-onlyIdempotent

Get full details and script of a UI Action (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUI Action sys_id

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, indicating a safe read operation. The description adds value by disclosing the requirement 'requires SCRIPTING_ENABLED=true', which is a behavioral constraint not covered by annotations. It does not contradict annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys purpose and a key prerequisite without wasted words. It is highly efficient.

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?

Given the tool is a simple one-parameter getter with no output schema, the description adequately covers the core behavior (returns full details/script) and a condition (SCRIPTING_ENABLED=true). It does not need to enumerate return fields since it says 'full details'. Nearly complete for the context.

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 coverage is 100% (the parameter 'sys_id' has a description). The tool description says 'Get full details and script of a UI Action', which implies the parameter identifies the UI Action. This adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly states the verb 'Get' and the resource 'UI Action' with specifics ('full details and script'). It distinguishes itself from sibling tools like list_ui_actions (which lists) and update_ui_action (which modifies).

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 description mentions a prerequisite (requires SCRIPTING_ENABLED=true), which provides some usage context. However, it does not explicitly state when to use this tool versus alternatives like list_ui_actions for listing or update_ui_action for editing, nor does it provide when-not-to-use guidance.

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

get_uib_pageA
Read-onlyIdempotent

Get details of a specific UI Builder page including layout and child elements

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUIB page sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that the tool returns layout and child elements, but does not disclose other behavioral traits such as required permissions or rate limits. With annotations covering safety, the bar is lower, but minimal extra context is provided.

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

Conciseness5/5

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

The description is a single, front-loaded sentence (14 words) that immediately conveys the verb and resource. No unnecessary words or repetition.

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?

The description tells what the tool returns (details, layout, child elements). Given the simplicity of the tool (1 param, no output schema, strong annotations), it is adequately complete. Could be improved by noting if the page must be deployed or if there are access restrictions.

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% with a single parameter 'sys_id' described as 'UIB page sys_id'. The description does not add any additional meaning or constraints beyond what the schema already provides. Baseline 3 applies since coverage is high.

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 clearly states the tool retrieves details of a specific UI Builder page, including layout and child elements. It uses a specific verb (Get) and resource (UI Builder page), and distinguishes it from sibling tools like list_uib_pages (which lists pages) and create/update/delete operations.

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 description implies use when needing details of a single page, but does not explicitly state when to use this tool versus alternatives like get_portal_page or get_record. No guidance on prerequisites or limitations.

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

get_ui_policyA
Read-onlyIdempotent

Get full details and conditions of a UI Policy (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUI Policy sys_id

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds a behavioral constraint (requires SCRIPTING_ENABLED=true), which provides useful context beyond the annotations. No contradictions.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the purpose and adds a key requirement. Every word earns its place with no redundancy.

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 simple read tool with one parameter and full schema coverage, the description is adequate. It specifies the tool returns 'full details and conditions', which is sufficient for an agent to understand the output scope. No output schema exists, but the description hints at completeness.

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 coverage is 100% (sys_id described as 'UI Policy sys_id'). The description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 clearly states the tool retrieves full details and conditions of a UI Policy, using the specific verb 'Get' and resource 'UI Policy'. It distinguishes from sibling list_ui_policies by implying it is for a single policy's detailed view.

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?

The description provides a clear context for when to use the tool (to get full details of a UI Policy) and explicitly mentions a prerequisite (SCRIPTING_ENABLED=true). However, it does not explicitly state when not to use or name alternative tools.

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

get_userB
Read-onlyIdempotent

Look up user details by email or username

ParametersJSON Schema
NameRequiredDescriptionDefault
user_identifierYesEmail address or username

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds no additional behavioral context beyond what annotations convey, so it meets the baseline but offers no extra value.

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

Conciseness5/5

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

Extremely concise (one sentence, 8 words). Front-loaded with the core action. Every word is necessary.

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 simple lookup tool with one parameter and good annotations, the description is sufficient. It does not describe the return format, but the tool's simplicity makes it acceptable.

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%, and the description repeats the same information ('by email or username') that is already in the parameter description. No additional meaning is added.

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 'Look up user details by email or username' clearly specifies the verb (look up) and resource (user details). It distinguishes from many other get_* tools by mentioning the lookup method, but does not explicitly differentiate from siblings like get_record.

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?

No guidance on when to use this tool vs alternatives. There is no mention of context, exclusions, or related tools.

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

get_ux_appA
Read-onlyIdempotent

Get configuration details of a Next Experience application

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_id_or_nameYesApp sys_id or name

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the description does not need to restate safety. It adds minimal behavioral context beyond stating it gets 'configuration details'. No contradictions are present.

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

Conciseness5/5

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

A single sentence of 8 words, front-loading the action and resource. No filler or redundant information; every word contributes to the meaning.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no output schema) and the presence of comprehensive annotations, the description is adequate but not thorough. It lacks context on when to prefer this over siblings and does not elaborate on the return value.

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 coverage is 100% with a description for the only parameter 'sys_id_or_name'. The description does not add any additional meaning or context beyond what the schema provides, so it meets the baseline for high coverage.

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 clearly specifies the verb 'Get' and the resource 'configuration details of a Next Experience application', making the tool's purpose unambiguous. It distinguishes itself from sibling tools like 'list_ux_apps' (which lists multiple apps) and 'get_scoped_app' (a different category).

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?

The description provides no guidance on when to use this tool versus alternatives like 'list_ux_apps' or 'get_scoped_app'. There is no mention of prerequisites, context, or exclusions, which is a significant gap given the large number of sibling tools.

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

get_va_conversationA
Read-onlyIdempotent

Get conversation history for a Virtual Agent session

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation sys_id or session ID
limitNoMax messages (default 50)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, indicating safe, idempotent read behavior. The description adds no additional behavioral context (e.g., auth needs, rate limits, or side effects) beyond what annotations convey.

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

Conciseness5/5

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

Single concise sentence that efficiently conveys the tool's function. No wasted words, front-loads the core idea.

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?

Given the tool's simplicity (2 parameters, no output schema, extensive annotations), the description is largely complete. However, it could mention return format or pagination behavior, though the limit parameter implies partial results.

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 coverage is 100%, so baseline is 3. The description does not add any extra meaning to parameters; it simply restates the tool's purpose without explaining parameter usage beyond what the schema already defines.

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?

Description clearly states the tool's purpose: 'Get conversation history for a Virtual Agent session'. It uses a specific verb ('Get') and resource ('conversation history'), distinguishing it from siblings like 'list_va_conversations' which lists conversations rather than retrieving history.

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?

No explicit guidance on when to use this tool over alternatives. While it's implied that this tool retrieves history for a specific conversation versus listing all conversations, the description does not state when to choose this tool over similar ones like 'get_va_topic' or 'list_va_conversations'.

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

get_va_topicB
Read-onlyIdempotent

Get Virtual Agent topic details including intent and trigger phrases

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesTopic sys_id

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is clear. The description adds that the tool returns 'intent and trigger phrases', which is useful behavioral context, but does not elaborate on other possible fields or limitations. With annotations covering the core safety aspects, a score of 3 is appropriate.

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 a single, concise sentence of 10 words that front-loads the verb. It is efficient and to the point, though it could potentially benefit from slightly more structure or detail. Still, it earns its place with minimal waste.

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

Completeness3/5

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

Given there is no output schema, the description partially compensates by mentioning 'intent and trigger phrases'. However, it does not fully describe the return format or place the tool in the broader Virtual Agent context. For a simple read-only tool, this is adequate but not complete.

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 coverage is 100% for the single parameter sys_id, which is described as 'Topic sys_id'. The description does not add any additional semantics beyond the schema. Baseline 3 is correct since the schema already documents the parameter adequately.

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 clearly states the tool retrieves Virtual Agent topic details including intent and trigger phrases. It distinguishes from sibling tools like list_va_topics_full (which lists topics) and get_va_conversation (which gets conversation details).

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or when not to use it. Sibling tools like get_va_conversation or list_va_topics_full exist but are not referenced.

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

get_virtual_agent_topicsB
Read-onlyIdempotent

List Virtual Agent topics available in the instance (latest release: streaming VA API)

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active topics only
categoryNoFilter by topic category
limitNoMax results (default: 20)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds that it lists topics and references 'streaming VA API', but does not elaborate on behaviors like pagination, error handling, or rate limits.

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 a single, front-loaded sentence that efficiently conveys the core purpose. It could potentially include a bit more context without being verbose.

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?

Given the simple nature of the tool, full schema coverage, and comprehensive annotations, the description is adequate. The lack of output schema is acceptable as the description need not explain return values.

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 coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond the schema's parameter descriptions.

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 clearly states the tool lists Virtual Agent topics and mentions 'streaming VA API' for context. However, it does not differentiate from the sibling tool 'list_va_topics_full', which appears to serve a similar purpose.

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?

No guidance on when to use this tool versus alternatives like 'list_va_topics_full' or 'get_va_topic'. The description lacks context about prerequisite conditions or appropriate use cases.

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

get_vulnerabilityA
Read-onlyIdempotent

Get details of a specific vulnerability entry including CVSS score and affected CIs

ParametersJSON Schema
NameRequiredDescriptionDefault
number_or_sysidYesVulnerability number (VIT...) or sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, covering safety and idempotency. Description adds that CVSS score and affected CIs are included, but no additional behavioral traits beyond annotations.

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

Conciseness5/5

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

Single sentence, direct and to the point. No filler words.

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 simple getter with one parameter and no output schema, the description provides a clear overview of what is returned (CVSS score and affected CIs). However, it does not mention that the response is a full record or other fields, but this is acceptable given the low complexity.

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 coverage is 100% with a clear parameter description: 'Vulnerability number (VIT...) or sys_id'. Description adds no extra meaning beyond the schema.

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?

Description clearly states verb 'get', resource 'vulnerability entry', and specifies included details (CVSS score and affected CIs). Clearly distinguishes from sibling tools like list_vulnerabilities and update_vulnerability.

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?

No explicit when-to-use or when-not-to-use guidance. The description implies use for fetching a single vulnerability by identifier, but does not compare to siblings like list_vulnerabilities or scan_vulnerabilities.

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

get_workspaceA
Read-onlyIdempotent

Get details of a configurable agent workspace including tabs and lists

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesWorkspace sys_id

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint, idempotentHint, openWorldHint. The description adds that it returns details including tabs and lists, which provides some context beyond annotations, but no additional behavioral traits are disclosed.

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

Conciseness5/5

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

A single concise sentence of 13 words that is front-loaded with the verb 'Get' and includes all necessary information without wasted words.

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?

Given the simple nature of the tool, rich annotations, and complete schema, the description sufficiently informs about the return content (details, tabs, lists). No output schema exists, but the description covers the key parts, making it nearly complete.

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 coverage is 100% with a clear description for sys_id. The description does not add further meaning to the parameter beyond what the schema already provides, so baseline score 3 is appropriate.

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 clearly states 'Get details of a configurable agent workspace including tabs and lists', providing a specific verb and resource, and distinguishing it from the sibling tool 'list_workspaces' which lists workspaces.

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?

No explicit guidance on when to use this tool versus alternatives like list_workspaces, but the requirement of a sys_id implies it's for a specific workspace, which is a minimal guideline.

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

import_cmdb_dataB

Import CI data into CMDB via import set. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTarget CMDB table (e.g. cmdb_ci_server)
dataYesArray of records to import

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already indicate a write operation (readOnlyHint=false) with side effects (openWorldHint=true). The description adds little beyond the redundant '[Write]' marker and the mechanism 'via import set.' It fails to disclose potential side effects, such as whether existing CIs are updated or how data is transformed, which is critical for an open-world write tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence: 'Import CI data into CMDB via import set.' It is concise, contains no fluff, and the '[Write]' marker is a compact indicator. Every word contributes to its meaning.

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?

Despite a simple schema, this is a write operation with open-world semantics. The description does not explain the import set process, expected record structure, or side effects, nor does it relate to sibling tools like create_import_set_row or run_transform_map. An agent lacks sufficient context to fully appreciate the tool's behavior and consequences.

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 descriptions cover both parameters ('Array of records to import' and 'Target CMDB table (e.g. cmdb_ci_server)') at 100% coverage. The tool description adds no additional parameter semantics, so the baseline of 3 applies as the schema already handles the parameter documentation.

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 clearly states a specific action: 'Import CI data into CMDB via import set.' It identifies the resource (CMDB) and the method (import set), which distinguishes it from sibling tools like search_cmdb_ci or create_ci_relationship. The wording is unambiguous and action-oriented.

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?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions. While it states what it does, it lacks the contextual 'when to use' information needed for tool selection.

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

import_propertiesA

Import (create or update) system properties from a JSON object. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
propertiesYesKey-value map of property names to values (e.g. {"glide.smtp.host": "smtp.example.com"})
dry_runNoIf true, show what would be changed without writing (default false)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already establish this as a write operation (readOnlyHint: false) and the description adds the meaningful 'create or update' (upsert) behavior. However, no additional context is provided about side effects, permissions, rate limits, or other behavioral traits beyond what annotations and schema already convey.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently communicates the action and resource. Every word contributes; the [Write] marker is redundant but harmless.

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

Completeness3/5

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

For a write tool with no output schema, the description does not explain expected return values or error behavior. It does mention create/update, but lacks context about batch semantics, the effect of dry_run, or potential failure modes, making it adequate but not comprehensive.

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?

The input schema already provides full coverage (100%) with verbose descriptions for both parameters, including dry_run's purpose and an example for properties. The description adds no extra parameter semantics beyond what the schema already documents.

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 uses the specific verb 'Import' with the resource 'system properties' and mechanism 'from a JSON object', clearly distinguishing it from retrieval, deletion, or single-property tools. The explicit mention of 'create or update' specifies the upsert nature of the operation.

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?

No guidance is provided on when to use this tool versus similar siblings like bulk_set_properties or set_system_property. The name 'import' implies batch import, but the description does not state exclusions or alternatives, leaving the agent to infer the appropriate context.

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

list_aclsA
Read-onlyIdempotent

List Access Control rules (ACLs) — who can read/write/create/delete records (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoFilter ACLs by table name
operationNoFilter by operation: read, write, create, delete, execute
activeNoFilter to active ACLs only
limitNoMax results (default: 25)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds that it requires SCRIPTING_ENABLED=true, which is a behavioral constraint beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that efficiently conveys the purpose and a key requirement without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does not explain the return format or default values for limit. It adequately covers purpose and prerequisite but leaves out some important details.

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 coverage is 100% with parameter descriptions. The description adds context for the operation parameter by listing the operations, but does not significantly enhance understanding beyond the schema.

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 clearly states the action (List), the resource (Access Control rules), and explains what ACLs do. It distinguishes from sibling tools like get_acl (single) and create_acl (create).

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?

The description implies when to use (to list ACLs) and mentions a prerequisite (SCRIPTING_ENABLED=true), but does not explicitly state when not to use or list alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_action_instancesB
Read-onlyIdempotent

List reusable Flow Designer action instances available in the environment

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch actions by name or category
categoryNoFilter by action category (e.g., "ServiceNow Core", "Integrations")
limitNoMax records to return (default 50)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, and open-world. The description adds little behavioral context beyond the name, such as pagination, sorting, or what 'available' means. With annotations covering safety, the description provides minimal added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the verb 'List' and the resource, with no unnecessary words. It is efficiently front-loaded.

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 straightforward list tool with 3 parameters well-described in the schema and safety annotations, the description is adequately complete. It could mention output format or scope, but given the simplicity, it suffices.

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 coverage is 100% with each parameter having a description. The tool description does not add further parameter semantics beyond the schema, so it meets the baseline of 3.

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 clearly states the tool lists 'reusable Flow Designer action instances', indicating a specific verb and resource. However, it does not explicitly differentiate from sibling tools like 'list_flows' or 'list_flow_executions', missing a chance to clarify uniqueness.

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?

No guidance is given on when to use this tool versus alternatives. The description merely states what the tool does, without specifying context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_active_eventsC
Read-onlyIdempotent

Monitor critical infrastructure events

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter events (e.g., "severity=1")
limitNoMax events (default: 10)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal context ('monitor') beyond annotations, not disclosing return format, pagination, or behavioral traits.

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 a single short sentence, efficient and front-loaded. However, it is too brief and lacks detail, but conciseness is prioritized.

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?

The tool has no output schema and only two parameters. The description fails to explain what constitutes 'active events', the source of events, or expected return behavior, leaving significant gaps.

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 coverage is 100% and descriptions are provided for both parameters. The description does not add additional parameter-level meaning beyond the schema, so baseline score of 3 applies.

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?

Description says 'Monitor critical infrastructure events', which indicates a verb and resource but is vague. It does not clearly specify that the tool lists events, nor does it differentiate from sibling tools like list_event_log or list_event_registry.

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?

No guidance on when to use this tool versus alternatives. The description lacks any when-to-use, when-not-to-use, or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_active_slasA
Read-onlyIdempotent

List active SLA records with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query filter
limitNoMax results (default: 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, idempotentHint=true, and openWorldHint=true, indicating safe, idempotent behavior. The description adds that filters are optional, which is minor context. No additional behavioral traits are disclosed beyond this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence containing all essential information: action, resource, and optionality of filters. No extraneous words; every part earns its place.

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?

The tool is a straightforward list operation with clear parameters and annotations. It does not explain return values, but this is typical for list tools and not critical. Complete enough for its complexity.

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?

The input schema describes both parameters (query and limit) with full coverage (100%). The description only rephrases 'optional filters', adding no new semantic information. Baseline 3 is appropriate as the schema handles parameter meaning.

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 'List active SLA records with optional filters' clearly states the verb 'list', the resource 'active SLA records', and the scope 'with optional filters'. It distinguishes itself from sibling tools like 'get_sla_details' which retrieves a single SLA.

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?

The description implies usage for listing active SLAs, and the name aligns with this purpose. It does not explicitly mention when not to use it or suggest alternatives, but the context is clear enough for a simple list operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_approvalsA
Read-onlyIdempotent

List approval requests with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query filter
stateNoFilter by approval state
limitNoMax results (default: 10)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description does not add extra behavioral context beyond 'optional filters'. Adequate but not revealing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, five words, front-loaded with verb and resource. No wasted words.

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?

Simple tool with full schema and annotations. Missing guidance on filter logic or pagination, but sufficient for most uses given the annotations.

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 covers all parameters with 100% description coverage. Description adds no extra meaning beyond stating filters are optional. Baseline score appropriate.

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 clearly states the verb 'List' and the resource 'approval requests' with optional filters, making it distinct from sibling tools like get_my_approvals.

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?

No guidance on when to use this tool versus alternatives (e.g., get_my_approvals or search-based tools). Lacks context for when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_asset_contractsB
Read-onlyIdempotent

List asset maintenance and support contracts

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_sys_idNoFilter by linked asset
activeNoFilter to active contracts (default true)
limitNoMax records (default 25)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds 'maintenance and support' context but does not disclose pagination, sorting, or default behavior beyond what's in the schema. With annotations present, the description adds marginal value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core purpose without extraneous words. It is efficiently front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 optional parameters, no output schema), the description is adequate but minimal. It could benefit from mentioning the return type or typical fields, but omissions are not critical for understanding basic functionality.

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 coverage is 100% with each parameter having a clear description. The tool description adds no additional semantics beyond the schema. Baseline score of 3 is appropriate.

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 clearly states the verb 'List' and the resource 'asset maintenance and support contracts', indicating the tool's function. It distinguishes itself from sibling tools like list_assets by focusing on contracts. However, it does not elaborate on what constitutes a contract, leaving some ambiguity.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., list_assets, list_approvals). The description implies usage for retrieving contract details, but lacks when-not-to-use scenarios or references to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_assetsA
Read-onlyIdempotent

List IT assets with optional filtering by state, class, or assigned user

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_classNoAsset class: "alm_hardware", "alm_license", "alm_consumable"
stateNoAsset state: "in_use", "in_stock", "retired", "missing"
assigned_toNoUser sys_id to filter by assignee
locationNoLocation name or sys_id
queryNoAdditional encoded query
limitNoMax records (default 25)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. Description adds no new behavioral traits beyond optional filtering, which is redundant with schema. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 13 words, front-loaded with purpose. No redundant or tangential information.

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 list tool with no output schema, the description adequately conveys that it returns a list of assets with filters. Could mention return format or pagination, but given annotations and simplicity, it's sufficient.

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 description need not repeat details. Description mentions only three of six parameters (state, class, assigned user) and adds no additional meaning beyond schema.

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?

Description states 'List IT assets' - clear verb+resource. Mentions specific filtering options (state, class, assigned user). Differentiates from sibling list tools like 'list_users' or 'list_incidents' by specifying 'IT assets'.

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?

Clear description of when to use: to list IT assets with optional filters. No explicit exclusions or alternatives mentioned, but the context of sibling tools implies this is for asset listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_atf_suitesA
Read-onlyIdempotent

List ATF test suites in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active suites only
queryNoAdditional filter
limitNoMax results (default: 20)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no behavioral details beyond the schema, so it meets the baseline but provides no extra context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with the verb and resource. Ideal conciseness.

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 simple list operation with optional parameters and annotations present, the description is sufficient. Could mention return format, but not required for basic use.

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?

All three parameters have schema descriptions (100% coverage), so the description does not need to add parameter info. It contributes nothing beyond the schema, resulting in baseline score.

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?

Description clearly states the verb 'List' and resource 'ATF test suites in the instance'. It distinguishes from sibling tools like list_atf_tests and get_atf_suite by specifying suites as the target.

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?

No guidance on when to use this tool versus alternatives like list_atf_tests or get_atf_suite. No context about prerequisites or filtering strategies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_atf_test_resultsA
Read-onlyIdempotent

List individual test results within a suite run

ParametersJSON Schema
NameRequiredDescriptionDefault
suite_result_sys_idNoFilter by suite result sys_id
limitNoMax results (default: 50)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal behavioral context beyond the filtering constraint 'within a suite run'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains no filler. Every word is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does not explain what fields or format the results have. It is adequate but incomplete for an agent to fully understand the return value.

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 coverage is 100% with clear parameter descriptions. The description does not add additional meaning beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states the verb 'list' and the resource 'individual test results' with a specific context 'within a suite run'. This distinguishes it from siblings like 'list_atf_tests' and 'list_atf_suites'.

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?

The description implies usage after retrieving a suite result, but does not explicitly state when to use this vs alternatives or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_atf_testsA
Read-onlyIdempotent

List ATF test cases, optionally filtered by suite

ParametersJSON Schema
NameRequiredDescriptionDefault
suite_sys_idNoFilter by test suite sys_id
activeNoFilter to active tests only
limitNoMax results (default: 20)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering safety. The description adds minimal behavioral context beyond the schema-defined filtering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. The entire description is concise and directly communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with three optional parameters and no output schema, the description is adequate but lacks details on return format, pagination, or default limit. Gaps exist.

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 the description does not need to add parameter details. It adds no extra meaning beyond what the schema provides, meeting baseline.

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 clearly states it lists ATF test cases with optional filtering by suite, using specific verb and resource. It distinguishes from sibling tools like list_atf_suites and list_atf_test_results.

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 description implies usage for browsing test cases but provides no explicit guidance on when to use this tool versus alternatives like search or get functions. No exclusions or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_attachmentsC
Read-onlyIdempotent

List attachments associated with a specific record

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g. "incident")
record_sys_idYessys_id of the record whose attachments to list
limitNoMax records to return (default 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. Description adds no behavioral context beyond listing, such as response format, pagination, or side effects. Minimal added 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?

Single sentence is concise and front-loaded, effectively conveying the tool's purpose without unnecessary words. Could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description is minimally adequate. Missing details like output format, pagination behavior, or error conditions, but basic function is clear.

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% with clear parameter descriptions. Description does not add any additional meaning or context beyond what the schema provides, so baseline score of 3 is appropriate.

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?

Description clearly states verb 'List' and resource 'attachments' associated with a specific record, distinguishing it from other attachment tools like get_attachment_metadata or delete_attachment. It is specific but lacks additional context about scope.

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?

No guidance on when to use this tool versus alternatives, such as get_attachment_metadata for a single attachment. No prerequisites or when-not-to-use information provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_audit_resultsC
Read-onlyIdempotent

List audit results and findings

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state (open, in_progress, closed)
severityNoFilter by severity (critical, high, medium, low)
limitNoMax records (default 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, but the description adds no further behavioral context beyond restating 'list', missing opportunities to mention pagination or scope.

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 extremely concise (4 words) and front-loaded, but a slightly fuller description could improve clarity without harming conciseness.

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?

Given the presence of a limit parameter and no output schema, the description omits important detail about return format and pagination behavior, making it incomplete for effective use.

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?

The input schema has 100% coverage with descriptions for all three parameters (state, severity, limit), so the description adds no extra meaning, meeting the baseline.

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 clearly states the action (list) and resource (audit results and findings), and the name distinguishes it from sibling list tools as none explicitly target audit results.

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?

No guidance on when to use this tool versus alternatives or when not to use it, leaving the agent to infer usage 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.

list_business_rulesA
Read-onlyIdempotent

List business rules (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoFilter by table name
activeNoFilter to active rules only
limitNoMax results (default: 20)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, and open-world, so the safety profile is clear. The description adds one behavioral trait: the requirement for SCRIPTING_ENABLED to be true, which is valuable context not covered by annotations. It does not disclose other behaviors like pagination or result structure, but the annotations cover the primary safety aspects.

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 a single, concise sentence that conveys the core purpose and a key constraint. It is front-loaded and non-redundant. However, it could be slightly more detailed without becoming verbose, such as mentioning the optional filtering parameters.

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?

Given there is no output schema, the description should ideally mention what the tool returns (e.g., a list of business rule objects) or any default pagination behavior. It only states the action and a prerequisite. The sibling list is large, and this tool is one of many list tools, so the missing output details may cause uncertainty for an agent.

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 coverage is 100%, so the input schema already documents all three parameters ('table', 'active', 'limit') with descriptions. The tool description does not add any additional meaning or context for these parameters; it simply restates the prerequisite. Hence, the description adds no extra value beyond what the schema provides.

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 clearly states the verb 'List' and the resource 'business rules', making the tool's purpose immediately understandable. It also adds a specific prerequisite condition, which is helpful for the agent. It distinguishes itself from sibling tools like 'get_business_rule' (single retrieval) and 'update_business_rule' (mutation).

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 description provides a key prerequisite ('requires SCRIPTING_ENABLED=true'), which is useful for usage context. However, it does not explicitly state when to use this tool versus alternatives (e.g., 'get_business_rule' for a single rule), nor does it mention when not to use it. The usage is implied but not fully guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_catalog_itemsC
Read-onlyIdempotent

List available service catalog items

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category name or sys_id
limitNoMax items (default: 20)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, providing basic safety info. The description adds no further behavioral context, such as pagination behavior, sorting, or the meaning of 'available'. It relies solely on the tool name.

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 a single short sentence that is to the point. It is not verbose, but could potentially be improved by including more context without becoming wordy.

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?

Given no output schema exists, the description should at least hint at the return structure (e.g., list of items with basic fields). It does not mention what data is returned or pagination defaults beyond the limit parameter. For a simple list tool, this is insufficient.

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% with both 'category' and 'limit' parameters having meaningful descriptions. The tool description adds no extra detail beyond what the schema already provides, so it meets the baseline for high coverage.

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 'List available service catalog items' clearly states the action (list) and resource (service catalog items). It distinguishes from sibling tools like search_catalog or get_catalog_item by focusing on listing all available items, but it does not specify what 'available' means or differentiate from other list tools.

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?

No guidelines are provided about when to use this tool versus alternatives such as search_catalog, get_catalog_item, or order_catalog_item. The description does not mention context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_change_requestsA
Read-onlyIdempotent

List change requests with optional filtering by state or query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query filter
stateNoFilter by change state. -5=New, -4=Assess, -3=Authorize, -2=Scheduled, -1=Implement, 0=Review, 1=Closed, 3=Cancelled
limitNoMax records (default: 10)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, covering safety and idempotency. The description adds the filtering behavior but does not elaborate on response format, pagination, or other behavioral traits. It adds minimal value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that directly communicates the tool's purpose and key features. No superfluous content; well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with annotations covering safety, the description is adequate but lacks details on response structure or pagination behavior (though hinted by limit parameter). It meets minimum completeness given the tool's simplicity and schema richness.

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 parameters are already documented in the schema. The description repeats the filtering concept but does not add new semantic meaning beyond the parameter descriptions.

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 clearly states 'List change requests' with optional filtering by state or query, which distinguishes it from sibling list tools targeting other entities. It specifies verb and resource precisely.

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?

The description mentions optional filtering parameters, implying when to use (when a filtered list is needed). However, it does not explicitly state when not to use or provide alternative tool comparisons. The context is clear but lacks exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_changesetsA
Read-onlyIdempotent

List update sets (changesets) (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state: "in progress", "complete", "ignore"
limitNoMax results (default: 20)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds the behavioral constraint 'requires SCRIPTING_ENABLED=true', which is not covered by annotations. This provides additional safety information beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action and resource. It includes a crucial prerequisite without extra words, making it highly concise and easy to parse.

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?

Given that this is a simple list operation with two optional parameters and no output schema, the description is mostly adequate. It covers the purpose and a key prerequisite. However, it could briefly mention that results can be filtered by state (as per schema) or that it returns a list of changesets, but the current level is sufficient for a low-complexity tool.

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% (both parameters have descriptions in the schema). The description does not add any further meaning to the parameters beyond what the schema provides, so baseline score of 3 is appropriate.

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 clearly states the action 'List' and the resource 'update sets (changesets)', using specific verbs and nouns. It distinguishes from sibling tools like 'get_changeset' (individual retrieval) and 'publish_changeset' (mutation). The prerequisite 'requires SCRIPTING_ENABLED=true' adds important context.

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 description provides a key prerequisite ('requires SCRIPTING_ENABLED=true'), which tells agents when the tool can be used. However, it does not offer explicit guidance on when to use this tool versus alternatives like 'list_update_sets' or 'get_changeset', nor does it exclude any use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_client_scriptsA
Read-onlyIdempotent

List client scripts (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoFilter by table name
typeNo"onLoad" | "onChange" | "onSubmit" | "onCellEdit"
activeNoFilter to active scripts
limitNoMax results (default: 20)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds value by disclosing the prerequisite (SCRIPTING_ENABLED=true) beyond annotations. No contradiction exists. It could further detail pagination or response format, but given annotation coverage, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the purpose and a key prerequisite with no wasted words. It is front-loaded and efficient, making it easy for an agent to parse quickly.

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?

Despite having no output schema, the description does not explain what the response contains (e.g., a list of client script objects). It only mentions a prerequisite. For a list tool with multiple parameters, this is a significant gap in completeness.

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 the parameters are well-documented in the schema. The description adds no additional meaning beyond what the schema already provides. Baseline of 3 is appropriate since the description does not enhance parameter understanding.

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 clearly states the verb 'List' and the resource 'client scripts', which is specific. It also mentions a prerequisite (SCRIPTING_ENABLED=true) adding clarity. Among siblings like get_client_script, create_client_script, and update_client_script, this tool is well-distinguished.

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?

The description provides a clear prerequisite ('requires SCRIPTING_ENABLED=true'), which is a key usage guideline. It does not explicitly compare to other list tools, but the prerequisite serves as a condition for when to use. More explicit when-to-use and when-not-to-use guidance could elevate the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_compliance_policiesA
Read-onlyIdempotent

List GRC compliance policies and their current status

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state (draft, published, retired)
limitNoMax records (default 25)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that policies include 'current status', providing minor additional context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence directly states purpose. No extraneous words. Front-loaded and efficient.

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 simple list tool with optional filters and no output schema, the description provides sufficient context. It could mention return format or pagination, but not strictly necessary.

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 the schema already documents both parameters. The description does not add any parameter-specific meaning beyond what is in the schema.

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 clearly states the verb 'list' and the resource 'GRC compliance policies', and adds 'their current status'. It distinguishes from sibling tools like list_grc_controls and list_grc_risks.

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?

No explicit usage guidelines, when-not, or alternatives provided. The description implies listing all policies but does not help the agent decide when to use this vs. other list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_credential_aliasesA
Read-onlyIdempotent

List connection and credential aliases used by integrations

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name
typeNoFilter by type: basic, oauth2, api_key, certificate
limitNoMax records to return (default 25)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior; description adds context that these are integration-related aliases, providing additional behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, directly states the purpose with no wasted words. Front-loaded and efficient.

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 simple list tool with no output schema, the description is sufficient. The limit parameter addresses pagination implicitly. Could mention default behavior more explicitly, but still effective.

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 coverage is 100% with descriptions for all 3 parameters, so the description does not need to add parameter details. Baseline 3 is appropriate.

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?

Description clearly states the tool lists connection and credential aliases used by integrations, which is specific and distinguishes it from other list_* tools.

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?

No explicit when-to-use or alternatives, but the context of listing credential aliases for integrations is clear and unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_csm_accountsB
Read-onlyIdempotent

List customer accounts with optional search filter

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch accounts by name
activeNoFilter to active accounts only (default true)
limitNoMax records to return (default 50)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. Description only adds 'optional search filter' which is already implied by the query parameter. No additional behavioral traits like pagination or sorting are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no fluff. All words are necessary and front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 3 optional parameters and no output schema. Description is minimal but covers the basic purpose. Could specify default limit, pagination behavior, or what 'optional search filter' means in practice.

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 coverage is 100% with descriptions for all three parameters. Description mentions 'optional search filter' which aligns with the query parameter but adds no new meaning. Baseline 3 is appropriate.

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?

Description clearly states the tool lists customer accounts with an optional search filter. While it does not explicitly differentiate from sibling list tools, the resource is specific and action is clear.

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?

No guidance on when to use this tool versus other list tools (e.g., list_csm_cases, list_csm_contacts). No when-not or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_csm_casesA
Read-onlyIdempotent

List CSM cases with optional filters (account, contact, state, priority)

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoFilter by account name or sys_id
contactNoFilter by contact name or sys_id
stateNoFilter by state (open, resolved, closed)
priorityNoFilter by priority. 1=Critical, 2=High, 3=Moderate, 4=Low
limitNoMax records to return (default 25)
queryNoAdditional encoded query

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no new behavioral details beyond what the annotations and schema already provide, so value is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, efficient sentence that conveys purpose and key parameters with zero waste. Front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 optional parameters and no output schema. The description does not explain return format or pagination behavior. While annotations provide some context, the description could be more complete for proper agent use.

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 the schema already fully documents each parameter. The description's mention of filters adds no new semantics beyond listing them, so baseline score of 3 is appropriate.

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 clearly states the action ('List') and resource ('CSM cases') and mentions optional filters. It distinguishes from sibling tools that create, update, or close cases, making purpose unambiguous.

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?

The description implicitly indicates that this tool is for listing cases with filters, providing clear context. However, it does not explicitly state when not to use or list alternatives, but sibling names like 'get_csm_case' and 'close_csm_case' provide differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_csm_contactsA
Read-onlyIdempotent

List contacts for an account or search across all contacts

ParametersJSON Schema
NameRequiredDescriptionDefault
account_sysidNoFilter contacts by account sys_id
queryNoSearch by name or email
limitNoMax records to return (default 25)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description only needs to add context. It adds the filtering capabilities, but does not disclose any behavioral nuances like return format, pagination, or default ordering. This is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and two main modes. Every word is necessary, with no redundancy or fluff.

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 simple list operation with well-documented parameters and full annotation coverage, the description is complete. It explains the dual functionality. However, it could mention the default limit of 25 or the fact that the output is a list of contact records, but given no output schema, this is minor.

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%, with all three parameters already described in the schema. The description reiterates the account and search functionality without adding additional meaning or usage details beyond what the schema provides.

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 'List contacts for an account or search across all contacts' clearly states the verb (list) and resource (contacts), and distinguishes two main use cases (account-specific vs. global search). This differentiates it from sibling tools like get_csm_contact (single contact) and other list tools.

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 description implies two usage modes (filter by account or search), but does not explicitly state when to use each, nor provides guidance on when not to use or alternatives. It lacks criteria for choosing between this and similar tools like list_csm_accounts or search functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_csm_productsA
Read-onlyIdempotent

List products and services available in the CSM catalog

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch products by name
limitNoMax records to return (default 50)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety, idempotency, and non-exhaustive results. The description adds no additional behavioral context (e.g., pagination behavior, default sorting, or data freshness). It meets the baseline for transparency given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence of 10 words with no redundant information. It is front-loaded and efficient, earning a top score.

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 simple list tool with two optional parameters and comprehensive annotations, the description is largely sufficient. However, it lacks explicit mention of return fields or pagination behavior beyond the schema's 'limit' parameter, which would improve completeness.

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% with clear descriptions for 'query' and 'limit'. The description itself adds no parameter-level information, aligning with the baseline score for high coverage.

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 uses a specific verb 'List' and identifies the resource 'products and services' within the 'CSM catalog'. This clearly distinguishes it from sibling tools like list_csm_accounts and list_csm_cases, which focus on different CSM entities.

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?

The description provides no guidance on when to use this tool instead of alternatives such as search_catalog or natural_language_search. It does not mention any prerequisites, limitations, or exclusion criteria, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_data_sourcesA
Read-onlyIdempotent

List Import Set data source definitions (file/JDBC/REST loaders)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name
typeNoFilter by type: file, jdbc, ldap, rest
limitNoMax records to return (default 25)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, indicating safe read operations. The description adds no additional behavioral context such as pagination, return format, or rate limits, but the annotations sufficiently cover safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently communicates the tool's purpose without unnecessary words or structure.

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?

Given the tool's simplicity, the absence of an output schema, and the presence of thorough annotations, the description is adequately complete for an agent to understand the tool's basic function. Minor gaps like pagination behavior could be added but are not critical.

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 coverage is 100% with clear descriptions for all three parameters. The description mentions 'file/JDBC/REST loaders' which aligns with the type parameter filter values but does not add new meaning beyond what the schema provides.

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 clearly states the verb 'list' and the resource 'Import Set data source definitions', and specifies the scope 'file/JDBC/REST loaders', distinguishing it from sibling tools like list_import_sets which list import sets themselves.

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?

No guidance is provided on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The agent must infer usage 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.

list_deployment_historyB
Read-onlyIdempotent

List deployment history — committed update sets and app installs over time

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back period (default 30)
limitNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating safe, read-only, idempotent behavior. The description adds no behavioral context beyond these annotations, such as whether results are paginated, sorted, or if there are any side effects. It does not contradict annotations.

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 a single, concise sentence that captures the essence. However, it lacks structural elements like bullet points or sections that could improve readability for complex usage. It is efficient but minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a list operation with no output schema, the description could have provided more context about the return format (e.g., fields included, ordering). It adequately conveys the purpose but leaves out details that would help an agent understand the output structure.

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 coverage is 50%; only 'days' has a description ('Look-back period (default 30)'). The 'limit' parameter lacks any description. The tool description mentions 'over time' but does not clarify the 'days' or 'limit' parameters beyond what is in the schema. It fails to compensate for the missing schema documentation.

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 clearly states what the tool does: 'List deployment history — committed update sets and app installs over time'. It specifies the resource (deployment history) and the scope (committed update sets and app installs), distinguishing it from sibling tools like 'list_deployments' or 'get_deployment'.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or compare it to similar tools such as 'list_deployments' or 'list_changesets'. The agent must infer usage 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.

list_deploymentsB
Read-onlyIdempotent

List recent application deployments tracked in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_sys_idNoFilter by pipeline
environmentNoFilter by environment (e.g. "prod", "staging")
stateNoFilter by state: "success", "failed", "in_progress"
limitNoMax records (default 25)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety and idempotency are clear. The description adds 'recent' implying time-based filtering but does not detail pagination, ordering, or default behavior beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose with no unnecessary words.

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?

Given the simple nature of the tool, good annotations, and no output schema, the description is mostly complete. However, it lacks details on sorting or filtering behavior that might be expected from a list tool.

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%, and each parameter has a clear description. The tool description adds no additional meaning beyond what the schema already provides, so baseline score is appropriate.

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 clearly states 'List recent application deployments' with a specific verb and resource. It distinguishes from most siblings but does not explicitly differentiate from the closely related sibling 'list_deployment_history', which may cause confusion.

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?

No guidance on when to use this tool versus alternatives like 'list_deployment_history' or 'get_deployment'. The description does not mention any usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_devops_pipelinesB
Read-onlyIdempotent

List DevOps pipeline configurations registered in ServiceNow

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active pipelines (default true)
limitNoMax records (default 25)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. Description adds no new behavioral context beyond 'list'. Given annotations, this is adequate but doesn't add 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?

Single sentence, no wasted words. Could be slightly more informative (e.g., mention default filters), but structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with no output schema. Description could mention default filtering (active=true) or pagination. While not severely incomplete, there is room for improvement given the lack of output schema.

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 covers all parameters with descriptions (100% coverage). Description does not add additional parameter meaning. Baseline 3 is appropriate.

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?

Description clearly states verb 'List' and resource 'DevOps pipeline configurations'. It distinguishes from other list tools by specifying the resource, though it could be more distinctive from potential siblings like 'list_deployments'. The specificity is adequate.

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?

No guidance on when to use this tool vs alternatives. No mention of context, prerequisites, or exclusion criteria. For a simple list tool, this is a gap, but common in similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_discovery_schedulesA
Read-onlyIdempotent

List discovery schedules and their run status

ParametersJSON Schema
NameRequiredDescriptionDefault
active_onlyNoOnly show active schedules

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds 'and their run status', which mildly expands on what the tool returns. Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, so the description adds minimal behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description fully communicates the tool's function. Annotations cover additional behavioral traits.

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 coverage is 100% for the single parameter 'active_only'. The description does not elaborate on this parameter, so it adds no extra meaning beyond the schema.

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 clearly states the verb 'list' and resource 'discovery schedules', adding 'and their run status' for specificity. It is easily distinguishable from sibling tools like 'list_scheduled_jobs' or 'list_approvals'.

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?

No explicit guidance on when to use this tool vs alternatives is provided. However, given the unique resource name and lack of confusing siblings, the implied usage is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_email_logsA
Read-onlyIdempotent

List outbound email log entries to track sent/failed emails

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state: sent, failed, ready, sending, ignored
recipientNoFilter by recipient email address
subjectNoFilter emails by subject (partial match)
limitNoMax records to return (default 25)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds context by specifying the log type (outbound email) and the tracking purpose, but does not disclose additional behaviors like pagination or ordering. It is consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, front-loaded with the action and resource. Every word is necessary, no redundancy.

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?

Given the high schema coverage and annotations indicating a safe, read-only operation, the description is sufficient. It explains what it does and why. Minor omission: no mention of default limit or return format, but still complete enough.

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 coverage is 100% with descriptions for all 4 parameters. The tool description does not add further meaning to the parameters beyond the schema. Baseline of 3 is appropriate.

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 clearly identifies the verb ('list'), the resource ('outbound email log entries'), and the purpose ('to track sent/failed emails'). It distinguishes itself from sibling list tools by specifying the email log context.

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?

The description states the purpose but does not provide guidance on when to use this tool versus alternatives (e.g., list_event_log, list_notifications). No mention of when not to use it or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_email_templatesC
Read-onlyIdempotent

List email notification templates used by notifications

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch templates by name
limitNoMax records to return (default 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey read-only and idempotent nature; description adds no additional behavioral details.

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?

Single sentence with no waste; efficient for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimally adequate for a simple read-only list tool with complete schema and annotations, but lacks typical use cases or result format.

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 with 100% coverage fully describes parameters; description adds no extra semantic value.

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?

Description clearly states verb ('list') and resource ('email notification templates'), but does not differentiate from sibling tools like list_notifications or list_email_logs.

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?

No guidance on when to use this tool versus alternatives; lacks any context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_epicsA
Read-onlyIdempotent

List epics with optional project or state filter

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoFilter by project sys_id
stateNoFilter by state
limitNoMax results (default: 20)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no behavioral traits beyond the schema, like pagination details or default limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence front-loads the verb and resource. No extraneous information.

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 simple list tool with three optional parameters and no output schema, the description is nearly complete. Could be improved by mentioning pagination or default limit (20), but not necessary for minimal viability.

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 descriptions cover all parameters at 100% coverage. The description only repeats 'optional' which is already evident from the empty required array, adding no new meaning.

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 clearly states the verb 'list' and resource 'epics' with optional project/state filters, distinguishing it from other list tools like list_stories or list_users.

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?

Implied usage from description but no explicit guidance on when to use this tool vs alternatives like get_epic for a single epic or other list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_event_logB
Read-onlyIdempotent

List recent event log entries (fired events and their processing status)

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNoFilter by event name
stateNoFilter by state: ready, processing, processed, error, transferred
limitNoMax records to return (default 50)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds the context of listing 'recent' entries and mentions processing status, but no contradictions or additional behavioral disclosures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with front-loaded verb and resource, no unnecessary words. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a list tool with good annotations and full schema. Could be more explicit about ordering, default limit, or what 'recent' means (e.g., time window), but not critically missing.

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?

Input schema has 100% coverage with descriptions for all three parameters. The description does not add any parameter-specific information beyond what the schema provides.

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 clearly states the verb 'list' and resource 'event log entries' with additional context about fired events and processing status. However, it does not differentiate from sibling tools like list_active_events or list_email_logs.

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?

No guidance on when to use this tool versus alternatives (e.g., list_active_events for active events, list_email_logs for email entries). The description only explains what it does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_event_registryA
Read-onlyIdempotent

List registered event definitions in the ServiceNow event registry

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch events by name or description
limitNoMax records to return (default 50)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description does not add behavioral details beyond confirming it's a list operation. No added value for safety or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is clear and to the point. No redundancy or unnecessary words. It earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While annotations cover safety and schema covers parameters, there is no output schema, and the description does not describe return value structure or fields. For a list tool, this information is useful for the agent to process results.

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 coverage is 100%, so the schema already documents both parameters (query, limit) with descriptions. The description does not add any semantic meaning or usage hints for parameters beyond what the schema provides.

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 uses a specific verb ('List') and resource ('registered event definitions in the ServiceNow event registry'), clearly distinguishing it from siblings like 'get_event_registry_entry' (single entry) and 'list_event_log' (different resource).

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?

No guidance on when to use this tool versus alternatives like 'get_event_registry_entry' or 'search_catalog'. The description implies basic usage but lacks explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_flow_executionsA
Read-onlyIdempotent

List recent executions of a flow with status (completed, error, running)

ParametersJSON Schema
NameRequiredDescriptionDefault
flow_sys_idYessys_id of the parent flow
statusNoFilter by status: running, complete, error, cancelled
limitNoMax records to return (default 25)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint; description adds 'recent' and possible statuses but doesn't disclose ordering, default limit (25), or result structure beyond what schema implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 12 words, front-loaded with key information, no unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple list tool given annotations, but no output schema and missing details on pagination, ordering, and exact recency criteria.

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 coverage is 100% so description adds limited value; it mentions status filter and 'recent' but doesn't specify default limit semantics beyond schema.

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?

Description clearly states it lists recent executions of a flow with status options, distinguishing from siblings like list_flows (lists flows) and get_flow_execution (gets a single execution).

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?

Implied usage for retrieving execution history, but no explicit guidance on when to use vs alternatives like get_flow_execution for specific details or list_flows for flow definitions. No context on recency filter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_flowsA
Read-onlyIdempotent

List Flow Designer flows with optional filter by name, category, or active status

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch flows by name or description
activeNoFilter to active flows only (default true)
categoryNoFilter by category (e.g., "ITSM", "HR", "Security")
limitNoMax records to return (default 50)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds minimal behavioral context beyond the listing operation. No contradictions, but no disclosure of pagination, sorting, or other behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action, no redundant words. Every piece of information earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for a simple read-only list operation but lacks mention of return format (e.g., list of flow objects). Given no output schema, a hint about the response structure would improve completeness.

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 coverage is 100%, so the schema already describes each parameter. The description paraphrases the filter options (name, category, active status) but adds no meaningful information beyond the schema definitions.

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?

Description clearly states it lists Flow Designer flows with optional filters. The verb 'list' and resource 'flows' are specific. Distinguishes from sibling list tools (e.g., list_flow_executions) by specifying 'Flow Designer flows'.

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?

Description implies usage for listing flows with filters but does not provide explicit guidance on when to use this versus sibling list tools or alternative search tools. No exclusion criteria or context are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_grc_controlsC
Read-onlyIdempotent

List GRC controls with optional filter by risk or policy

ParametersJSON Schema
NameRequiredDescriptionDefault
risk_sysidNoFilter controls by related risk sys_id
stateNoFilter by control state (draft, attest, review, exception, compliant, non_compliant)
limitNoMax records to return (default 25)

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. The description adds little beyond listing controls and optional filters, and the mention of a non-existent 'policy' filter is misleading.

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?

Extremely concise single sentence, but at the cost of missing important details. Still, it is not verbose.

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 simple listing tool with three optional params and no output schema, the description should clarify filter options and default limit. It fails to do so and introduces an error.

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 has 100% coverage, baseline 3. But the description adds no extra meaning and creates confusion by referencing a 'policy' filter not in the schema.

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?

The description clearly states the tool lists GRC controls. However, it inaccurately mentions filtering by 'policy' which is not in the schema; the actual filters are risk_sysid and state. This reduces clarity.

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?

No guidance on when to use this tool versus siblings like list_grc_risks. The description does not specify context or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_grc_risksA
Read-onlyIdempotent

List GRC (Governance, Risk, Compliance) risk entries

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by risk state (draft, assess, review, accepted, closed)
categoryNoFilter by risk category
limitNoMax records to return (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds no behavioral details beyond listing, such as pagination, sorting, or performance implications. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently states the tool's purpose without any redundant or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not explain the return format (e.g., array of risk objects). It mentions limit but not default behavior or pagination. Adequate but incomplete.

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%: all three parameters (state, category, limit) have descriptions in the input schema. The tool description does not add any additional meaning, so baseline 3 is correct.

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 clearly states the verb 'list' and the resource 'GRC risk entries', with acronym expansion. Among siblings like create_grc_risk, get_grc_risk, and list_grc_controls, this tool is distinctly for listing risk entries.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., get_grc_risk for a single risk, list_grc_controls for controls). It does not mention context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_groupsA
Read-onlyIdempotent

List groups with optional search filter

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter (e.g., "active=true^typeLIKEitil")
limitNoMax results (default: 20)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, and open-world behavior. The description adds no new behavioral context beyond listing with optional filter. No contradictions.

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 a single concise sentence with no wasted words. It is front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not explain return format (e.g., list of group names), pagination, or ordering. Adequate for a simple list but leaves some gaps.

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 coverage is 100%, so parameters are fully defined. The description adds minimal value by referring to 'search filter' but doesn't exceed schema detail.

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 clearly states the action 'List' and resource 'groups', and includes the optional search filter, distinguishing it from other list tools and from get_group.

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 description does not explicitly state when to use this tool versus alternatives like get_group or search tools. However, the purpose is implied and clear enough for basic usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_homepagesA
Read-onlyIdempotent

List homepage dashboards (CMS content pages used as homepages)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by title
limitNoMax records to return (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, idempotent read operation. The description adds that it lists 'homepage dashboards (CMS content pages used as homepages)', which clarifies scope but doesn't add behavioral traits beyond annotations. No contradiction noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the action and resource. Every word is necessary, and there is no superfluous information. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal and does not mention return format or typical fields, which could be helpful given no output schema. However, for a simple list tool with clear annotations, it is adequate but leaves room for more context, such as differentiating from other list tools or specifying what is returned.

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%, with both parameters (query, limit) already described. The description does not add any additional meaning or context for the parameters beyond what is in the schema, so baseline score of 3 is appropriate.

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 clearly states 'List homepage dashboards (CMS content pages used as homepages)', providing a specific verb and resource. It distinguishes from siblings like list_pa_dashboards and list_portal_pages by specifying that these are homepages, i.e., CMS content pages used specifically as homepages.

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?

No guidance is given on when to use this tool versus alternatives. Among sibling tools, there are many list_* tools, but the description does not provide any when/when-not or exclusions. This leaves the agent without differentiation cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hr_casesA
Read-onlyIdempotent

List HR cases with optional filters (status, subject person, service)

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state: open, work_in_progress, closed_complete, closed_incomplete
subject_personNoUser sys_id or username to filter by
hr_serviceNoHR service name or sys_id
limitNoMax records to return (default 25)
queryNoAdditional encoded query string

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds that it lists cases with filters, but does not disclose other behavioral traits like default limit or pagination. Minimal addition beyond annotations.

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?

One concise sentence front-loading the purpose. However, it could be slightly longer to include default limit or usage context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity and good schema, the description is minimally adequate. It lacks details on default limit, pagination, or differentiation from sibling list tools, but schema covers parameter values.

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 coverage is 100% with parameter descriptions. The description only categorizes them as 'optional filters' without adding new meaning or combining rules. Baseline 3 is appropriate.

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 clearly states it lists HR cases and mentions optional filters, distinguishing it from get_hr_case (single case) and list_hr_tasks (different resource).

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 description mentions optional filters but does not specify when to use this tool vs alternatives like get_hr_case or how filters combine. No explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hr_document_templatesA
Read-onlyIdempotent

List available HR document templates (offer letters, contracts, policies)

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category: onboarding, offboarding, benefits, policy
activeNoFilter active only (default true)
limitNoMax records (default 25)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint, idempotentHint, and openWorldHint, which cover safety and idempotency. The description adds no further behavioral details such as pagination behavior, sorting defaults, or response structure. Since annotations already convey the non-destructive nature, the description's contribution is minimal, resulting in a mid-range score.

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 a single, well-structured sentence that front-loads the key action and resources. It is concise with no extraneous information, though it could benefit from a brief usage context or note about the optional filter parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 optional params, no output schema), the description is mostly adequate but lacks details on return format or pagination beyond the limit parameter. Annotations cover safety, but for a listing tool, some guidance on expected response structure would improve completeness.

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?

The input schema has 100% description coverage for all three parameters (category, active, limit), each with clear descriptions and defaults. The tool description adds value by listing example categories ('onboarding, offboarding, benefits, policy') but does not fundamentally enhance understanding beyond the schema. Baseline 3 is appropriate.

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 clearly states the tool's action ('List available HR document templates') and provides specific examples of document types (offer letters, contracts, policies), making the purpose unambiguous. It distinguishes itself from sibling list tools by focusing on HR document templates rather than general records or other HR entities.

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 description implies the tool is used to retrieve templates but does not provide explicit guidance on when to use it versus alternatives like searching or filtering. It lacks when-not-to-use scenarios or references to related tools, leaving the agent to infer from the tool name and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hr_servicesA
Read-onlyIdempotent

List available HR services (Onboarding, Offboarding, Benefits, Payroll, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active services only (default true)
queryNoFilter by name or description
limitNoMax records to return (default 50)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide comprehensive behavioral info: readOnlyHint, idempotentHint, openWorldHint. The description adds no new behavioral context beyond confirming it's a listing operation. With full annotations, the burden is lower, and the description doesn't contradict or extend.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose and includes examples. No extraneous words; every part earns its place.

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 simple list tool with well-annotated safety and full parameter schema, the description adequately conveys what the tool returns (HR services with examples). No output schema exists, but the examples give sufficient context. Slight improvement could be mentioning the return format, but not strictly needed.

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?

Input schema covers 100% of parameters (active, query, limit) with descriptions. The tool description adds no additional meaning or usage nuance beyond what the schema already provides. Baseline score applies.

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 clearly states the tool's action ('List available HR services') and provides concrete examples (Onboarding, Offboarding, Benefits, Payroll). It is specific and distinguishes itself from many sibling list tools by focusing on HR services.

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 description implies usage when one needs to know available HR services, but it does not explicitly state when to use this tool versus alternatives like list_hr_cases or list_hr_tasks. No exclusions or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hr_tasksA
Read-onlyIdempotent

List HR tasks associated with an HR case

ParametersJSON Schema
NameRequiredDescriptionDefault
hr_case_sysidYessys_id of the parent HR case
stateNoFilter by task state (open, closed)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds that tasks are associated with an HR case, but it does not disclose additional behavioral traits such as pagination, ordering, or error handling when the case does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded and contains no unnecessary words. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two well-documented parameters and annotations, the description is adequate but not complete. It does not mention the return type or format of the list, nor any default behavior, which could be helpful for agents using the tool without an output schema.

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 coverage is 100%, so all parameters are described in the schema. The description does not add further meaning beyond what the schema provides (e.g., it doesn't specify allowed values for the state parameter). Baseline score of 3 is appropriate.

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 clearly states the action (List), the resource (HR tasks), and the relationship (associated with an HR case). It effectively distinguishes this tool from other list tools in the sibling list by specifying the context of HR tasks tied to a case.

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 description implies usage when needing to see tasks for a specific HR case, but it does not explicitly state when to use this tool over alternatives like list_my_tasks or list_hr_cases. No exclusions or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_import_setsB
Read-onlyIdempotent

List Import Sets with optional filter by state or staging table

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state: loaded, partial, transform_failed, complete
queryNoAdditional encoded query string
limitNoMax records to return (default 25)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and idempotentHint, so the read-only nature is clear. The description adds the ability to filter by state or staging table, but does not mention pagination behavior or the default limit, which is in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that conveys the essential information without any fluff. Each word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description could hint at the return format or structure. The annotations are helpful, but the description leaves out details about the response, which is incomplete for a list operation.

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 coverage is 100%, so parameters are well-documented. The description adds a high-level summary of filters but does not elaborate on the 'query' or 'limit' parameters beyond the schema.

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 clearly states the tool lists Import Sets with optional filters by state or staging table. It uses a specific verb and resource, but does not explicitly differentiate from 'get_import_set' which likely returns a single record.

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?

No guidance on when to use this tool versus alternatives. The description does not mention that for a single import set, 'get_import_set' would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_instancesA
Read-onlyIdempotent

List all configured ServiceNow instances (multi-instance / multi-customer support)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, which convey safety and idempotency. The description adds transparency about multi-instance support, enriching the behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the tool's purpose without any wasted words. It earns its keep efficiently.

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?

Given the tool's simplicity and the presence of annotations, the description provides adequate context. The lack of output format details is acceptable for a basic list tool, though it could briefly mention what each instance entry includes.

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?

With zero parameters and 100% schema description coverage, the description does not need to add parameter meaning. Baseline of 3 is appropriate as no additional semantic value is required.

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?

Description clearly states the verb 'List' and resource 'all configured ServiceNow instances', with explicit mention of multi-instance/multi-customer support. There is no sibling tool with a similar name, so no need for differentiation.

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?

The description implicitly indicates usage for retrieving a full list of instances. While it doesn't explicitly compare to alternatives, the tool's purpose is straightforward and no guidance is missing given its simplicity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_job_run_historyA
Read-onlyIdempotent

List recent run history for scheduled jobs (success/failure log)

ParametersJSON Schema
NameRequiredDescriptionDefault
job_sys_idNoFilter by specific job sys_id
statusNoFilter by run status: success, error, canceled
limitNoMax results (default: 25)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and openWorld hints, so the bar is lower. The description adds context that it returns 'recent' history and a 'success/failure log', which helps the agent understand the output nature. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 12 words that immediately conveys the tool's purpose. No redundant information; every word is necessary.

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?

Given the simplicity of the tool and the presence of annotations, the description sufficiently covers what the tool does and its basic behavior. However, it does not mention pagination, default ordering, or the fact that the 'limit' parameter controls result size (though that is in the schema). Still, it is adequate for a list tool.

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?

All three parameters have descriptions in the input schema (100% coverage), so the description adds no additional semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.

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 clearly states the tool's function ('List recent run history for scheduled jobs') and specifies it returns a 'success/failure log', which distinguishes it from sibling tools like list_scheduled_jobs and get_scheduled_job that operate on the jobs themselves.

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 description implies usage for viewing job run history but does not provide explicit guidance on when to use this tool versus alternatives, nor are there any when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_knowledge_basesB
Read-onlyIdempotent

List all knowledge bases available in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 20)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, which cover the main behavioral traits. The description adds no further behavioral details (e.g., pagination, ordering, or data freshness), but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words. It clearly conveys the tool's purpose in a minimal yet complete manner.

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?

Given the tool's simplicity (one optional parameter, no output schema, and annotations present), the description sufficiently explains what the tool does. However, it does not mention the response structure or whether it returns full objects or just identifiers, which could be useful.

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% for the only parameter 'limit', with a clear description. The tool description does not add additional meaning beyond the schema, meeting the baseline for high coverage.

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 clearly states the action (list) and the resource (knowledge bases). It distinguishes this tool from similar list tools by specifying 'all knowledge bases available in the instance', but does not explicitly differentiate from sibling tools like 'search_knowledge'.

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 guidance on when to use this tool versus alternatives such as 'search_knowledge' or 'get_knowledge_article'. The description only states the function without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mid_serversA
Read-onlyIdempotent

List MID servers and verify they are healthy

ParametersJSON Schema
NameRequiredDescriptionDefault
active_onlyNoOnly show servers with status "Up"

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is read-only, idempotent, and open-world. The description adds the 'verify they are healthy' aspect, providing extra context beyond the annotations.

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 a single, clear sentence with no wasted words. It could be slightly improved by front-loading the verification aspect, but it is still effective.

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?

Given the simple nature of the tool and the rich annotations, the description is complete enough. It conveys the purpose and additional behavior (health check) without needing an output schema reference.

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 coverage for parameters is 100%, so the description does not need to add meaning. The description does not mention the 'active_only' parameter, but the schema describes it adequately.

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 clearly states the action (list) and resource (MID servers), and adds the verification of health, distinguishing it from other list tools among many siblings.

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 description implies the tool should be used to list MID servers and check their health, but provides no explicit guidance on when to use it versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mobile_app_configsC
Read-onlyIdempotent

List ServiceNow mobile app configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter active (default true)
limitNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent operation. The description adds minimal behavioral context beyond 'List', providing no additional details on pagination or side effects.

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 a single, concise sentence with no unnecessary words. However, it could include more useful information without becoming verbose.

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 list tool, the description lacks details on return format, pagination, ordering, or the effect of the 'limit' parameter. Given two parameters and no output schema, more context is needed for correct agent invocation.

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 coverage is only 50% (active described, limit not). The description does not add any parameter details, leaving the 'limit' parameter undocumented. It fails to compensate for the low schema coverage.

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 clearly states the action ('List') and resource ('ServiceNow mobile app configurations'), distinguishing it from 'get_mobile_app_config' (single record) and 'create_mobile_app_config'. However, it does not specify the scope or filtering behavior beyond parameters.

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?

No guidance on when to use this tool vs alternatives like 'get_mobile_app_config' or other list tools. The description lacks context for selecting the appropriate tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mobile_appletsC
Read-onlyIdempotent

List mobile applets (mini-apps within the mobile experience)

ParametersJSON Schema
NameRequiredDescriptionDefault
app_configNoFilter by app config sys_id
limitNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is clear. However, the description adds no behavioral context beyond 'list' – it does not disclose whether results are paginated, the nature of returned data, or any constraints. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the verb and resource. Every word serves a purpose; there is no redundancy or unnecessary information.

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 tool with only 2 parameters and no output schema, the description is insufficiently complete. It lacks details on what is returned, how filtering works (beyond the parameter name), and any behavioral notes. The annotations cover safety but the description fails to inform the agent about the tool's full capability.

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 50% (only 'app_config' has a description). The tool description does not mention any parameters or their purposes, so it adds no value beyond the schema. The 'limit' parameter is undocumented in both the schema and description.

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 clearly states the verb 'List' and resource 'mobile applets', and adds parenthetical context 'mini-apps within the mobile experience'. It differentiates the tool from siblings like 'list_mobile_app_configs' and 'list_mobile_layouts' through the resource name, but does not explicitly contrast with them.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or exclusions. The description is a single sentence without any use case discussion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mobile_layoutsC
Read-onlyIdempotent

List mobile layout configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, which convey safety and idempotency. The description adds no additional behavioral traits beyond the annotations. Thus, the description does not add value beyond what is already structured, but also does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence) but lacks essential details about the parameter or the nature of the results. Under-specification is not conciseness; the description fails to make every sentence earn its place because it omits critical information.

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?

Given the tool's simplicity (1 optional parameter, no output schema), the description should at least hint at what a mobile layout configuration is or what the list returns. It provides no context about the resource or output structure, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema provides no description for the 'limit' parameter. The tool description does not mention the parameter at all, failing to explain its purpose (e.g., controlling the number of results). With the full burden on the description, this is a severe gap.

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 clearly states the action ('List') and the resource ('mobile layout configurations'), providing a specific verb+noun. However, it does not differentiate from sibling tools like list_mobile_app_configs or list_mobile_applets, which could cause confusion. A score of 4 reflects clarity but missed opportunity for distinction.

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?

No guidance is given on when to use this tool versus alternatives (e.g., list_mobile_app_configs). The description lacks context about prerequisites, filtering, or comparison with similar tools. This provides no help for the agent to decide when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_my_tasksA
Read-onlyIdempotent

List tasks assigned to the currently configured user

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax tasks to return (default: 10)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, indicating a safe, idempotent operation. The description adds the user scope constraint but does not disclose further behavioral traits such as pagination, ordering, or error handling. Since annotations cover the safety profile, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 11 words, extremely concise and front-loaded. Every word carries meaning, and there is no fluff or repetition. It sets a high standard for conciseness.

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?

The tool is simple with one optional parameter and no output schema. The description adequately covers the core functionality. However, it could mention default behavior for limit or ordering, but given the simplicity, it is nearly complete.

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?

The input schema has 100% coverage, with the 'limit' parameter already described. The tool description does not add any additional meaning beyond what the schema provides. According to the guidelines, when schema_description_coverage is high, baseline is 3.

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 clearly specifies the verb 'list', the resource 'tasks', and the scope 'assigned to the currently configured user'. It distinguishes this tool from siblings like 'list_approvals' or 'list_change_requests' which list different entities. The tool name 'list_my_tasks' reinforces the purpose.

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 description implies that it is for the current user's tasks but does not explicitly state when to use this tool versus alternatives like 'list_scrum_tasks' or 'list_hr_tasks'. No when-not or alternative tool references are provided, leaving reliance on the tool name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notificationsA
Read-onlyIdempotent

List email notification definitions (sysevent_email_action)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch notifications by name
tableNoFilter by target table (e.g. "incident")
eventNoFilter by event trigger name
activeNoFilter to active notifications only
limitNoMax records to return (default 25)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and repeatability. The description adds the context that it lists definitions from a specific table, which is valuable. No behavioral traits are omitted or contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core action and resource. Every word earns its place, with no unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the essential purpose and table, it lacks details about the return format (e.g., an array of definitions) and any default behavior. Given the simple nature of a list tool, this is adequate but could be more complete to help the agent interpret results.

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?

The input schema provides full descriptions for all 5 parameters (100% coverage), so the baseline is 3. The description adds no additional meaning beyond the schema, but it does not hinder understanding either.

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 'List email notification definitions (sysevent_email_action)' clearly states the action (list) and the specific resource (email notification definitions, with the underlying table name). It is precise and distinguishes from siblings like 'list_notification_subscriptions' and 'get_notification'.

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?

The description provides no explicit guidance on when to use this tool versus alternatives (e.g., get_notification for a single notification, list_notification_subscriptions for subscriptions). There is no mention of when-not-to-use or prerequisites, leaving the agent to infer usage entirely from the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notification_subscriptionsA
Read-onlyIdempotent

List user subscriptions to notifications (who has opted in/out)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_sys_idNoUser sys_id to list their subscriptions
notification_sys_idNoFilter by specific notification
limitNoMax records to return (default 25)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, read-only operation. The description adds 'who has opted in/out' but does not go beyond annotations in disclosing behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with nine words, front-loaded with the verb 'List'. It efficiently conveys the purpose without any wasted words.

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?

Given the simple nature of the tool (listing with optional filters), good annotations, and no output schema, the description is mostly adequate. It could mention pagination details but openWorldHint covers that.

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?

All three parameters have descriptions in the schema (100% coverage). The description does not add extra meaning beyond what the schema provides, so a baseline 3 is appropriate.

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 clearly states the verb 'List', the resource 'user subscriptions to notifications', and the context 'who has opted in/out', which distinguishes it from sibling tools like 'list_notifications'.

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?

The description does not provide any guidance on when to use this tool versus alternatives (e.g., 'list_notifications', 'get_notification'). There is no mention of when not to use it or recommended alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_oauth_applicationsA
Read-onlyIdempotent

List OAuth application registry entries (client applications that can authenticate)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name or client ID
limitNoMax records to return (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minor context (registry entries, authentication). It does not detail pagination, ordering, or any additional behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and good annotations, the description is adequate. However, it lacks information about return format (e.g., fields, pagination) and might benefit from mentioning that it lists all OAuth applications by default.

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 coverage is 100%, so the parameter descriptions in the schema are sufficient. The description does not add extra meaning beyond what the schema provides (query as search by name/client ID, limit as max records).

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 clearly states the tool lists OAuth application registry entries, specifying what is listed (client applications that can authenticate). The name and description are specific enough to distinguish from sibling list tools like list_acls or list_assets.

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?

No explicit guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it. The description only states what it does without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pa_breakdownsA
Read-onlyIdempotent

List PA breakdowns (dimensions) available for segmenting indicator data

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch breakdowns by name
limitNoMax records to return (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds context about segmenting indicator data but does not disclose additional behavioral traits like pagination, return format, or rate limits. It meets the minimum but adds limited value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that is front-loaded with the verb 'List'. It conveys the core purpose without any extraneous words, achieving maximum conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with two optional parameters and no output schema, the description states the purpose but omits details about the return format, pagination behavior, or what information the breakdowns contain. It is adequate but not fully complete for an agent that needs to interpret results.

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 coverage is 100% with descriptions for both parameters (query and limit). The description does not add any extra meaning or usage context beyond what the schema provides. Baseline score of 3 is appropriate.

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 uses a specific verb 'List' and resource 'PA breakdowns (dimensions)', and adds context 'available for segmenting indicator data', which clearly differentiates it from sibling tools that list other PA entities like indicators or dashboards.

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?

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention exclusions or preconditions. With many similar list tools in the sibling list, explicit usage guidelines would be beneficial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pa_dashboardsB
Read-onlyIdempotent

List Performance Analytics dashboards

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch dashboards by name
limitNoMax records to return (default 25)

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no behavioral context beyond what the schema provides (e.g., default limit). It does not detail response structure or ordering.

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 description is a single concise sentence, but it is under-specified for effective tool selection. It could include brief usage context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, no output schema) and rich annotations, the description is minimally adequate. However, it fails to leverage context signals like openWorldHint to clarify that all dashboards are returned regardless of user permissions.

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?

Input schema covers both parameters with clear descriptions (query for name search, limit for max records). The description adds no additional semantics beyond the schema, which is already well-documented.

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 clearly states the verb 'List' and the resource 'Performance Analytics dashboards', distinguishing it from other list tools targeting different resources (e.g., list_pa_indicators). However, it lacks specifics on scope like user-specific vs. all dashboards.

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?

No guidance is provided on when to use this tool versus alternatives like get_pa_dashboard or other list tools. There is no mention of when to apply the query filter or how pagination works.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pa_indicatorsA
Read-onlyIdempotent

List Performance Analytics (PA) indicators (KPIs) available in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch indicators by name or description
categoryNoFilter by indicator category
activeNoFilter to active indicators only (default true)
limitNoMax records to return (default 50)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds no further behavioral details beyond stating the resource, which is adequate but not additional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's purpose with no unnecessary words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description and schema cover basic usage, there is no mention of return format, pagination behavior, or that it returns a list of objects. This could be improved for a more complete understanding.

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?

All four parameters have explicit descriptions in the schema (100% coverage), so the description adds no extra meaning or usage details beyond what the schema provides.

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 uses the specific verb 'List' and identifies the resource as 'Performance Analytics (PA) indicators (KPIs)', clearly differentiating this tool from sibling tools like 'list_pa_breakdowns' or 'list_pa_dashboards'.

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?

No guidance is provided on when to use this tool versus alternatives such as 'get_pa_indicator' or other list tools. The description implies usage for browsing all indicators but lacks explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pa_jobsC
Read-onlyIdempotent

List Performance Analytics data collection jobs and their schedules

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active jobs only (default true)
queryNoSearch by name
limitNoMax records to return (default 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, idempotent read operation. The description adds no behavioral context beyond stating it lists jobs and schedules. It does not disclose default pagination (limit=25), sorting order, or any side effects.

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 single sentence is concise and front-loaded, communicating the core purpose immediately. It avoids fluff, but could include more context without becoming verbose.

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?

With three optional parameters and no output schema, the description should provide more context about return format, default values, or the nature of 'schedules'. It is incomplete for a tool that might return a list with scheduling details.

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 coverage is 100%, with all three parameters (active, query, limit) having descriptions. The tool description does not add extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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 clearly states the tool lists Performance Analytics data collection jobs and their schedules. It uses a specific verb 'List' and a resource, which is enough to indicate the action. However, it does not explicitly distinguish from sibling tools like 'get_pa_job' or 'list_job_run_history', though the naming convention implies a listing action.

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?

The description provides no guidance on when to use this tool versus alternatives like 'get_pa_job' for a specific job or 'list_job_run_history' for job execution history. No prerequisites or context about when to apply filters are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_portal_pagesA
Read-onlyIdempotent

List pages that belong to a Service Portal

ParametersJSON Schema
NameRequiredDescriptionDefault
portal_sys_idYessys_id of the parent portal
queryNoFilter pages by title or id
limitNoMax records to return (default 50)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. Description adds only that it lists pages, but does not explain pagination, error handling, or permissions beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is direct and front-loaded. No extraneous text.

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?

Given the tool's simplicity (3 required parameters, no output schema), the description adequately conveys purpose. However, it could mention return structure or error conditions.

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 coverage is 100%, and all parameters are described in the schema. Description adds no additional meaning beyond what the schema provides.

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?

Description clearly states the tool lists pages belonging to a Service Portal, uses specific verb and resource, and is distinguishable from sibling tools like get_portal_page and create_portal_page.

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?

No explicit when-to-use or when-not-to-use guidance. Usage is implied for listing pages under a portal, but alternatives like get_portal_page are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_portalsA
Read-onlyIdempotent

List all Service Portal configurations available in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch portals by title or url_suffix
limitNoMax records to return (default 25)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, idempotent read operation. The description does not add any behavioral details beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, containing all necessary information without any fluff. It is efficiently written and front-loaded.

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 simple list tool with two fully described parameters and clear annotations, the description is mostly complete. It could be slightly improved by mentioning what fields are returned, but this is not essential.

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?

Both parameters (query, limit) have descriptions in the input schema with 100% coverage. The description does not add any additional meaning or context for the parameters.

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 clearly states the verb 'list', the resource 'Service Portal configurations', and the scope 'available in the instance'. It is specific and distinguishes from sibling tools like list_portal_pages or list_portal_themes.

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?

The description indicates this tool is for listing portal configurations, which implies usage for general portal enumeration. However, it does not explicitly state when not to use it or provide alternatives, though sibling names help clarify boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_portal_themesA
Read-onlyIdempotent

List Service Portal themes (color palettes, CSS variables)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return (default 25)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds minimal behavioral insight beyond stating the resource type (color palettes, CSS variables). It does not disclose pagination, default limit, or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient.

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 simple list tool with one optional parameter and no output schema, the description is reasonably complete. It specifies what is listed and the type of data. However, it could mention that the listing is unfiltered (consistent with openWorldHint) or include default limit info.

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 coverage is 100% with a self-explanatory parameter 'limit'. The description does not add any meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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 'List Service Portal themes (color palettes, CSS variables)' clearly states the action (list) and the resource (Service Portal themes), with additional detail on the content (color palettes, CSS variables). It effectively distinguishes from siblings like 'get_portal_theme' and 'list_portals'.

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?

No explicit usage guidelines are provided. The description does not specify when to use this tool over alternatives, nor does it mention any prerequisites or typical scenarios. The context is implied by the tool name but could be improved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_portal_widgetsA
Read-onlyIdempotent

List Service Portal widgets with optional search by name or category

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch widgets by name or description
limitNoMax records to return (default 50)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, so description adds limited behavioral context. It mentions optional search and limit but does not disclose default limit, pagination, or return format. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, information is front-loaded. Every word contributes value.

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?

Given simplicity, clear schema, and annotations, description is fairly complete. Lack of output schema explanation is acceptable for a listing tool. Minor gap: could mention typical return fields, but not critical.

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 covers both parameters at 100% coverage. Description adds slight value by specifying 'name or category' for query, aligning with schema's 'name or description' but not providing further syntax or constraints. Baseline 3 is appropriate.

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?

Description uses specific verb 'List' and resource 'Service Portal widgets', clearly distinguishing from siblings like get_portal_widget (single) and create_portal_widget. It mentions optional search capabilities, adding specificity.

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?

Description implies usage context (listing/searching widgets) but does not explicitly state when to use vs alternatives like get_portal_widget or other list tools. No 'when not to use' or alternative tool names provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_process_automationsB
Read-onlyIdempotent

List Process Automation Designer playbooks and processes

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name or description
activeNoFilter to active processes only (default true)
limitNoMax records to return (default 50)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint. Description adds no further behavioral context, such as whether it lists only active items or performance implications. With annotations, baseline is met but no extra value.

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?

Single sentence is concise but lacks structure or breakdown. No front-loading of key information beyond the basic purpose. Minimal viable length.

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 simple list tool with clear annotations and complete parameter descriptions, the description is adequate. It is missing details on output or pagination, but these are not critical given the context.

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 coverage is 100%; all parameters have descriptions. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the verb 'List' and the resource 'Process Automation Designer playbooks and processes'. It distinguishes the tool from siblings like 'get_process_automation' and 'list_flows' by resource type, though not explicitly.

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?

No guidance on when to use this tool versus alternatives. Missing context on when to choose this over related tools such as get_process_automation or list_flows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_property_categoriesA
Read-onlyIdempotent

List all unique property categories with their record counts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, which cover safety and idempotency. The description adds that it returns categories with counts, but does not disclose any additional behavioral traits beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is front-loaded with the purpose and requires no additional structure.

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 simple read-only list tool with no parameters and clear annotations, the description is adequate. However, it lacks detail on the format of 'record counts' and does not provide output schema, leaving some room for ambiguity.

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?

No parameters exist, so the description does not need to add parameter information. Baseline score of 4 is appropriate.

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 clearly states the verb 'List' and the resource 'all unique property categories with their record counts'. It is specific and distinguishes this tool from other list tools by focusing on property categories.

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?

No guidance on when to use this tool versus alternative list tools. Among many sibling list tools, there is no explicit context for when to use list_property_categories or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_relationshipsA
Read-onlyIdempotent

Show parent and child relationships for a CI

ParametersJSON Schema
NameRequiredDescriptionDefault
ci_sys_idYesSystem ID of the CI

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, idempotentHint, openWorldHint) provide safety and idempotency info. The description adds no behavioral details beyond the basic action, such as auth requirements or error handling. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and low parameter count, the description is minimally complete for a simple list operation. However, it does not describe the return format (e.g., array of objects) or potential edge cases, leaving some gaps.

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?

The input schema has 100% coverage (one parameter with description). The description does not add any extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly states the tool's purpose: 'Show parent and child relationships for a CI'. It uses a specific verb 'Show' and resource 'relationships for a CI', distinguishing it from sibling list tools like list_acls or list_assets.

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?

No guidance on when to use this tool versus alternatives. For example, it does not mention that get_cmdb_ci or create_ci_relationship might be relevant. No explicit or implied usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reportsA
Read-onlyIdempotent

List saved reports in the instance (latest release: /api/now/reporting)

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch reports by name (uses sysparm_contains)
categoryNoFilter by report category
limitNoMax results (default: 20)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the agent knows this is a safe, read-only operation. The description only adds the API path, which is minor beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, front-loading the action and including a relevant API note. It is appropriately sized.

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 list tool with no output schema, the description is adequate but could mention return format or pagination. Given the low complexity and good annotations, it is nearly complete.

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 coverage is 100%, with each parameter described. The description adds no extra meaning beyond the schema, so baseline score applies.

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 clearly states the tool lists saved reports, with a specific verb and resource. It distinguishes itself from sibling list tools by targeting 'reports' and even mentions the API endpoint.

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 description implies usage via example parameters (search, category, limit) but does not explicitly state when to use this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_request_itemsB
Read-onlyIdempotent

List requested items (sc_req_item) for a given request or catalog item

ParametersJSON Schema
NameRequiredDescriptionDefault
request_sysidNoParent sc_request sys_id — list items for this request
cat_item_sysidNoCatalog item sys_id — list all requests for this item
stageNoFilter by stage. request | approval | fulfillment | delivery | closed
limitNoMax records (default: 20)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, which the description supports implicitly. However, the description does not disclose pagination behavior (limit param default 20 is in schema only), return format, or behavior when both parameters are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, concise sentence with no wasted words. Front-loaded with the core purpose.

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?

No output schema is provided, and the description does not describe the return value (e.g., list of sc_req_item records) or address edge cases like empty results or parameter combinations. The default limit of 20 is in schema but not explained in context.

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 the schema already documents all parameters. The description adds minimal value by mentioning 'request or catalog item', which maps to the two sysid parameters, but does not enhance understanding beyond the schema.

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 clearly states the verb 'list' and the resource 'requested items (sc_req_item)', with scope 'for a given request or catalog item'. This distinguishes it from sibling tools like list_requests or list_catalog_items, but does not explicitly differentiate.

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?

No guidance on when to use this tool versus alternatives (e.g., list_requests, get_request_item). It does not specify when not to use or mention any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_requestsB
Read-onlyIdempotent

List service catalog requests (sc_request). Supports filtering by state and requested_for user.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by request state. 1=Open, 2=Closed Complete, 3=Closed Incomplete, 4=Closed Cancelled
requested_forNosys_id or user_name of the user the request was made for
queryNoAdditional encoded query filter
limitNoMax records (default: 20)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, and openWorld. The description adds filtering context but does not disclose pagination behavior, rate limits, or default limit behavior, which are relevant for a list operation.

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?

One sentence, concise and front-loaded. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is brief but covers the core functionality. Missing details on pagination, output format, or behavior with no filters. Could be more complete given no output schema.

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 coverage is 100%, so the schema already fully describes parameters. The description adds little beyond restating two filter options, not compensating for any gaps.

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 clearly states the tool lists service catalog requests (sc_request) and mentions filtering capabilities. However, it does not differentiate itself from siblings like get_request or list_request_items.

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?

No guidance on when to use this tool versus alternatives (e.g., get_request for a single request, list_request_items for items within a request). The description only mentions filtering support without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rest_message_functionsA
Read-onlyIdempotent

List HTTP methods (functions) defined within a REST Message

ParametersJSON Schema
NameRequiredDescriptionDefault
rest_message_sys_idYesParent REST Message sys_id
limitNoMax records to return (default 25)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, so the description does not need to repeat these. The description adds no further behavioral context beyond stating that it lists functions, which is already clear from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no unnecessary words. It is front-loaded with the purpose and is as concise as possible without losing clarity.

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 simple list operation with well-annotated read-only behavior and clear parameters, the description is mostly complete. It could briefly mention the type of objects returned, but given the annotations and schema, it is sufficiently informative.

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% for both parameters (rest_message_sys_id and limit). The description does not add parameter semantics beyond the schema, which is adequate. The schema already provides sufficient meaning.

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 clearly states the verb 'List', the resource 'HTTP methods (functions)', and the container 'within a REST Message'. It distinguishes effectively from sibling tools like 'list_rest_messages' and 'list_soap_message_functions'.

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?

The description implies usage by requiring a REST Message sys_id, which sets a clear context. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'list_rest_messages' or 'list_soap_message_functions') or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_rest_messagesA
Read-onlyIdempotent

List outbound REST Message configurations (integrations with external APIs)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name or description
limitNoMax records to return (default 25)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, indicating safe, repeatable, and broad scope. The description adds context about the resource type ('outbound REST Message configurations'), which is helpful but does not disclose additional behavioral traits beyond what annotations suggest. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose efficiently. Every word adds value, no wasted text.

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 simple list tool with safe annotations and full schema coverage, the description is complete enough. It does not explicitly mention pagination or return format, but the limit parameter implies pagination. No output schema exists, so the description does not need to detail return values.

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 the schema already documents both parameters (query, limit) with clear descriptions. The tool description does not add meaning beyond what the schema provides, which meets the baseline for high coverage.

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 clearly states it lists outbound REST Message configurations, specifying 'integrations with external APIs'. This distinguishes it from sibling tools like get_rest_message (single retrieval) and list_rest_message_functions (different entity type).

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 description implies usage for listing all REST Message configurations, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_rest_message for a single config, or list_rest_message_functions for functions). No exclusions or alternative tool names are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scheduled_jobsA
Read-onlyIdempotent

List scheduled jobs and their run schedules

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active jobs only (default: true)
queryNoAdditional filter
limitNoMax results (default: 20)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds that it lists 'run schedules', but no additional behavioral traits like pagination, performance, or data freshness are disclosed. With strong annotations, the description provides minimal extra behavioral context.

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 a single concise sentence without fluff. It could benefit from slightly more context (e.g., return format), but it is appropriately front-loaded and efficient for a simple listing tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not describe the return format. The tool is straightforward, but the description lacks details on response structure, pagination behavior, or default limit. Annotations provide some context but the description remains minimal.

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 the baseline is 3. The description does not add any meaning beyond what the input schema already provides for the three parameters (active, query, limit). The parameters are self-explanatory in the schema.

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 clearly states the tool lists scheduled jobs and their run schedules. The verb 'list' and resource 'scheduled jobs' are specific, and it distinguishes from siblings like get_scheduled_job, create_scheduled_job, etc.

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 description implies usage for viewing multiple schedules, but there is no explicit guidance on when to use this tool over alternatives like get_scheduled_job or trigger_scheduled_job. The context signals and sibling names suggest differentiation, but the description itself lacks explicit usage criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scoped_appsA
Read-onlyIdempotent

List scoped applications (custom apps) installed in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch apps by name or scope prefix
activeNoFilter to active apps only
limitNoMax records to return (default 25)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's statement that it lists apps adds minimal behavioral context. No contradictions, but no extra details on pagination or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the key action and resource. No unnecessary words, earning its place efficiently.

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 simple list tool with three optional parameters and no output schema, the description combined with schema annotations provides sufficient context. Could mention default limit or return type, but overall adequate.

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 descriptions cover all three parameters with 100% coverage. The tool description does not add any additional meaning beyond what the schema already provides, aligning with baseline 3.

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 clearly states the verb 'List' and the resource 'scoped applications (custom apps) installed in the instance', distinguishing it from other list_* tools by specifying the resource type.

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?

No guidance on when to use this tool over alternatives like 'get_scoped_app' or other list tools. The description simply states what it does without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_script_includesA
Read-onlyIdempotent

List script includes (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter (e.g., "nameLIKEUtil")
activeNoFilter to active includes
limitNoMax results (default: 20)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds value by disclosing the SCRIPTING_ENABLED requirement, which is a behavioral condition not captured in annotations. This helps the agent understand preconditions.

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 a single concise sentence that includes a key prerequisite. It is front-loaded and contains no unnecessary words. While brief, it efficiently conveys the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with optional parameters and no output schema, the description is adequate. It covers the basic purpose and a requirement, but could mention that results are filtered lists (implied by params) or contrast with single-record retrieval tools. Overall, it is minimally complete.

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%, with clear parameter descriptions for query, active, and limit. The description does not add extra meaning beyond the schema, so it meets the baseline expectation without enhancement.

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 clearly states the tool lists script includes, which is a specific verb+resource. It also mentions a prerequisite (SCRIPTING_ENABLED=true), distinguishing it from sibling list tools like list_acls or list_assets. This effectively communicates the tool's purpose.

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 description implies usage conditions by stating a prerequisite (SCRIPTING_ENABLED=true) but does not explicitly guide when to use this tool versus alternatives like get_script_include or search_script_includes. No when-not-to-use or sibling comparisons are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scrum_tasksA
Read-onlyIdempotent

List scrum tasks, optionally filtered by story

ParametersJSON Schema
NameRequiredDescriptionDefault
story_sys_idNoFilter by parent story sys_id
assigned_toNoFilter by assignee
limitNoMax results (default: 20)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's statement aligns but adds no extra behavioral context beyond the obvious.

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 a single concise sentence that front-loads the purpose, with no extraneous content.

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 list tool with no output schema, it fails to mention default limit, pagination, sorting, or return fields, leaving gaps in understanding.

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 coverage is 100% with parameter descriptions; the description merely echoes 'filtered by story' without adding new meaning or constraints.

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 clearly states the tool lists scrum tasks with optional story filtering, distinguishing it from sibling tools like list_stories and create_scrum_task.

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 description provides no guidance on when to use this tool versus alternatives such as list_my_tasks or list_stories, leaving the agent to infer usage from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_security_incidentsB
Read-onlyIdempotent

List security incidents with filters (severity, state, category)

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by security incident state
severityNoFilter by severity. 1=High, 2=Medium, 3=Low
categoryNoFilter by incident category
limitNoMax records to return (default 25)
queryNoAdditional encoded query string

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds that it lists with filters, which is consistent. However, it omits behavioral details like pagination behavior or result ordering that could be useful beyond annotations.

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 a single, front-loaded sentence with no unnecessary words. It conveys the core purpose efficiently, though it could be slightly expanded for clarity without becoming verbose.

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?

No output schema exists, yet the description does not explain what the tool returns (e.g., list of incident records, fields). It also fails to mention pagination or the default limit (25), which is important for a list tool. Without these, the description is incomplete for agent decision-making.

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 coverage is 100% with all parameters described. The description only mentions filters (severity, state, category) broadly, adding no new meaning beyond the schema. Baseline 3 is appropriate.

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 clearly states 'List security incidents with filters', specifying the verb (list) and resource (security incidents). It distinguishes from sibling list_* tools by naming the specific resource and key filter dimensions (severity, state, category).

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., get_security_incident for details, create_security_incident for creation). It does not mention prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_security_playbooksA
Read-onlyIdempotent

List available security response playbooks

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter active only (default true)
categoryNoFilter by category (incident_response, threat_hunting, compliance)
limitNoMax records (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint, so the safety and idempotency are clear. The description adds no extra behavioral context beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the core purpose, containing no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description is adequate but does not hint at the return format or result content, leaving some contextual gaps.

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 coverage is 100% and each parameter has a description in the input schema. The tool description adds no additional meaning or context to the parameters.

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 'List available security response playbooks', using a specific verb ('List') and resource ('security response playbooks'), clearly distinguishing from other list tools among siblings.

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?

No guidance on when to use this tool versus alternatives, such as other list tools or when to run a playbook. The agent is left to infer from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_soap_message_functionsA
Read-onlyIdempotent

List SOAP Message Functions (operations) for a given SOAP Message

ParametersJSON Schema
NameRequiredDescriptionDefault
soap_message_sys_idYesParent SOAP Message sys_id
limitNoMax records to return (default 25)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and idempotentHint=true, so description adds no new behavioral info beyond stating it lists functions per message.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, concise sentence with no unnecessary words. Well-structured and direct.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but for a simple list operation, the description is adequate with annotations. However, could mention typical return fields or pagination behavior.

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 coverage is 100% and already describes parameters clearly. Description does not add extra meaning beyond schema.

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?

Description clearly states verb 'List', resource 'SOAP Message Functions', and scope 'for a given SOAP Message'. Distinguishes from sibling tools like list_soap_messages and get_soap_message.

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?

No explicit guidance on when to use or alternatives. Context implies use after obtaining a SOAP message sys_id, but lacks explicit when-not-to-use or alternative suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_soap_messagesB
Read-onlyIdempotent

List outbound SOAP Message configurations (sys_web_service)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name or endpoint
activeNoFilter by active status
limitNoMax records to return (default 25)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare 'readOnlyHint', 'idempotentHint', and 'openWorldHint', which communicate that the tool is safe, idempotent, and may return varying results. The description adds no further behavioral context (e.g., pagination, sorting defaults). It does not contradict annotations.

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 a single, concise sentence with no unnecessary words. It is efficient but could benefit from more structure, such as a hint about the output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with full schema coverage and informative annotations, the description is minimally adequate. It lacks information about what fields the output includes, which would be helpful since there is no output schema. However, it does not miss critical details for basic usage.

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?

The input schema has 100% coverage with clear descriptions for parameters: 'query' (search by name or endpoint), 'active' (filter by active status), 'limit' (max records). The description adds no additional meaning beyond the schema.

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 the action 'List' and the resource 'outbound SOAP Message configurations' with a table hint 'sys_web_service'. It clearly indicates the tool's function and distinguishes from the sibling 'get_soap_message' which retrieves a single configuration. However, it does not explicitly differentiate it from other list tools like 'list_soap_message_functions'.

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?

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives like 'get_soap_message' or 'search' tools. There are no prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_software_licensesA
Read-onlyIdempotent

List software license records with compliance status

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query filter
limitNoMax records (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds 'with compliance status' but does not disclose additional behavior (e.g., pagination, ordering, or filtering details). Score is adequate as annotations cover safety concerns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description could mention return structure or common fields. However, with annotations and schema handling parameters, the description is minimally adequate but leaves gaps in expected output behavior.

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 coverage is 100%, so the schema already documents 'query' and 'limit'. The description adds no extra meaning or examples beyond the schema, meeting the minimum baseline.

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 'List software license records with compliance status' uses a specific verb ('List') and resource ('software license records'), clearly stating the action and domain. It distinguishes from sibling tools like 'get_license_compliance' by implying a list vs. single record retrieval.

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?

No guidance on when to use this tool versus alternatives (e.g., when to use 'get_license_compliance' instead). No prerequisites or context provided for effective use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_storiesB
Read-onlyIdempotent

List agile stories with optional sprint or state filter

ParametersJSON Schema
NameRequiredDescriptionDefault
sprintNoFilter by sprint sys_id
stateNoFilter by state (e.g., "1"=Open, "2"=Work in Progress, "3"=Complete)
limitNoMax results (default: 20)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds no additional behavioral context such as pagination behavior, response format, or rate limits. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the key information (verb, resource, filters). Every word is essential, and there is no redundancy or filler.

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?

Given the simple read-only nature of the tool, the description, combined with the rich annotations and full schema coverage, provides sufficient context. It could mention the default limit and that it returns a list, but the schema covers the limit parameter and the verb implies a list result.

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 the schema already documents each parameter. The description mentions 'optional sprint or state filter' which aligns with the schema but does not add new meaning beyond what is already provided in the parameter descriptions.

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 clearly states the verb ('list'), the resource ('agile stories'), and optional filters ('sprint or state'), making it easy to understand what the tool does. It distinguishes itself from sibling tools like 'create_story' or 'get_story' which have different purposes.

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?

No guidance is provided on when to use this tool versus alternative list tools (e.g., list_epics, list_scrum_tasks). The description does not mention prerequisites, context, or exclusions, leaving the agent to infer usage 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.

list_subflowsA
Read-onlyIdempotent

List available subflows that can be reused across flows

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch subflows by name
activeNoFilter to active subflows only (default true)
limitNoMax records to return (default 50)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, making the description's minimal behavioral info acceptable but not adding beyond the known safety profile.

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?

A single, concise sentence that efficiently conveys the purpose, though it could be slightly expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple list tool with comprehensive annotations, but lacks details about pagination or the exact scope of 'available subflows.'

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 coverage is 100% and each parameter has a clear description; the description adds no extra meaning, meeting the baseline for full schema coverage.

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 clearly states the tool lists subflows that are reusable across flows, differentiating it from similar tools like list_flows which list full flows.

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?

No explicit guidance on when to use this tool versus alternatives like list_flows or get_subflow, only an implicit hint about reusability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_system_propertiesC
Read-onlyIdempotent

List system properties with optional filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query to filter properties
categoryNoFilter by category (e.g. "email", "security")
typeNoFilter by type (e.g. "boolean", "string")
limitNoMax records (default 50)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds minimal context beyond 'optional filtering', failing to mention pagination, default limit, or any side effects. No contradiction with annotations.

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 a single sentence that is concise and front-loaded with the main action. It wastes no words but could be slightly more informative.

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?

Given four parameters, no output schema, and numerous sibling tools, the description lacks completeness. It does not explain return format, filtering behavior, or how this tool differs from similar ones.

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 coverage is 100%, so parameters are well-documented. The description implies filtering but adds no additional meaning beyond what the schema provides. Baseline score of 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 clearly states the tool lists system properties with optional filtering. It is specific about the verb and resource but does not differentiate from sibling tools like search_system_properties or list_property_categories.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., search_system_properties, get_system_property). There is no mention of prerequisites, optimal use cases, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_transform_field_mapsA
Read-onlyIdempotent

List field-level mappings within a Transform Map

ParametersJSON Schema
NameRequiredDescriptionDefault
transform_map_sys_idYesParent Transform Map sys_id
limitNoMax records to return (default 50)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint as true, so the description need not repeat safety traits. It adds no further behavioral details beyond the listing action. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the tool's purpose.

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?

Given the tool's simplicity (2 parameters, no output schema, annotations covering safety), the description is adequate. It could optionally note that the return is a list of mapping objects, but not essential.

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 coverage is 100% with clear descriptions for both parameters ('Parent Transform Map sys_id', 'Max records to return (default 50)'). The tool description adds no additional meaning beyond what the schema already provides.

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 'List field-level mappings within a Transform Map' clearly states the action (list) and the resource (field-level mappings within a Transform Map). It distinguishes from siblings like 'list_transform_maps' (lists transform maps themselves) and 'run_transform_map' (executes a transform map).

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 description implies usage (when you need to see mappings inside a specific transform map) but does not explicitly state when to use vs alternatives, such as 'get_transform_map' which might return similar info. No when-not or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_transform_mapsB
Read-onlyIdempotent

List Transform Maps used for importing data into ServiceNow tables

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch by name or target table
target_tableNoFilter by target table name (e.g. "incident")
limitNoMax records to return (default 25)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and idempotency. The description adds minimal behavioral context beyond stating the purpose.

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?

Single sentence with 10 words, front-loaded with main verb and resource. Efficient, though could be slightly expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description doesn't explain response format or what a transform map includes. Annotations hint at open world, but context could be richer for a list tool.

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?

All 3 parameters have descriptions in the input schema (100% coverage), so the description adds no extra parameter meaning. Baseline score of 3 is appropriate.

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?

Description clearly states verb 'List', resource 'Transform Maps', and context 'used for importing data into ServiceNow tables'. This distinguishes it from sibling list tools like list_transform_field_maps.

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?

No explicit when-to-use or when-not-to-use guidance. The description implies usage for listing transform maps, but no alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ui_actionsA
Read-onlyIdempotent

List UI Actions (buttons, context menus, related links) for a table (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoFilter by table name
typeNoFilter by type: button, context_menu, related_link, list_link, list_button, list_context_menu
activeNoFilter to active actions only
limitNoMax results (default: 25)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, making the tool's safety and behavior clear. The description adds a behavioral constraint (SCRIPTING_ENABLED=true) that is not in annotations, providing extra context. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core purpose. No extraneous words; every part adds value.

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 list tool with 4 parameters and no output schema, the description adequately covers the main functionality and a key requirement. Minor omission: No mention of pagination or default limit, but the input schema includes a limit parameter with default 25.

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 coverage is 100%, so the schema describes all parameters adequately. The description mentions 'buttons, context menus, related links', which mirrors the type parameter's enum values but does not add new meaning beyond the schema. Thus, baseline score of 3 is appropriate.

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?

Description clearly states the verb 'List', the resource 'UI Actions', and the scope 'for a table'. It also differentiates from sibling tools like get_ui_action (single retrieval) and create_ui_action (creation). The context of buttons, context menus, and related links adds specificity.

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?

The description provides a clear prerequisite ('requires SCRIPTING_ENABLED=true'), which helps the agent understand when the tool is available. However, it does not explicitly compare with alternatives like list_acls or list_business_rules, leaving some ambiguity about selection among sibling listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_uib_componentsB
Read-onlyIdempotent

List available UI Builder components (macroponents) in the instance

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records (default 50)
scopeNoFilter by scope/app

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, indicating safe, idempotent, and open-world behavior. The description adds that the tool lists 'available' components, but does not elaborate on query semantics or scope effects. It does not contradict annotations.

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 a single, short sentence that is front-loaded with the core action. The parenthetical 'macroponents' may cause slight confusion but does not significantly detract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with two parameters and rich annotations, the description is adequate but lacks detail on return format, pagination behavior, and how scope filtering works. It does not leverage the opportunity to add completeness.

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 coverage is 100%, with descriptions for both parameters ('Max records (default 50)' and 'Filter by scope/app'). The description repeats no parameter info, so it adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.

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 clearly states the tool's function: 'List available UI Builder components (macroponents) in the instance'. It uses a specific verb ('list') and resource ('UI Builder components'), and distinguishes from sibling tools like 'list_uib_data_brokers' and 'list_uib_pages'.

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?

The description provides no guidance on when or when not to use this tool, nor does it mention alternatives. It simply states what the tool does, leaving the agent without context for selection among similar list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_uib_data_brokersA
Read-onlyIdempotent

List UI Builder data brokers (data sources for pages)

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sys_idNoFilter by page
limitNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description's brevity is acceptable. It adds no behavioral context beyond that, but does not contradict annotations.

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?

A single sentence that is efficient and front-loaded, but it could briefly mention key parameters without significant bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no output schema and good annotations, the description is adequate but lacks details on return format, pagination, or how parameters affect results.

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?

The description does not mention the two parameters (page_sys_id, limit). Schema only describes page_sys_id; limit lacks description. The tool's purpose is clear, but parameters are not explained, forcing reliance on schema alone.

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 clearly states the action (List) and the resource (UI Builder data brokers) with an explanatory parenthetical ('data sources for pages'), making it distinct from sibling tools like list_uib_components or list_uib_pages.

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 description implies usage for listing data brokers but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions for not using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_uib_pagesA
Read-onlyIdempotent

List UI Builder pages and their route configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records (default 25)
appNoFilter by UX app sys_id

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety. The description adds minimal behavioral context beyond stating that pages and routes are listed. No contradictions, but no extra value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no unnecessary words. It is front-loaded and efficient.

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?

Given the tool's simplicity (2 optional parameters, no output schema), the description adequately conveys the core functionality. It could mention the return format (e.g., list of objects) but is otherwise sufficient.

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 coverage is 100% with descriptions for both parameters (limit, app). The description does not add additional meaning beyond what the schema already provides, meeting the baseline expectation.

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 clearly states the verb 'List' and the resource 'UI Builder pages', and specifies that route configurations are included. It effectively distinguishes from sibling tools like 'get_uib_page' (single page), 'create_uib_page', and 'update_uib_page'.

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 description provides no explicit guidance on when to use this tool versus alternatives like 'get_uib_page' or 'search_catalog' for UI Builder pages. While the context of a list tool implies broad retrieval, the lack of explicit when/when-not criteria is a gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ui_policiesA
Read-onlyIdempotent

List UI Policies for a table (field visibility, mandatory, read-only rules) (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoFilter by table name
activeNoFilter to active policies only
limitNoMax results (default: 25)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and idempotentHint. The description adds that the tool requires SCRIPTING_ENABLED=true, a behavioral prerequisite not covered by annotations. It also explains what UI policies are, giving agents insight into the data structure. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that immediately states 'List UI Policies for a table' and adds context in parentheses. No redundancy, all information earns its place. Very concise.

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 simple list tool with three optional parameters and read-only annotations, the description covers purpose, prerequisite, and data type. The input schema handles parameter details. It lacks mention of default ordering or pagination, but is sufficiently complete for effective use.

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?

Input schema covers all three parameters with descriptions. The description only mentions 'for a table,' which aligns with the table parameter but does not add semantics for active or limit. Since schema coverage is 100%, baseline is 3.

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 clearly states the tool lists UI policies for a table, specifying the types of rules (field visibility, mandatory, read-only). This distinguishes it from sibling tools like list_acls or list_business_rules, which deal with different resources.

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?

The description specifies the tool lists UI policies for a table and includes a prerequisite (SCRIPTING_ENABLED=true). It does not explicitly state when not to use or mention alternatives like get_ui_policy, but the verb 'list' vs 'get' provides implicit differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_update_setsB
Read-onlyIdempotent

List Update Sets by state (in progress, complete, ignore)

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoState filter: "in progress", "complete", "ignore"
queryNoAdditional encoded query filter
limitNoMax records (default 25)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety and idempotency are known. The description adds that the tool filters by state, which is a behavioral detail beyond annotations. However, it does not disclose pagination behavior, result ordering, or how the tool behaves when no state is provided. With annotations covering the main traits, the description adds moderate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that efficiently conveys the core functionality. There is no extraneous text; every word serves a purpose.

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 simple list tool with rich annotations and fully described parameters, the description covers the main filtering use case. It does not explain default behavior when state is omitted, but given the low complexity, it is largely complete. The absence of output schema is compensated by the readOnlyHint.

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 coverage is 100% and parameter descriptions are clear. The description merely repeats the state values listed in the schema ('in progress', 'complete', 'ignore'), adding no new semantic meaning. The query and limit parameters are already well described in the schema, so the description doesn't enhance understanding.

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 clearly states the tool lists update sets by a specific state attribute. It names the resource and the filtering criterion, making the primary action obvious. However, it does not specify the scope (e.g., all update sets or those in the current scope), which distinguishes it from similar list tools slightly less completely.

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?

The description provides no guidance on when to use this tool versus its siblings, such as get_current_update_set, get_update_set, or complete_update_set. It does not mention that for a specific update set ID, other tools are more appropriate, nor does it discuss prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_usersB
Read-onlyIdempotent

List users with optional search filter

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter (e.g., "active=true^departmentLIKEIT")
limitNoMax results (default: 20)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat them. However, it adds no further behavioral context such as pagination or result limitations.

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 a single concise sentence that conveys the core purpose. While efficient, it could be slightly more structured with additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with annotations and full schema coverage, the description is adequate but lacks mention of return fields or pagination behavior, which would improve completeness.

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 coverage is 100%, so the description adds no additional meaning beyond the schema's parameter descriptions. It simply restates the filter capability.

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 uses a specific verb ('List') and resource ('users') and mentions an optional search filter, clearly distinguishing it from other list tools targeting different entities.

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?

The description provides no guidance on when to use this tool versus alternatives like query_records or nlq_query, and does not specify if it is for all users or filtered sets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ux_appsA
Read-onlyIdempotent

List Next Experience (UI Builder) applications

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch apps by name
limitNoMax records to return (default 25)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so safety is covered. The description does not add behavioral details like pagination behavior or default limit (which is in schema but not description). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Efficiently communicates the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with two optional parameters, the description is adequate but minimal. Lacks explanation of output or differentiation from similar sibling tools. Could be more complete.

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 coverage is 100% with descriptions for both parameters. The description does not add any additional meaning beyond what the schema already provides.

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?

Description clearly states the action (list) and resource (Next Experience (UI Builder) applications). It distinguishes from sibling tools like list_uib_pages and list_uib_components by specifying 'applications'.

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?

No explicit guidance on when to use this tool versus alternatives among siblings. Usage is implied when listing UX apps, but no when-not or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ux_pagesB
Read-onlyIdempotent

List pages within a Next Experience (UI Builder) application

ParametersJSON Schema
NameRequiredDescriptionDefault
app_sys_idYesParent UX app sys_id
queryNoFilter pages by name
limitNoMax records to return (default 50)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds no extra behavioral context (e.g., pagination, sorting, or result details).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 12 words, front-loaded with verb and resource. No extraneous content, efficiently conveys purpose.

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 simple list tool with annotations and full schema coverage, the description is mostly adequate. Could mention response format (page properties) but not critical.

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% for all 3 parameters. Description does not add meaning beyond what schema already provides; baseline score of 3 applies.

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?

Specifies verb 'List' and resource 'pages' within 'Next Experience (UI Builder) application'. Clearly distinguishes from sibling tools like list_uib_components or list_ux_apps.

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?

No guidance on when to use this tool vs alternatives such as get_uib_page or list_uib_pages. The agent may need to infer from similar-sounding names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_va_categoriesA
Read-onlyIdempotent

List Virtual Agent topic categories

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 25)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, idempotentHint, openWorldHint) cover safety and idempotency. Description adds no additional behavioral context beyond what annotations already provide, so it's adequate but not enhanced.

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?

Single sentence with no wasted words. Efficient, but could potentially include more useful information without harming conciseness.

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 simple list tool with one optional parameter and good annotations, the description is minimally complete. It states the action and resource, though it doesn't describe output shape or category scope.

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?

The only parameter 'limit' is fully described in the schema (description: 'Max results (default 25)'). The description adds no extra meaning or usage hints beyond the schema.

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?

Description clearly states 'List Virtual Agent topic categories' with a specific verb and resource. It effectively distinguishes from sibling tools like 'list_va_topics_full' or 'get_va_topic'.

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?

No guidance on when to use this tool versus alternatives. Does not specify when not to use it or provide context about selection criteria among sibling list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_va_conversationsA
Read-onlyIdempotent

List recent Virtual Agent conversations

ParametersJSON Schema
NameRequiredDescriptionDefault
topic_sys_idNoFilter by topic
user_sys_idNoFilter by user
limitNoMax results (default 25)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description adds limited behavioral context. It mentions 'recent' but doesn't specify time window, ordering, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at 5 words with no waste. Front-loaded with verb and resource.

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?

The tool is simple with no output schema. Description covers core purpose. Could mention default sorting or return format but not essential given safety annotations.

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 coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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 'List recent Virtual Agent conversations' clearly states the verb (list), resource (Virtual Agent conversations), and scope (recent). It distinguishes from siblings like 'get_va_conversation' (singular detail) and 'list_va_topics_full' (different resource).

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it is the default for listing conversations but does not mention exclusions or when to use 'get_va_conversation' for details.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_va_topics_fullB
Read-onlyIdempotent

List all Virtual Agent topics with category and status details

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter to active topics only (default true)
categoryNoFilter by category name
queryNoAdditional encoded query
limitNoMax results (default 50)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds 'with category and status details' but no further behavioral context (e.g., pagination, default limit behavior). Minimal added 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?

Description is a single, clear sentence. It is concise, but slightly front-loaded with important info. Could be improved with structured details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description could detail the response structure more. It mentions category and status but leaves out other potentially relevant fields. Adequate but not complete.

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 coverage is 100%, so parameters are already well-described. The description does not add any additional meaning beyond the schema fields.

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 clearly states the verb 'list' and resource 'Virtual Agent topics', and specifies the included details (category, status). It is unambiguous, but does not explicitly differentiate from sibling tools like get_va_topic or list_va_categories.

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?

No guidance on when to use this tool versus alternatives. With many sibling tools for listing and viewing VA topics, the description should provide context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_vulnerabilitiesA
Read-onlyIdempotent

List vulnerability entries from the Vulnerability Response module

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state (open, in_review, risk_accepted, closed)
severityNoFilter by CVSS severity (critical, high, medium, low)
ci_sysidNoFilter by affected CI sys_id
limitNoMax records to return (default 25)
queryNoAdditional encoded query string

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds only the module context, which is not behavioral. No contradictions, but no extra disclosure beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence of 7 words, front-loaded with the core action and resource. No wasted text; every word earns its place.

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 simple list operation with good annotations and full schema, the description is nearly complete. Lacks mention of return format (no output schema) but still adequate given the tool's simplicity.

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?

Input schema has 100% coverage with descriptions for all 5 parameters. The description does not add any additional meaning beyond the schema, so baseline of 3 is appropriate.

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?

Description clearly states the action (list) and resource (vulnerability entries) with a specific module context (Vulnerability Response), distinguishing it from sibling tools like get_vulnerability (single) and other list_* tools.

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?

No explicit guidance on when to use this tool versus alternatives like get_vulnerability, scan_vulnerabilities, or update_vulnerability. Usage is implied but not stated in a helpful way.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_widget_instancesB
Read-onlyIdempotent

List instances of a specific widget placed on portal pages

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_sys_idYesWidget sys_id to find instances of
limitNoMax records to return (default 25)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds no further behavioral context, but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, fully front-loaded with the core action and resource.

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?

No output schema is provided, yet the description does not explain what 'instances' includes (e.g., page IDs, positions, or widget instance sys_ids). The return format remains ambiguous, which is a significant gap.

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%, both parameters have descriptions. The tool description does not add additional meaning beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states the action 'list' and the resource 'instances of a specific widget placed on portal pages'. It distinguishes from siblings like list_portal_widgets (which lists all widgets) by specifying 'instances of a specific widget'.

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?

No explicit guidance on when to use this tool vs alternatives like list_portal_pages or list_portal_widgets. No mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workspacesB
Read-onlyIdempotent

List all configurable agent workspaces

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter active (default true)
limitNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal behavioral context beyond the annotations. Annotations already indicate a safe, idempotent, and open-world operation. The description merely restates the listing nature without additional details like sorting, pagination, or default behavior for the 'active' parameter.

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 a single concise sentence, easy to parse. However, it is too brief given the presence of two parameters that could benefit from more detail.

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 list tool with parameters for filtering and limiting results, the description does not explain important behavior such as default filtering, sorting order, or pagination. This lack of completeness could lead to incorrect usage or unexpected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention any parameters or their semantics. With schema coverage at 50% (the 'limit' parameter lacks description), the description fails to compensate for the missing parameter documentation, leaving the agent without guidance on how to use the parameters effectively.

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 'List all configurable agent workspaces' clearly states the action (list) and the resource (configurable agent workspaces). It distinguishes this tool from sibling list tools by specifying the resource type.

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?

The description provides no guidance on when to use this tool versus alternatives from the sibling list. It does not mention when to apply filters like 'active' or 'limit', nor does it compare with other listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_detect_anomaliesB
Read-onlyIdempotent

Run anomaly detection on operational metrics (alert volume, incident trends, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable to analyze (e.g. incident, sn_agent_alert)
fieldYesNumeric field to analyse (e.g. priority, reassignment_count)
daysNoLook-back period in days (default 30)
thresholdNoStandard deviations for anomaly threshold (default 2)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover readOnly, idempotent, and openWorld. The description adds that it works on operational metrics, which provides minimal extra context. No contradiction with annotations.

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?

Single sentence, front-loaded with key information. Could include more detail without becoming verbose, but currently efficient.

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?

No output schema exists, yet the description does not explain what the tool returns or any behavioral nuances. With 4 parameters and no output guidance, the description is insufficient for safe invocation.

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 coverage is 100% with descriptions for all 4 parameters. The description adds no additional parameter insight beyond what the schema provides, so baseline 3 is appropriate.

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 clearly states the tool runs anomaly detection on operational metrics like alert volume and incident trends. It uses a specific verb-resource pair and distinguishes from siblings such as ml_train_anomaly_detector and ml_forecast_incidents.

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?

No guidance on when to use this tool versus alternatives (e.g., forecasting or risk prediction). No exclusions or context provided, leaving the agent without decision-making support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_evaluate_modelA
Read-onlyIdempotent

Get accuracy, training status, and metrics for a trained ML solution

ParametersJSON Schema
NameRequiredDescriptionDefault
model_sys_idYesML solution sys_id

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, effectively indicating a safe, idempotent read operation. The description adds no behavioral details beyond what the structured fields provide.

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 a single concise sentence with no unnecessary words, earning high marks for conciseness. Minor improvement could be adding front-loaded structure.

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?

Given the tool's simplicity (one parameter, no output schema), the description adequately covers what the tool provides (accuracy, training status, metrics). It is sufficiently complete for an agent to understand the output.

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 coverage is 100% with one parameter model_sys_id. The description does not add additional meaning beyond the schema's minimal description, so baseline 3 applies.

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 clearly states the tool retrieves accuracy, training status, and metrics for a trained ML solution, with a specific verb and resource. It distinguishes from sibling ML tools like ml_detect_anomalies and ml_forecast_incidents that serve different purposes.

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 description implies usage after training a model but provides no explicit guidance on when to use versus alternatives or when not to use it. No exclusions or alternative tool mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_forecast_incidentsA
Read-onlyIdempotent

Forecast incident volume for the next N days based on historical trends

ParametersJSON Schema
NameRequiredDescriptionDefault
days_aheadNoNumber of days to forecast (default 7)
categoryNoFilter by category (optional)
priorityNoFilter by priority (optional)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds that it uses 'historical trends', which is minimal extra behavioral context. No contradictions.

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?

Single sentence is efficient and front-loaded, but lacks any structure beyond that. Every word earns its place but could benefit from more detail.

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?

No output schema, and the description does not explain return values or behavior. For a forecasting tool with optional params, more context is needed about what the output represents.

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?

Input schema covers all 3 parameters with descriptions (100% coverage). The description adds no additional meaning beyond the schema.

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 uses specific verb 'Forecast' and resource 'incident volume' with temporal scope 'next N days', clearly distinguishing it from siblings like ml_predict_change_risk or ml_detect_anomalies.

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?

No explicit guidance on when to use this tool vs alternatives. The description implies it's for volume forecasting, but lacks when-not or alternative suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_model_training_historyA
Read-onlyIdempotent

Get training run history and accuracy trends for an ML solution over time

ParametersJSON Schema
NameRequiredDescriptionDefault
model_sys_idYesML solution sys_id
daysNoLook-back period (default 90)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint providing behavioral clarity. The description adds no further behavioral details beyond what is already in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no superfluous words. It is front-loaded with the purpose.

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?

Given the simple two-parameter tool with full schema coverage and annotations, the description is sufficient. However, without an output schema, it could specify the return format for completeness.

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 both parameters (model_sys_id and days) are already described. The description does not add extra meaning beyond the schema.

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 clearly states the verb 'Get' and the specific resource 'training run history and accuracy trends' for an ML solution over time, distinguishing it from sibling ML tools like ml_evaluate_model or ml_detect_anomalies.

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 description implies usage for retrieving historical training data and accuracy trends, but does not explicitly mention when not to use or contrast with alternatives like get_pi_models or other ML tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_predict_change_riskA
Read-onlyIdempotent

Predict the risk level of a change request using historical ML analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
change_sys_idNoChange request sys_id to evaluate
typeNoChange type: normal, standard, emergency
categoryNoChange category

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, idempotentHint, openWorldHint) already communicate safety and idempotence; description is consistent but adds no further behavioral context beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with 13 words, clear and free of unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema and does not explain return format or default behavior for optional parameters; suitable for a read-only prediction tool but could be improved.

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?

Input schema covers all parameters with descriptions (100% coverage); description does not add extra meaning beyond schema.

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?

Description clearly states verb 'predict' and resource 'risk level of a change request', differentiating from sibling tools like ml_train_change_risk (training) and get_change_request (querying).

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?

No explicit guidance on when to use this tool versus alternatives; users must infer from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_process_optimizationB
Read-onlyIdempotent

Identify process bottlenecks using analysis of task durations and reassignment patterns

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesProcess table to analyse (e.g. incident, change_request, sc_task)
daysNoAnalysis period (default 90)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, idempotentHint, openWorldHint) already disclose key behavioral traits. The description adds that it analyzes 'task durations and reassignment patterns,' which provides context beyond annotations. No contradictions, but it does not reveal potential side effects or limitations like rate limits or data scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 12-word sentence that immediately conveys the core action. Every word is meaningful, no redundancy. It is optimally concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only analysis tool with 2 parameters and no output schema, the description is mostly adequate. It explains what it does and the analysis method. However, it does not describe the output format (e.g., list of bottlenecks, metrics, severity), which would help an agent interpret results. Considering the tool's simplicity, a moderate score is fair.

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?

The input schema covers 100% of parameters with clear descriptions (table: process table examples, days: default 90). The description adds no further parameter details. Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states the tool's purpose: 'Identify process bottlenecks using analysis of task durations and reassignment patterns.' The verb 'identify' and resource 'process bottlenecks' are specific. While it distinguishes from siblings like ml_detect_anomalies or ml_forecast_incidents, it does not explicitly differentiate from all ML tools, leaving slight ambiguity.

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?

The description does not provide any guidance on when to use this tool versus alternatives (e.g., ml_detect_anomalies or ml_forecast_incidents). It lacks explicit when-to-use or when-not-to-use instructions, leaving the agent to infer from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_train_anomaly_detectorB

Trigger training of an anomaly detection model for a specific table/field. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTarget table for anomaly detection
fieldYesNumeric field to train on

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the description's '[Write]' is redundant. The description does not add behavioral context such as whether training overwrites an existing model, how long it takes, or whether it is asynchronous. Given the annotation coverage, the bar is lower, but the description still adds no extra behavioral transparency beyond the structured hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with an explicit action and resource, plus a '[Write]' tag that reinforces the write nature. It is front-loaded and contains no unnecessary words. Every part earns its place.

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 training operation with no output schema and no mention of return values, job IDs, or next steps. The description does not explain what the agent should expect after triggering training (e.g., asynchronous job creation, training history). Given the complexity of model training and the absence of an output schema, the description is incomplete.

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?

The schema fully covers both parameters (table and field) with clear descriptions. The description's phrase 'specific table/field' merely echoes the schema without adding new semantics. Baseline 3 is appropriate since the schema does the heavy lifting and the description provides no additional parameter meaning.

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 clearly states the action ('Trigger training') and the resource ('anomaly detection model for a specific table/field'). It distinguishes this from sibling tools like ml_detect_anomalies (which infers) and ml_evaluate_model (which evaluates). The scope is specific and actionable.

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?

There is no explicit guidance on when to use this tool versus alternatives. The description implies usage for training an anomaly detector, but it does not mention exclusions (e.g., 'use ml_train_change_risk for risk models') or prerequisites. It is minimally implied by the tool name and context, but no explicit guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_train_change_riskA

Trigger training of the change risk prediction ML model. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
solution_nameNoML solution name (default auto-detect)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint=false) and not idempotent. Description adds that it 'triggers training', which implies a state change, but does not disclose potential async behavior, resource impact, or effects on existing model versions. This is acceptable given annotation coverage but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single clear sentence, directly front-loaded with verb and object. No filler or redundancy; the trailing '[Write]' is a separate classification, not part of the description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no output schema and one optional param. Description covers the core action but does not mention what the response looks like, whether training is synchronous or asynchronous, or if any confirmation/job ID is returned. Given the simplicity, this is adequate but not thorough.

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 coverage is 100% with a self-descriptive parameter 'solution_name' (default auto-detect). Description adds no parameter info, but the schema already sufficiently documents the single optional parameter, so baseline 3 applies.

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?

Description uses specific verb 'Trigger training' and identifies the exact resource 'change risk prediction ML model'. It clearly distinguishes from sibling tools like ml_predict_change_risk or ml_train_anomaly_detector by naming the model type.

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?

Implied usage: call when you need to train/retrain the change risk model. However, no explicit when-to-use or alternatives are mentioned, such as using ml_predict_change_risk for prediction or ml_evaluate_model for evaluation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_train_incident_classifierB

Trigger training of the incident classification ML solution. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
solution_nameNoML solution name (default auto-detect)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds only the '[Write]' tag, which merely duplicates the readOnlyHint=false annotation. It fails to disclose important behavioral traits such as whether training is asynchronous, how long it might take, or what side effects occur (e.g., model replacement). With annotations already covering the write status, the description contributes no extra transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the action and resource, with a minimal '[Write]' tag. There is no wasted wording or redundant elaboration, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with a fully described schema and annotations, the description provides adequate purpose but lacks details about the return value or post-training behavior. Since there is no output schema, the agent does not know what result to expect, leaving a notable gap in completeness.

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?

The input schema fully describes the single parameter solution_name with its default auto-detect behavior, giving 100% coverage. The description does not add any parameter-specific information, so it earns the baseline score of 3 without further enhancement.

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 clearly states the action ('Trigger training') and the specific resource ('incident classification ML solution'), which distinguishes it from sibling ML training tools like ml_train_change_risk or ml_train_anomaly_detector. The verb and resource are precise, leaving no ambiguity about what the tool does.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios that warrant retraining, or differentiate from the many other ML training tools in the sibling list, leaving the agent without contextual selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_virtual_agent_nluA
Read-onlyIdempotent

Analyse Virtual Agent NLU performance — conversation completion rates and fallback metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
topic_sys_idNoVA topic sys_id (optional, all topics if omitted)
daysNoAnalysis period in days (default 30)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it analyzes metrics, which is consistent and non-contradictory. However, it does not disclose additional behavioral traits such as aggregation methods, data freshness, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that gets straight to the point with no wasted words. It is concise and efficiently conveys the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description could provide more detail about the return format or structure of the analysis. While it mentions key metrics, it is somewhat minimal for a tool that returns analytical results.

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 the schema already documents both parameters (topic_sys_id and days) with their defaults and optionality. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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 clearly states the tool analyses Virtual Agent NLU performance, specifying 'conversation completion rates and fallback metrics'. It distinguishes from sibling tools that retrieve individual conversations or list topics, as it is an analytical tool rather than a retrieval one.

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 description implies the tool is for performance analysis, but provides no explicit guidance on when to use it versus alternatives like 'get_va_conversation' or 'list_va_conversations'. No when-not-to-use or prerequisite information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

natural_language_updateA
Idempotent

Update a record using natural language (experimental, requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionYesNatural language update instruction
tableYesTable name

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is a write operation with idempotency. The description adds only the experimental status and configuration requirement, but lacks details on limitations, error handling, or interpretation of natural language.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that effectively summarizes the tool's purpose and key conditions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with simple parameters and existing annotations, the description is minimal but sufficient in context. However, it does not explain the return value or behavior of the update, which may be expected for a mutation tool.

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?

Both parameters are fully described in the schema with clear descriptions. The tool description does not add any additional parameter semantics beyond what the schema provides.

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 clearly states the tool updates a record using natural language, distinguishing it from other update tools that use structured inputs. It is specific and informative.

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 description mentions it is experimental and requires WRITE_ENABLED=true, providing a constraint. However, it does not explicitly guide when to use this tool over other update tools or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlq_queryB
Read-onlyIdempotent

Ask a natural language question and get structured ServiceNow data (ServiceNow NLQ API)

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesPlain English question (e.g., "How many P1 incidents were opened this week?")
tableNoOptional target table hint
limitNoMax results (default: 10)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, which provide safety transparency. The description adds minimal behavioral context by mentioning the ServiceNow NLQ API, but does not elaborate on behaviors like rate limits, authentication, or data scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loaded with the primary action and resource. Highly concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters and no output schema, the description is minimal. It doesn't clarify what 'structured data' means, query limitations, or how it compares to sibling NL tools. Annotations help but overall completeness is adequate but not thorough.

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?

Input schema has 100% parameter description coverage, so the schema already defines each parameter. The description adds no additional meaning beyond what the schema provides, meeting the baseline of 3.

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?

Description clearly states it takes a natural language question and returns structured ServiceNow data, using 'Ask' as a specific verb. However, it does not differentiate from the sibling tool 'natural_language_search', which likely serves a similar purpose.

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?

No guidance on when to use this tool versus alternatives like natural_language_search, query_records, or others. The description lacks context about appropriate use cases or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

order_catalog_itemA

Order a service catalog item (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the catalog item
quantityNoQuantity to order (default: 1)
variablesNoCatalog item variables as key-value pairs

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag this as a non-read-only, non-idempotent operation. The description adds the WRITE_ENABLED=true prerequisite, which is useful, but it does not disclose side effects like creating a request, triggering approvals, or what response to expect. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action and a key requirement. Every word earns its place; there is no wasted text or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutative, open-world action with no output schema, the description lacks context about the result (e.g., what is returned, whether a request is created). The 100% param coverage helps, but the tool's external effects and response format are left unspecified.

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 the parameters (sys_id, quantity, variables) are already documented. The description adds no extra parameter meaning beyond what the schema provides, so baseline 3 is correct.

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 uses a specific verb+resource combination ('Order a service catalog item') that clearly distinguishes it from sibling tools like create_catalog_item, get_catalog_item, and update_catalog_item. The action is well-defined and unambiguous.

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 description implies usage (when you want to order a catalog item) but does not explicitly state when to prefer this over alternatives like create_catalog_item or search_catalog. It only provides a prerequisite (WRITE_ENABLED=true), not usage context or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_update_setB
Read-onlyIdempotent

Preview all changes contained in an Update Set

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUpdate Set sys_id
limitNoMax records to list (default 100)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's 'Preview' aligns. However, description adds no extra behavioral context (e.g., what happens with an empty set, rate limits, or if preview consumes resources).

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?

Single sentence, 7 words, no fluff. Front-loaded and clear, but could be slightly more structured (e.g., separate purpose and usage details). Still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal and lacks return value context (e.g., what the preview output is, whether it's a summary or detailed list). Given no output schema, description should hint at what to expect. Annotations partially compensate for safety.

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 covers both parameters (sys_id, limit) with descriptions. The tool description does not add any additional meaning or usage notes beyond the schema. Baseline 3 is appropriate given 100% coverage.

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?

Description uses specific verb 'Preview' and resource 'changes contained in an Update Set', clearly distinguishing it from siblings like list_update_sets or get_update_set. It directly states what the tool does.

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?

No guidance on when to use this tool vs alternatives like list_update_sets or get_update_set. Does not specify when to use for dry-run or to avoid previewing large update sets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_changesetA
Destructive

Publish/export an update set to XML for deployment (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the update set

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructive hint true, so agent knows it's a mutation. The description adds important behavioral context: the requirement of a system property, which is not in annotations. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with 15 words, no unnecessary information. It is front-loaded with the action and includes the critical prerequisite.

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 single-parameter tool with annotations, the description covers the main action and a key requirement. However, since there is no output schema, describing the return value (e.g., XML payload) would improve completeness. The mention of 'to XML' partially addresses this.

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?

With 100% schema description coverage, the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides (sys_id is system ID of update set).

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 clearly states the verb 'publish/export' and the resource 'update set', with output format 'XML'. It distinguishes from siblings like 'commit_changeset' and 'export_update_set' by mentioning the system requirement, but the presence of a separate 'export_update_set' tool could cause confusion.

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 description provides a usage condition ('requires SCRIPTING_ENABLED=true'), which helps the agent know prerequisites. However, it does not explicitly state when to use this tool over siblings like 'commit_changeset' or 'export_update_set'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_flowA
Idempotent

Publish (activate) a draft flow or subflow. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
flow_sys_idYesFlow or subflow sys_id to publish
typeNoType: flow or subflow (default flow)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and idempotentHint=true. The description adds '[Write]' which is consistent but doesn't reveal side effects like whether the draft becomes uneditable, or if activation is reversible.

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 a single sentence, efficient and front-loaded, though very brief.

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?

Given the simple operation, good annotations, and complete schema, the description is nearly complete. It doesn't cover return values (no output schema) but that's acceptable.

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 coverage is 100% with both parameters described. The description does not add any additional meaning beyond what the input schema already provides.

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 clearly states 'Publish (activate) a draft flow or subflow' with a specific verb and resource, distinguishing it from sibling tools like create_flow, update_flow, get_flow, or list_flows.

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 description implies usage for activating drafts but provides no explicit guidance on when to use this tool versus alternatives, nor any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_knowledge_articleA
Idempotent

Publish a draft knowledge article (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the article to publish

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly, non-destructive, idempotent behavior. The description adds the WRITE_ENABLED requirement but does not elaborate on the effects of publishing (e.g., visibility changes). With annotations present, this is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence conveying purpose and a key prerequisite with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and annotations, the description covers the basic action and a permission requirement but omits details about state transitions (e.g., what happens if the article is already published) and output, leaving minor gaps.

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?

The input schema has 100% coverage with a description for sys_id. The tool description adds no additional meaning beyond the schema, meeting baseline.

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 clearly states the action (publish) and resource (draft knowledge article), distinguishing it from sibling tools like create_knowledge_article or update_knowledge_article.

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 description provides a prerequisite (requires WRITE_ENABLED=true) but does not explicitly state when to use this tool versus alternatives, nor does it mention conditions like article already being published.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_recordsB
Read-onlyIdempotent

Query ServiceNow records with filtering, field selection, pagination, and sorting

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g., "incident", "change_request")
queryNoEncoded query string (e.g., "active=true^priority=1")
fieldsNoComma-separated fields to return
limitNoMax records (default: 10, max: 1000)
orderByNoField to sort by. Prefix with "-" for descending

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds 'pagination' which is a behavioral trait not evident from the schema alone, but lacks details like default pagination behavior or that the query uses ServiceNow's encoded query format.

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 a single sentence that front-loads the action and resource, followed by a list of capabilities. It is efficient with no wasted words, though it could be slightly more specific about the query format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the schema covers all parameters with descriptions, and annotations provide safety context, the description is adequate but not complete. It does not explain the return format or how pagination works (e.g., whether offset is supported). For a query tool, missing details like query syntax offset completeness.

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% with clear parameter descriptions. The tool description summarizes those as 'filtering, field selection, pagination, and sorting', which adds a high-level grouping but does not provide additional meaning beyond what the schema already offers.

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 clearly states the verb 'Query' and resource 'ServiceNow records', and lists specific capabilities: filtering, field selection, pagination, sorting. This immediately distinguishes it from sibling tools like get_record (single record) or list_incidents (table-specific).

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?

The description provides no guidance on when to use this tool versus alternatives. With a large sibling list including get_record, list_incidents, and trend_query, the agent would benefit from explicit context about when query_records is appropriate (e.g., for complex filters across tables) and when to use other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_eventA

Register a new custom event in the event registry (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesUnique event name (e.g. "my_app.record_created")
descriptionNoDescription of when this event fires
tableYesTable that fires this event (e.g. "incident")

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the SCRIPTING_ENABLED=true prerequisite, which is a behavioral requirement beyond what annotations provide. Annotations already indicate a non-readonly, non-idempotent write, so the description complements rather than repeats, though it doesn't detail failure modes or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the action and resource, and includes a parenthetical prerequisite. It is concise with no wasted words.

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?

The description covers the purpose and a key prerequisite. With full schema coverage and annotations, it is sufficiently complete for a simple registration tool, though it does not describe return or error behavior. Given the tool's simplicity, this is adequate.

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 the baseline is 3. The description adds no parameter-level details beyond what the schema already documents, so no extra credit is warranted.

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 uses a specific verb ('register') with a clear resource ('custom event in the event registry') and a prerequisite. It distinguishes from siblings like list_event_registry, get_event_registry_entry, and fire_event by making the creation aspect explicit.

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?

The description provides clear context for when to use the tool, noting it requires SCRIPTING_ENABLED=true. It doesn't explicitly mention alternatives or exclusions, but the purpose is clear within the event toolset, and the prerequisite serves as a usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reject_requestA
Idempotent

Reject a pending approval request (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the approval record
commentsYesReason for rejection (required)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds a behavioral condition (WRITE_ENABLED=true) but does not disclose other traits like what happens upon rejection (e.g., state change, notifications). It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that conveys the purpose and a precondition. No unnecessary words or repetition.

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 simple mutation tool with two required parameters and no output schema, the description is adequate. It covers the action, target, and a key prerequisite. Could mention the return state or side effects, but not required given the tool's simplicity.

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%, with both parameters (sys_id, comments) already described in the schema. The description adds no additional semantic meaning beyond the schema. Baseline score of 3 is appropriate.

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 clearly states the action ('Reject') and the resource ('pending approval request'). It also includes a prerequisite condition (WRITE_ENABLED=true), which adds specificity. The verb 'reject' distinguishes this from the sibling 'approve_request'.

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 description mentions a requirement (WRITE_ENABLED=true) but does not provide explicit guidance on when to use this tool versus alternatives like 'approve_request' or 'cancel_request'. It implies the tool is for pending requests but doesn't specify exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_user_from_groupA
Destructive

Remove a user from a group (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
member_sys_idYesSystem ID of the sys_user_grmember record

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false and destructiveHint=true. The description adds the WRITE_ENABLED=true requirement, which is not present in annotations, providing extra context about a necessary precondition. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action immediately and includes a necessary requirement. No wasted words or redundant information.

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 simple one-parameter destructive action, the description plus annotations are sufficient. It could mention the irreversible nature or what happens if the user is not in the group, but these are not critical for invoking the tool correctly.

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?

The schema provides full coverage of the single parameter member_sys_id with a clear description. The tool description adds no additional parameter meaning, so the baseline of 3 applies due to 100% schema coverage.

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 uses a specific verb 'Remove' and resource 'a user from a group', clearly distinguishing it from sibling tools like add_user_to_group. The parenthetical adds a requirement without obscuring the core action.

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?

There is no explicit guidance on when to use this tool versus alternatives, but the action itself strongly implies its purpose. The WRITE_ENABLED=true condition provides a prerequisite, giving some guidance beyond just the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_incidentA
Destructive

Resolve an incident with resolution code and notes (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the incident
resolution_codeYesResolution code (e.g., "Solved (Permanently)")
resolution_notesYesDetails of how the incident was resolved

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the description's mention of 'Resolve' is consistent. The additional context about WRITE_ENABLED is useful but does not go beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence that efficiently conveys the action, resources, and a prerequisite. No wasted words.

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?

The description is adequate for a simple mutation tool with clear schema and annotations. Missing output schema details, but that is acceptable given the context. Could benefit from a brief note on the effect (e.g., 'incident state changes to resolved').

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?

Input schema has 100% description coverage for all 3 parameters. The description restates the purpose of the parameters ('resolution code and notes') but does not add new meaning beyond the schema.

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?

Description clearly states the action ('Resolve an incident') and the required inputs (resolution code and notes). However, it does not differentiate from the sibling tool 'close_incident', which might have a similar purpose.

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?

Description mentions a prerequisite ('requires WRITE_ENABLED=true'), which is helpful, but does not provide guidance on when to use this tool vs alternatives like 'close_incident' or 'update_incident'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_problemA
Destructive

Resolve a problem with root cause and resolution notes (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the problem
root_causeYesRoot cause of the problem
resolution_notesYesHow the problem was resolved

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the prerequisite 'requires WRITE_ENABLED=true' beyond the annotations, which notes that the tool is destructive (destructiveHint=true) and not read-only. However, it does not disclose other behavioral traits like the irreversibility of the action or side effects, which would be valuable for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the purpose ('Resolve a problem with root cause and resolution notes') and includes a critical prerequisite in parentheses. Every word earns its place; no unnecessary fluff.

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?

Given the tool's simplicity (3 required string parameters) and the presence of annotations covering readOnlyHint and destructiveHint, the description is mostly complete. However, it does not mention the return value or confirm whether the operation is reversible, which could be useful. Still, overall good completeness.

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?

The input schema provides full descriptions for all three parameters (sys_id, root_cause, resolution_notes), achieving 100% schema coverage. The description does not add any additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 clearly specifies the verb 'resolve', the resource 'problem', and the required fields (root cause, resolution notes). It distinguishes this tool from siblings like 'update_problem' or 'get_problem' by indicating a specific action (resolution) and a prerequisite (WRITE_ENABLED=true).

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 description mentions a prerequisite (WRITE_ENABLED=true), which is helpful, but it does not explicitly state when to use this tool versus alternatives like 'update_problem' or 'close_problem' (if such exists). The context is adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retire_assetA
Destructive

Retire an IT asset (mark as disposed/retired). [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesAsset sys_id
disposal_reasonNoReason for retirement
disposal_dateNoDisposal date (YYYY-MM-DD)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=true, so the description doesn't need to restate safety. It does add the clarification that the operation 'marks' the asset as disposed/retired rather than deleting it, which is valuable. However, it does not disclose other behavioral traits like reversibility, required permissions, or side effects beyond the state change.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence plus a '[Write]' tag. It is front-loaded with the key action and resource, with no unnecessary words. This is an example of efficient, minimal description.

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 simple write tool with full schema coverage and annotations, the description is sufficiently complete. It clearly states the action and its effect. However, since there is no output schema, a note about what the tool returns (e.g., updated record or success flag) would have been helpful but is not critical for correct invocation.

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?

The input schema provides descriptions for all parameters, covering 100% of the semantic meaning. The tool description does not add any additional parameter-related context, so the baseline score of 3 for high schema coverage is appropriate.

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 ('Retire') and resource ('IT asset'), with a clarifying parenthetical ('mark as disposed/retired'). This clearly distinguishes it from sibling tools like update_asset or delete_record, which serve different lifecycle actions.

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 intended usage is implied by the name and description: use when you want to retire an asset. However, there is no explicit guidance on when to use this instead of alternatives such as update_asset or track_asset_lifecycle, nor any mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retire_knowledge_articleA
Destructive

[Write] Retire a knowledge article (mark as outdated)

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYesArticle number (KB...) or sys_id

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a destructive write operation (readOnlyHint=false, destructiveHint=true). The description adds value by specifying that retiring means 'mark as outdated', which clarifies the exact nature of the operation. However, it does not disclose additional side effects or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, front-loaded with the action, and contains no redundant words. It is efficient and to the point.

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 simple tool with one parameter and no output schema, the description covers the core purpose and effect. It could be enhanced with usage context, but given the simplicity and annotations, it is reasonably complete.

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?

The input schema fully describes the single parameter article_id with its format (KB... or sys_id), and the description adds no additional parameter information. With 100% schema coverage, the description does not need to compensate.

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 clearly states the verb 'Retire' with the resource 'knowledge article' and clarifies the meaning as 'mark as outdated'. This distinguishes it from sibling tools like update_knowledge_article or publish_knowledge_article.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or when not to use it. The only implicit context is the tool name itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rollback_deploymentA
Destructive

Rollback a deployment by reverting an update set. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
update_set_sys_idYesCommitted update set sys_id to rollback
reasonNoReason for rollback

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, covering the safety profile. The description adds the mechanism 'reverting an update set,' which provides some behavioral context beyond the name, but does not mention consequences, reversibility, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the action and mechanism. There is zero wasted text, and the '[Write]' tag is redundant but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only 2 parameters, schema covers them fully, and annotations provide the destructive hint. The description adequately covers purpose and mechanism. However, it lacks any note on expected outcome or edge cases, which is a minor gap for a destructive operation.

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?

Input schema covers both parameters with descriptions (100% coverage). The description itself does not add any extra meaning about the parameters, so the baseline score of 3 is appropriate.

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 clearly states a specific action: 'Rollback a deployment by reverting an update set.' The verb 'rollback' and resource 'deployment' are explicit, and the mechanism 'reverting an update set' distinguishes it from generic rollback or other deployment tools.

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?

The description provides no guidance on when to use this tool versus alternatives like rollback_changes or validate_deployment. It does not mention any prerequisites, exclusions, or preferred use cases, leaving the agent without context to choose appropriately among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_aggregate_queryB
Read-onlyIdempotent

Run a grouped aggregate (COUNT, SUM, AVG) query on any table (latest release: /api/now/stats/{table})

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable to query (e.g., "incident", "task_sla")
group_byYesField to group results by (e.g., "priority", "state", "assignment_group")
aggregateNoAggregate function: COUNT (default), SUM, AVG, MIN, MAX
queryNoOptional encoded query filter
limitNoMax groups (default: 20)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint, so the description doesn't need to restate safety. The description adds the aggregate function list and API endpoint, but the omission of MIN/MAX from the description is a minor inconsistency with the schema.

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 a single concise sentence, efficient but could include more context without being verbose. It earns a 4 for being tight but not maximally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is missing details on return values and output format, which is not covered by output schema (none). For a 5-parameter tool, more complete guidance would help the agent.

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 coverage is 100%, so description adds minimal value. The description does not elaborate on parameter usage beyond what the schema provides. Baseline 3 is appropriate.

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 clearly states the tool runs a grouped aggregate (COUNT, SUM, AVG) query on any table, making its purpose distinct from list or record tools. However, it omits MIN and MAX which are in the schema, slightly reducing clarity.

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 description implies use for aggregate queries but provides no explicit guidance on when to use this tool versus alternatives like list_incidents or query_records. No when-not-to-use or alternative naming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_atf_suiteA

Execute an ATF test suite (requires ATF_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the test suite

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only, not idempotent, and not destructive. The description adds the prerequisite ATF_ENABLED=true, which is useful configuration context. However, it does not disclose what executing a suite entails (e.g., running multiple tests, generating results) or how the outcome is returned, leaving the behavioral profile thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the essential purpose and a prerequisite. Every word earns its place, with no filler or redundancy.

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?

With no output schema, the description should explain return behavior or next steps, but it does not. It fails to mention that running a suite may produce test results retrievable via get_atf_suite_result, nor does it note potential side effects or blocking behavior. For an execution tool, this is a significant omission.

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?

The input schema provides a complete description of the single parameter sys_id (System ID of the test suite), covering 100% of parameter semantics. The description does not add any additional meaning beyond the schema, so the baseline of 3 applies.

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 uses the specific verb 'Execute' with the resource 'ATF test suite', which clearly distinguishes it from siblings like run_atf_test, list_atf_suites, and get_atf_suite. The added prerequisite (ATF_ENABLED=true) further clarifies the exact operation.

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?

The description provides clear context for when to use the tool (to run an ATF suite) and states a required condition (ATF_ENABLED=true). However, it does not explicitly contrast with related tools like run_atf_test or mention when to prefer one over the other, so it lacks all exclusion guidance but is still clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_atf_testA

Execute a single ATF test (requires ATF_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the test

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only, open-world, non-idempotent, and non-destructive behavior. The description adds the prerequisite ATF_ENABLED=true, which is useful context, but it does not disclose potential side effects, response format, or whether execution is synchronous. With annotations carrying the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action and resource, with the prerequisite neatly parenthesized. There is zero redundant text, and every word earns its place.

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 simple tool with one parameter and no output schema, the description covers the core purpose and a key prerequisite. It does not mention how to access results (e.g., via get_atf_test_result), but that is not strictly necessary given the low complexity and available sibling tools. Slightly more context about expected outcomes would make it complete.

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?

The input schema already provides 100% coverage with a description for the only parameter (sys_id as 'System ID of the test'). The description adds no additional parameter meaning beyond what the schema provides, so the baseline of 3 applies.

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 uses a specific verb ('Execute') and clearly identifies the resource ('a single ATF test'), which distinguishes it from sibling tools like run_atf_suite (single vs. suite). The phrase 'single' explicitly narrows scope, avoiding ambiguity with list/get operations.

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 states a clear prerequisite: 'requires ATF_ENABLED=true', which is a useful when-to-use condition. However, it does not explicitly mention alternatives or when-not-to-use cases, though the sibling tool names (e.g., run_atf_suite) imply the distinction. The context is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_discovery_scanB

[Write] Trigger a ServiceNow Discovery scan for network/infrastructure

ParametersJSON Schema
NameRequiredDescriptionDefault
schedule_idYesDiscovery schedule sys_id to run
mid_serverNoOptional MID server name

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, non-idempotent, non-destructive operation, so the '[Write]' prefix is redundant. The description adds the scope ('network/infrastructure') but does not disclose potential side effects, asynchronous behavior, resource usage, or prerequisites beyond the schema. With annotations covering the safety profile, the minimal extra context warrants a middle score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. The '[Write]' prefix is brief and the verb+resource structure is immediately clear. Every word adds some value, and it is appropriately sized for a simple trigger operation.

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?

The description does not explain the outcome of the trigger (e.g., whether it returns a schedule execution ID), how to monitor the scan, or that it may be asynchronous. There is no output schema, so the agent lacks essential context about what happens after invocation. The description is too sparse for a tool with side effects and no output specification.

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 coverage is 100% and both parameters have descriptions. The tool description adds no additional parameter semantics—it does not explain how to obtain schedule_id (e.g., via list_discovery_schedules) or what mid_server does beyond the schema. Baseline 3 applies because the schema fully describes the parameters.

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 uses a specific verb ('Trigger') and identifies the resource ('ServiceNow Discovery scan') with a scope ('network/infrastructure'). This clearly distinguishes it from sibling tools like list_discovery_schedules (which lists schedules) and scan_vulnerabilities (which targets vulnerabilities). The purpose is unambiguous.

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?

The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention that list_discovery_schedules should be used to find schedule_id, or that this is an action that triggers an asynchronous process. No when-not-to-use or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_security_playbookB

Execute a security response playbook against an incident. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
playbook_sys_idYesPlaybook sys_id to execute
incident_sys_idYesSecurity incident sys_id to run against
parametersNoOptional playbook input parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate a non-read-only, non-idempotent write operation; the description adds only a redundant '[Write]' marker. It does not disclose side effects such as incident state changes, asynchronous execution, or permission requirements.

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 a single sentence that gets straight to the point. The '[Write]' tag is somewhat redundant but not distracting; overall it is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While annotations and schema cover safety and parameters, the description omits important contextual details like execution outcomes, potential impact on the incident, or when this tool should be preferred. For a security action tool, this leaves meaningful gaps.

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?

The input schema already provides full descriptions for all parameters (100% coverage), so the baseline is 3. The description adds no additional parameter meaning beyond what the schema offers.

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 clearly states the tool executes a security response playbook against an incident, using a specific verb and resource. It distinguishes itself from the generic execute_playbook sibling by focusing on security response and the incident target.

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 guidance on when to use this tool versus alternatives like execute_playbook or list_security_playbooks. It lacks context about prerequisites, incident types, or expected scenarios for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_transform_mapA

Execute a Transform Map on an Import Set to load data (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
transform_map_sys_idYessys_id of the Transform Map to run
import_set_sys_idYessys_id of the Import Set containing source data

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it is not read-only, not destructive, and not idempotent, and the description adds the WRITE_ENABLED=true requirement. However, it does not explain side effects (e.g., data insertion/update into target tables), potential failures, or execution behavior. The description adds some value beyond annotations but remains minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a parenthetical note. It is front-loaded, concise, and every word contributes information. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 2 params, minimal annotations, and no output schema, the description gives the core action and a key prerequisite, but lacks information on expected outcomes, error scenarios, or other requirements. It is minimally viable but leaves gaps for an agent deciding whether to invoke and what to expect.

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%, with both parameters described in the schema. The description does not add any additional semantic meaning about the parameters, and the schema already provides the necessary context. Baseline of 3 is appropriate.

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 clearly states the verb 'Execute', the resource 'Transform Map', and the object 'Import Set', with the intent 'to load data'. This distinguishes it from siblings like get_transform_map and list_import_sets, which are read-only retrieval tools.

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 'to load data' implies when to use the tool, but there is no explicit guidance on when not to use it or mention of alternatives. The requirement 'WRITE_ENABLED=true' is a prerequisite but not a usage guideline. No exclusions or alternative tools are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_vulnerabilitiesA

Trigger a vulnerability scan for specified CIs or groups. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
ci_sys_idsNoCI sys_ids to scan
groupNoCI group to scan (alternative to ci_sys_ids)
scan_typeNoScan type: full, quick, compliance (default full)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only adds '[Write]', which is redundant given readOnlyHint: false in the annotations. It does not disclose asynchronous behavior, return values, or side effects beyond what annotations already indicate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with a [Write] tag, containing no redundant words. It is front-loaded and immediately clear.

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 simple trigger tool with all optional parameters described, the description covers the core purpose adequately. It lacks information about return values or asynchronous execution, but this is not critical for a straightforward action.

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 parameters (group, scan_type, ci_sys_ids) already have descriptions in the schema. The description's mention of 'specified CIs or groups' reinforces parameter meanings but adds no new information.

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 clearly states the action ('Trigger a vulnerability scan') and the resource (vulnerability scan for specified CIs or groups). It distinguishes itself from sibling tools like run_discovery_scan or list_vulnerabilities by focusing specifically on triggering a vulnerability scan.

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?

The description provides clear context (for specified CIs or groups) and implies the tool's use case. It does not explicitly name alternatives or when-not-to-use, but the context is enough for an agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_cab_meetingC

[Write] Schedule a Change Advisory Board (CAB) meeting

ParametersJSON Schema
NameRequiredDescriptionDefault
change_idYesChange request number (CHG...) or sys_id
dateYesISO date for the CAB meeting
duration_minutesNoMeeting duration in minutes
attendeesNoComma-separated group names

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, non-idempotent, non-destructive operation. The description only adds the redundant '[Write]' prefix and the verb 'Schedule', without disclosing what scheduling entails (e.g., whether invites are sent, whether the change record is updated, or what response is returned). This fails to add meaningful behavioral context beyond annotations.

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 a single short sentence with no fluff. It is appropriately front-loaded with the verb. However, the inclusion of '[Write]' is slightly redundant given the annotations, but overall it is concise and structured.

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 write tool with no output schema and 4 parameters, the description is too thin. It does not explain what a successful scheduling does, how attendees are handled, whether the change_id is required to exist, or what happens on failure. The agent lacks essential context to invoke the tool confidently.

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 4 parameters have individual descriptions. The tool description adds no extra parameter semantics, which is acceptable when the schema is self-sufficient. Baseline of 3 applies.

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 clearly states the action 'Schedule' and the resource 'Change Advisory Board (CAB) meeting'. It is a specific verb+resource pair that distinguishes it from sibling tools like create_change_request or list_* tools. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, typical scenarios, or exclude cases. With many sibling tools for change management, the agent receives no decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_notificationC

[Write] Schedule a notification for future delivery

ParametersJSON Schema
NameRequiredDescriptionDefault
notification_idYesNotification rule sys_id
scheduleYesCron expression or ISO date
activeNoWhether the notification is active

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the prefix '[Write]' which simply restates the readOnlyHint=false annotation, and 'future delivery' adds minimal behavioral context. It does not disclose side effects, required permissions, error behavior, or whether this replaces existing schedules. Given annotations already indicate a write operation, the description provides no additional transparency.

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 a single concise sentence that communicates the core purpose without waste. It is appropriately sized, though it omits potentially valuable detail. No redundancy or structural issues.

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?

With three parameters and no output schema, the description does not explain return values, error conditions, or scheduling semantics (e.g., cron vs ISO date behavior). The lack of usage guidance and behavioral detail makes this incomplete for a non-trivial write operation, especially given the large sibling tool context.

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?

The input schema covers all parameters with descriptions (100% coverage), so the schema is the primary source of parameter meaning. The description itself does not mention any parameter details or add further insight, matching the baseline score of 3 for high schema coverage.

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 clearly states the verb 'schedule' with resource 'notification' and the scope 'for future delivery', making the primary purpose unambiguous. However, it does not explicitly distinguish this from sibling tools like create_notification or trigger_scheduled_job, which could be similar in function.

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 guidance on when to use this tool versus alternatives such as send_push_notification or schedule_cab_meeting. No context, prerequisites, or exclusions are provided, leaving the agent without decision support for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_catalogA
Read-onlyIdempotent

Search the service catalog for items matching a keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords
limitNoMax results (default: 10)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already convey that the tool is read-only, idempotent, and open-world. The description adds minimal behavioral insight beyond stating that it performs a search. It does not discuss pagination, return format, or any side effects, but given the annotations, the description is adequate but not enriching.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is extremely concise and front-loaded. It contains no redundant information and efficiently communicates the core purpose.

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?

Given the tool's simplicity (2 parameters, no output schema, explicit annotations), the description is sufficiently complete. It could mention that it returns matching items or a default result format, but the schema covers the limit parameter. Overall, it provides a clear and adequate summary.

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?

The schema covers all parameters with descriptions (100% coverage). The tool description adds no additional meaning to the parameters; it merely repeats the purpose. According to the baseline rule, a score of 3 is appropriate when schema coverage is high.

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 clearly states the verb 'Search' and the resource 'service catalog', making the tool's purpose unmistakable. It distinguishes itself from sibling search tools by specifically mentioning 'service catalog', which is different from other search targets like CMDB CI or knowledge articles.

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 description does not provide explicit guidance on when to use this tool versus alternative search tools (e.g., ai_search, search_cmdb_ci). The usage context is implied only by the resource name, leaving the agent to infer its applicability without exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_cmdb_ciB
Read-onlyIdempotent

Search for configuration items (CIs) in the CMDB

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoEncoded query (e.g., "sys_class_name=cmdb_ci_server")
limitNoMax CIs (default: 10, max: 100)

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's burden is lower. However, it adds no extra behavioral context (e.g., query syntax limitations, performance). It neither contradicts nor significantly enhances the annotations.

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 a single sentence that immediately conveys the action. It is concise and front-loaded, though it could be slightly expanded to include a note about query format without losing brevity.

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?

Given the complexity of the encoded query parameter and the absence of an output schema, the description lacks completeness. It does not explain how to construct queries (e.g., 'sys_class_name=...'), mention pagination, or describe the response format. This is a significant gap for a search tool.

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?

The input schema has 100% coverage with descriptions for both parameters. The description does not add further meaning or examples beyond what the schema provides, so it meets the baseline.

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 clearly states the action (search) and the resource (configuration items in CMDB). It is specific but does not differentiate from sibling tools like get_cmdb_ci or list_relationships, though the function is distinct.

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?

No guidance is provided on when to use this tool versus alternatives such as get_cmdb_ci for specific items or import_cmdb_data for bulk operations. There is no mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_knowledgeA
Read-onlyIdempotent

Search knowledge base articles by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords or phrase
limitNoMax articles (default: 10)
knowledge_baseNoOptional: filter by knowledge base sys_id or name

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, openWorld. Description adds no behavioral context beyond the schema. No mention of pagination, result format, or scope of search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with verb and resource. Zero waste, efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple search tool, but lacks details on result ordering, pagination defaults, or behavior when no results found.

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 covers all parameters with descriptions. Description does not add extra meaning beyond 'by keyword' aligning with query param. Baseline score appropriate.

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?

Description uses specific verb 'Search' and resource 'knowledge base articles' with method 'by keyword'. Clearly distinguishes from sibling tools like natural_language_search and ai_search.

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?

No explicit guidance on when to use this tool versus alternatives like ai_search or natural_language_search. Usage is implied but not clarified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_system_propertiesA
Read-onlyIdempotent

Search system properties by name, value, or description

ParametersJSON Schema
NameRequiredDescriptionDefault
searchYesSearch text matched against name, value, and description
limitNoMax results (default 20)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint, which adequately disclose safety. Description adds that search is performed on name, value, and description, but does not elaborate on return behavior or edge cases like case sensitivity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence clearly stating purpose with no redundant words. Front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with only two parameters and full schema coverage, the description is adequate but lacks details such as case sensitivity, pagination behavior beyond limit, or return format. Could be slightly more informative.

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 coverage is 100%, so the schema already documents both parameters thoroughly. Description mentions 'name, value, or description' which matches the search parameter's description, adding no new meaning beyond the schema.

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?

Description clearly states verb 'Search' on resource 'system properties' by name, value, or description. It distinguishes from siblings like list_system_properties (lists all) and get_system_property (gets specific) by focusing on search functionality.

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?

No guidance on when to use this tool vs alternatives such as list_system_properties or get_system_property. No when-not-to or context provided, leaving the agent to infer usage without explicit differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_emergency_broadcastC

[Write] Send emergency broadcast notification to users or groups

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesBroadcast subject
bodyYesMessage body
recipientsYesComma-separated user/group sys_ids
channelsNoDelivery channels: email,sms,push

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is a write operation (readOnlyHint=false) and open world. The description adds only '[Write]' which is redundant with annotations, and provides no additional behavioral context such as effects, rate limits, or delivery expectations.

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 description is very short, but the '[Write]' prefix is unnecessary and adds clutter. It is concise but not well-structured, and the single sentence misses important details.

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?

Given the complexity of sending emergency broadcasts (multiple recipients, channels), the description is incomplete. It does not explain return behavior, delivery confirmation, or any prerequisites. No output schema exists to compensate.

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 coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; parameters like 'recipients' and 'channels' are not elaborated on.

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 clearly states the tool sends emergency broadcast notifications to users or groups, with a specific verb and resource. However, it does not differentiate from the sibling 'send_push_notification' or other notification tools.

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?

No guidance on when to use this tool versus alternatives, or any usage context. The description lacks any 'when' or 'when not' instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_push_notificationB

Send a push notification to mobile app users. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
userNoTarget user sys_id
groupNoTarget group sys_id (alternative to user)
titleYesNotification title
bodyYesNotification body text
action_urlNoDeep link URL on tap

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint=false). The description adds the target audience 'mobile app users', which is helpful. However, it does not disclose potential side effects, error conditions, or whether the notification is sent immediately or queued. The bar is lowered by annotations, but the description adds marginal value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence plus a brief tag. It is front-loaded with the core purpose. Every word is necessary and adds value; no redundancy.

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?

Despite having 5 parameters and no output schema, the description is minimal. It does not explain what happens when both 'user' and 'group' are provided, the format of the response (if any), or any constraints like device targeting. The description is incomplete for a tool with this complexity.

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 coverage is 100%, so the input schema fully documents all parameters. The description does not add any additional meaning or context for the parameters beyond what is already in the schema.

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 clearly states the verb 'Send' and the resource 'push notification to mobile app users', which is specific. However, it does not differentiate from sibling tools like 'send_emergency_broadcast', missing a chance to distinguish.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., send_emergency_broadcast, notifications via other channels). The description lacks context on prerequisites or intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

service_mapping_summaryA
Read-onlyIdempotent

View service dependencies and related CIs for impact analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
service_sys_idYesSystem ID of the business service

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true. Description adds context about 'impact analysis' but no additional behavioral traits. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single, well-structured sentence that efficiently communicates the tool's purpose. No redundant or unnecessary information.

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?

Given the simple tool (one parameter, no output schema, good annotations), the description is adequately complete. It covers the core functionality, though it could mention return format or pagination.

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 coverage for the single parameter 'service_sys_id' is 100%, with a description. The tool description adds no extra meaning beyond what the schema provides.

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?

Description clearly states 'View service dependencies and related CIs for impact analysis', specifying verb and resource. It distinguishes from siblings like 'cmdb_impact_analysis' by focusing on 'mapping summary', but does not explicitly differentiate.

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?

No explicit guidance on when to use this tool vs alternatives. The description implies usage for impact analysis, but does not state when not to use or provide alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_system_propertyB
Idempotent

Create or update a ServiceNow system property value. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProperty name
valueYesProperty value
descriptionNoOptional description
typeNoProperty type: string, integer, boolean, choice, password2, etc.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint: false) and idempotent (idempotentHint: true). The description adds 'Create or update' and '[Write]', but these do not provide additional behavioral context beyond what annotations convey. No extra details are given about overwriting behavior, type handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence plus a tagged indicator, front-loaded with the action and resource. It is concise with no wasteful words. The '[Write]' tag is slightly redundant given annotations but does not detract from clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple property setter, the description conveys the essential purpose, and the schema plus annotations cover parameters and safety. However, it lacks any note about return values, prerequisites like permissions, or differentiation from bulk/import tools. Given the low complexity, this is minimally adequate but not richly complete.

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?

The input schema covers 100% of parameters with meaningful descriptions (name, type, value, description), so the baseline of 3 is appropriate. The tool description itself adds no parameter-specific meaning, but it is not required because schema coverage is complete.

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 clearly states the tool's function with a specific verb and resource: 'Create or update a ServiceNow system property value.' It is unambiguous and distinguishes from sibling tools like get_system_property or delete_system_property by indicating it performs writes (create/update) on system properties.

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?

The description provides no guidance on when to use this tool versus alternatives like bulk_set_properties or import_properties. There is no mention of prerequisites, conditions, or exclusions. Only the basic action is stated, leaving the agent without decision support for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_change_for_approvalA
Idempotent

Move a change request to "Requested" state for approval (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the change request

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a non-read, non-destructive, idempotent, open-world operation. The description adds the state transition detail and the WRITE_ENABLED=true requirement, which is useful but does not significantly expand beyond the annotations. The behavioral profile is adequately covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and includes a necessary precondition in parentheses. Every word earns its place with no redundancy or fluff.

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 simple state transition tool with one parameter and good annotations, the description covers the essential purpose and a key requirement. It does not explain return values (no output schema) or failure modes, but given the simplicity, it is sufficiently complete for an agent.

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?

The input schema has 100% coverage with a clear description for the sole parameter 'sys_id'. The description does not add extra meaning beyond the schema, so it meets the baseline of 3.

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 clearly states the verb 'Move' and the resource 'change request' with a specific target state 'Requested'. It distinguishes this tool from siblings like approve_request or close_change_request by focusing on the submission for approval action.

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?

The description explicitly defines the use case: moving a change request to 'Requested' for approval. It mentions a prerequisite (WRITE_ENABLED=true) but does not contrast with alternatives or provide when-not-to-use guidance. Given the tool name and sibling context, it is still clear enough for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_resolutionA
Read-onlyIdempotent

Get AI-powered resolution suggestion for an incident based on similar past incidents

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_sys_idYesSystem ID of the incident

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate read-only, idempotent, and open-world behavior. The description adds value by explaining it is AI-powered and based on past incidents, which gives the agent confidence about the nature of the suggestion. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that effectively communicates the tool's purpose without redundant or unnecessary words.

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?

Given the tool's simplicity (one parameter, no output schema), the description is adequate. It could mention the output format (e.g., a text suggestion), but annotations cover safety and idempotency, making it reasonably complete for an AI agent.

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?

The schema covers the single parameter 'incident_sys_id' with a description. The tool description does not add further meaning beyond what the schema provides. With 100% schema coverage, baseline 3 is appropriate.

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 clearly states the tool retrieves an AI-powered resolution suggestion for an incident using similar past incidents. It uses a specific verb and resource ('get suggestion') and distinguishes from sibling tools like 'get_incident' or 'resolve_incident'.

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 description implies the tool is used when a resolution suggestion is needed, but does not explicitly state when to use it versus alternatives (e.g., directly resolving or searching knowledge). No exclusion criteria or usage context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

switch_instanceA
Idempotent

Switch the active ServiceNow instance for this session

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInstance name as configured (e.g. "prod", "dev", "customer_a")

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and destructiveHint=false, and the description adds the session-scoped nature of the switch. However, it does not elaborate on side effects or prerequisites, so it only partially adds behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no filler. Every word contributes to the meaning and the description is appropriately sized for the tool's simplicity.

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?

The tool is simple with one fully documented parameter and no output schema. The description is sufficient for an agent to understand the operation's purpose and scope, though it does not reference how to list available instances.

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?

The schema fully documents the single 'name' parameter with a clear description and example values. The tool description adds no additional parameter information, so it meets the baseline for high schema coverage.

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 clearly states the action (switch), the target (active ServiceNow instance), and the scope (for this session). It distinguishes from sibling tools like get_current_instance or list_instances by focusing on changing the active instance.

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?

The description implies usage by stating the action, but does not explicitly explain when to choose it over alternatives or mention any exclusions. Since the context is clear and the operation is distinct from related tools, this is a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

switch_update_setA
Idempotent

Switch the active Update Set context to a specified Update Set. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYessys_id of the target Update Set

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral detail beyond what the annotations already convey. It does not mention side effects, return values, or any prerequisites. Since the annotations already indicate this is not read-only, not destructive, and idempotent, the description provides no additional transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that directly states the tool's purpose without any filler or repetitive content. It is appropriately sized for the simple action it describes.

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 simple tool with one parameter and annotations present, the description adequately states the action. It is a lightweight context-switching operation, so the minimal description is sufficient, though it omits any mention of error behavior or effects on the environment beyond the obvious.

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?

The schema fully documents the only parameter (sys_id) with its description. The tool description adds no extra meaning or context around the parameter, so it does not exceed the schema's coverage.

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 uses a specific verb ('Switch') and clearly identifies the resource ('active Update Set context') and action ('to a specified Update Set'). It distinguishes this tool from sibling tools like get_current_update_set and ensure_active_update_set by stating the precise operation.

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 description implies its usage through the action described, but provides no explicit guidance on when to use this tool versus alternatives such as ensure_active_update_set or list_update_sets. No exclusions or when-not-to-use conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_flowB

Execute a flow in test mode with sample inputs. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
flow_sys_idYesFlow sys_id to test
test_inputsNoTest input values

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only and not destructive. The description adds '[Write]' which is redundant with readOnlyHint=false. The term 'test mode' suggests limited side effects, but no concrete behavioral traits (e.g., what gets modified, required permissions, or rollback behavior) are disclosed.

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 a single concise sentence followed by a useful marker ('[Write]'), indicating efficient use of space. However, it could be slightly restructured to include guidance on usage without sacrificing brevity.

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?

Given the tool's complexity (two parameters, one nested object) and no output schema, the description should explain what the tool returns or what 'test mode' entails (e.g., whether results are persisted). The description is too sparse to fully inform an agent, and the 'test_inputs' parameter lacks guidance on format.

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 coverage is 100%, so both parameters ('flow_sys_id', 'test_inputs') have descriptions in the schema. The description does not add any additional parameter-level information, meeting the baseline expectation for a fully covered schema.

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 clearly states the action ('Execute a flow'), the specific mode ('in test mode'), and the type of inputs ('with sample inputs'). It effectively distinguishes this tool from siblings like 'trigger_flow' (presumably for production) and 'publish_flow'.

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 description implies the tool is for testing flows, but does not explicitly state when to use it versus alternatives (e.g., 'trigger_flow' for production). No when-not-to-use or prerequisites are mentioned, leaving selection guidance implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

track_asset_lifecycleC

Track asset lifecycle events and stage transitions

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesAsset tag or sys_id
new_stageYesLifecycle stage: in_stock/in_use/in_maintenance/retired/disposed
notesNoTransition notes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations indicate readOnlyHint=false (write operation), but the description says 'track', which is vague and could mislead. It doesn't disclose that the tool likely updates the asset's lifecycle stage, creates a history event, or may have side effects. It also doesn't mention permissions or reversibility. The description fails to add behavioral clarity beyond what annotations already convey.

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 a single short sentence with no fluff, which is appropriately concise. However, it is so terse that it sacrifices clarity. It earns a 4 because it avoids unnecessary words and is front-loaded with the core action, though it could be more specific in the same length.

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 mutating tool with no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., updated asset, confirmation, event record), what side effects occur (e.g., lifecycle event creation, audit trail), or any conditions like the asset needing to exist. The complexity is moderate (3 params, required fields), but the description leaves critical context missing.

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?

The schema covers all three parameters with descriptions, so the baseline is 3. The description's phrase 'stage transitions' loosely aligns with the new_stage parameter, but it adds no extra meaning about parameter formats, defaults, or relationships. Since schema coverage is 100%, the description does not need to compensate heavily.

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?

The description 'Track asset lifecycle events and stage transitions' identifies the resource (asset lifecycle) and a verb, but 'track' is ambiguous—it could mean monitor or record, not necessarily mutate. The required 'new_stage' parameter implies an update, but the description doesn't explicitly state that it changes the asset's stage, nor does it clearly differentiate from similar tools like retire_asset or update_asset.

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 guidance on when to use this tool versus alternatives. Sibling tools such as retire_asset, update_asset, and create_asset exist, but the description provides no exclusions, prerequisites, or scenarios. The agent must infer usage solely from the parameter names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

track_deploymentA

Record a deployment event in ServiceNow for audit and velocity tracking. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
pipelineNoPipeline sys_id or name
environmentYesTarget environment
artifact_nameYesArtifact or application name
artifact_versionNoVersion or build number
statusYesDeployment status: success, failed, rolled_back
notesNoDeployment notes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only confirms a write operation via '[Write]', which is already indicated by readOnlyHint=false. It does not add behavioral context such as authorization requirements, side effects, or duplicate handling. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with just one substantive sentence and a clear write marker. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters and no output schema; the description is minimal but the schema's parameter descriptions and annotations provide additional context. However, it lacks guidance on overall usage flow, prerequisites, or what happens after recording, making it only moderately complete.

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?

All six parameters have schema descriptions with 100% coverage. The tool description does not add additional parameter semantics beyond that, so it meets the baseline for high schema coverage.

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 clearly states the verb ('Record'), the resource ('deployment event in ServiceNow'), and the purpose ('audit and velocity tracking'). This distinguishes it from sibling tools like list_deployments, get_deployment, and rollback_deployment, which have different actions.

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 description gives context on what the tool does but does not explicitly contrast it with alternatives or provide when-not-to-use guidance. It doesn't mention other deployment tools, so the usage guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trend_queryA
Read-onlyIdempotent

Get time-bucketed trend data for a table (useful for monthly/weekly trend charts)

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g., "incident")
date_fieldYesDate field to bucket by (e.g., "opened_at", "sys_created_on")
group_byYesSecondary grouping field (e.g., "priority", "state")
queryNoOptional encoded query filter
periodsNoNumber of months to look back (default: 6)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's addition of 'Get time-bucketed trend data' adds minimal behavioral context. No details on response format, pagination, or data volume are given.

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 a single sentence with no redundant words. It is concise, though it could be slightly expanded to mention output structure without losing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and no output schema, the description provides enough context to understand the tool’s purpose but lacks details on return format and potential limitations. It is adequate but not fully comprehensive for an AI agent.

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?

The input schema covers all 5 parameters with descriptions, achieving 100% coverage. The description does not add new meaning beyond the schema, such as how parameters interact or format expectations, so baseline 3 is appropriate.

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 clearly specifies the action 'Get' and the resource 'time-bucketed trend data' for a table. It also mentions the use case for monthly/weekly trend charts, distinguishing it from other query tools like 'query_records' or 'run_aggregate_query'.

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 description implies usage for trend charts but does not explicitly state when to use this tool versus alternatives such as 'query_records' or 'nlq_query'. No exclusion criteria or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trigger_agentic_playbookB

Invoke an Agentic Playbook — context-aware AI agents that complete tasks autonomously

ParametersJSON Schema
NameRequiredDescriptionDefault
playbook_sys_idYesSystem ID of the Agentic Playbook
contextNoContext key-value pairs to pass to the playbook

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readOnly, non-idempotent, non-destructive. The description adds that it uses context-aware AI agents autonomously, but does not detail side effects or return behavior beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 15 words, front-loaded with key action and resource. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains the concept but lacks details on what happens after invocation (e.g., response, asynchronicity, success/failure indicators). With no output schema, more guidance could be helpful.

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 coverage is 100% with clear descriptions for both parameters. The description does not add additional meaning beyond the schema.

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 'Invoke an Agentic Playbook — context-aware AI agents that complete tasks autonomously' clearly states the verb and resource, explaining what an Agentic Playbook is. It distinguishes from siblings like 'execute_playbook' by emphasizing 'Agentic', but lacks explicit differentiation.

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?

No guidance on when to use this tool vs alternatives like 'execute_playbook' or 'trigger_flow'. No prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trigger_flowA

Trigger a Flow Designer flow with optional input parameters (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
flow_sys_idYessys_id of the flow to trigger
inputsNoKey-value pairs for flow input variables

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint=false), and the description adds the WRITE_ENABLED prerequisite, which is useful. However, it does not disclose whether the flow runs synchronously, returns an execution ID, or what side effects occur. The description goes slightly beyond annotations but lacks richer behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and includes a key prerequisite. Every word earns its place; no redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and the description does not explain what happens after triggering (e.g., whether it returns an execution ID or how to retrieve execution status). Given the existence of sibling tools like get_flow_execution, a more complete description would mention the expected return or follow-up. The description covers the basics but leaves operational gaps.

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?

The schema already covers both parameters with descriptive text (flow_sys_id as 'sys_id of the flow to trigger' and inputs as 'Key-value pairs for flow input variables'). The description's mention of 'optional input parameters' adds minimal semantic value, aligning with the baseline for 100% schema coverage.

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 clearly states the action: 'Trigger a Flow Designer flow with optional input parameters.' It identifies the specific resource (Flow Designer flow) and verb (trigger), distinguishing it from siblings like get_flow or list_flows which merely inspect metadata.

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 description includes a prerequisite ('requires WRITE_ENABLED=true') but does not explicitly contrast with alternatives such as test_flow or mention when to use this instead of other flow-related tools. The usage context is only implied by the action of triggering, without exclusions or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trigger_scheduled_jobA

Immediately execute a scheduled job on-demand (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesScheduled job sys_id to trigger

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the WRITE_ENABLED=true requirement, which is useful environmental context. The annotations already indicate the operation is not read-only and not idempotent, so the description doesn't need to restate that. It does not describe side effects or whether a job run is created, but the additional context is on par with baseline expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that is front-loaded with the action and resource, followed by a necessary prerequisite in parentheses. Every word earns its place and there is no fluff.

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?

Given the simplicity of the tool (one parameter, no output schema), the description is reasonably complete for an agent to invoke it. It notes the key requirement (WRITE_ENABLED) and the immediate/on-demand nature. The only minor gap is the lack of detail about return values, but this is not essential for a trigger action.

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?

The schema provides 100% coverage of the single parameter sys_id with a clear description ('Scheduled job sys_id to trigger'). The tool description adds no further parameter detail, so the baseline of 3 applies.

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 clearly states the action ('immediately execute') and the resource ('a scheduled job'), and adds the important qualification 'on-demand' which distinguishes this from scheduled/automatic execution. It differentiates from sibling tools like list_scheduled_jobs or get_scheduled_job.

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 description implies the tool is for running scheduled jobs now rather than waiting for the schedule, and it mentions the WRITE_ENABLED=true prerequisite. However, it does not explicitly state when to prefer this over related tools like trigger_flow or how to identify the correct sys_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_aclA
Idempotent

Update an existing ACL rule (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesACL sys_id
fieldsYesFields to update (active, script, roles, condition, etc.)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide safety hints (readOnlyHint=false, destructiveHint=false, idempotentHint=true). The description adds the requirement that SCRIPTING_ENABLED=true must be set, which is useful beyond annotations. However, it does not disclose whether the update merges or replaces fields, nor does it mention potential side effects or permission requirements beyond the scripting flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the action and the requirement. It contains no filler or redundant wording, making it highly concise and front-loaded.

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 simple update tool, the description covers the core purpose and a critical prerequisite. The schema explains the parameters, and annotations cover safety. It does not describe the return value, but no output schema exists and update tools often return minimal data. The main missing piece is explicit confirmation that only provided fields are updated, but overall it is sufficiently complete.

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 coverage is 100%: both `sys_id` and `fields` have descriptions, with `fields` listing examples (active, script, roles, condition). The tool description itself adds no parameter-specific information beyond what the schema already provides, so it stays at the baseline of 3.

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 clearly states the action ('Update') and the resource ('an existing ACL rule'), and the word 'existing' differentiates it from creation tools like create_acl. It also adds a key prerequisite (SCRIPTING_ENABLED=true), making the tool's purpose unambiguous.

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?

The description implies usage for updating already-existing ACL rules, which distinguishes it from create_acl. It also states a specific prerequisite (SCRIPTING_ENABLED=true). However, it does not explicitly name alternatives or state when not to use this tool, so it lacks full exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_assetC
Idempotent

Update an IT asset record. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesAsset sys_id
fieldsYesFields to update

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint: false), non-destructive (destructiveHint: false), and idempotent (idempotentHint: true). The description adds only a redundant '[Write]' tag and does not disclose any additional behavioral traits such as whether partial updates are supported, validation rules, or what happens on update failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with a single sentence and a short tag. It is front-loaded and wastes no words. This is an example of efficient description structure.

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?

The tool has a nested 'fields' object, no output schema, and no guidance on behavior or return value. The description is too sparse to provide a complete picture of how updates behave, leaving a significant gap in understanding.

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?

The input schema provides descriptions for both parameters ('Asset sys_id' and 'Fields to update'), giving 100% coverage. The description adds no extra meaning beyond that, so the baseline of 3 is appropriate; it does not compensate beyond schema.

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 'Update an IT asset record' clearly states the verb (update) and resource (IT asset record), making the tool's purpose explicit. It distinguishes from siblings like create_asset, retire_asset, list_assets, and get_asset by the specific action, though it lacks the added scope or detail seen in higher-scored examples.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of requiring an existing sys_id, how this differs from create_asset or retire_asset, or any context about the update workflow. The description offers no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_business_ruleA
Idempotent

Update a business rule (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the rule
fieldsYesKey-value pairs to update (name, script, active, condition, etc.)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only, not destructive, and idempotent. The description adds the SCRIPTING_ENABLED requirement, which is useful context beyond the annotations. However, it does not disclose potential side effects of updating a business rule or what happens when the requirement is unmet, so it adds limited behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and includes a concise requirement. Every word earns its place, with no fluff or redundancy.

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?

Given the tool's simple parameter set (2 params) and presence of annotations, the description is mostly sufficient. It adds the critical SCRIPTING_ENABLED prerequisite, and the schema documents the parameters clearly. It does not mention return values, but no output schema exists, so that is not a gap. Slightly more context about the update's effect would improve completeness.

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%: both sys_id and fields have descriptions. The fields description adds meaning ('Key-value pairs to update (name, script, active, condition, etc.)'). Since the schema already carries the parameter semantics, the description adds no additional parameter information, so the baseline score of 3 is appropriate.

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 clearly states the action and resource: 'Update a business rule'. This distinguishes it from sibling tools like create_business_rule, list_business_rules, and get_business_rule. The additional requirement does not obscure the purpose.

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 description provides a prerequisite (SCRIPTING_ENABLED=true) that must be met, but does not explicitly mention alternatives or when-not-to-use. Usage is implied by the 'update' verb and the existence of create/list siblings, but lacks explicit exclusions or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_catalog_itemA
Idempotent

Update an existing catalog item (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesCatalog item sys_id
fieldsYesFields to update (name, short_description, price, active, category, etc.)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, non-destructive, idempotent write operation. The description adds the prerequisite that WRITE_ENABLED=true is required, which is useful operational context. However, it doesn't disclose behavior when the flag is false or describe edge cases like non-existent items, so it provides limited additional transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes to the meaning, and the parenthetical requirement is concise. It earns a top score for conciseness.

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 simple update tool with two fully-described parameters and no output schema, the description plus annotations provide adequate context. It mentions the WRITE_ENABLED prerequisite, and the schema covers the parameters. It doesn't explicitly explain partial update semantics, but the nested 'fields' object implies it. Overall, it's reasonably complete for its complexity.

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?

Input schema coverage is 100% with both 'sys_id' and 'fields' described. The description adds no parameter-level detail beyond what the schema already provides, so the baseline score of 3 for high schema coverage is appropriate.

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 'Update an existing catalog item' uses a specific verb and resource, clearly indicating a modification operation. It distinguishes from create_catalog_item and get_catalog_item by virtue of the 'update' verb, but it doesn't explicitly differentiate from the generic update_record tool, so it's not a 5.

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 description implies usage for existing catalog items that need modification, but it doesn't explicitly state when to use this tool versus alternatives like create_catalog_item or update_record. No exclusions or alternative names are provided, making the guidance only implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_change_requestA
Idempotent

Update fields on a change request (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the change request
fieldsYesKey-value pairs to update

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint=false) that is idempotent and non-destructive. The description adds the prerequisite that WRITE_ENABLED=true must be set, which is useful context, but it does not disclose behavioral details such as whether the update is partial or full, or what the return value is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence ('Update fields on a change request') with a necessary parenthetical about the WRITE_ENABLED flag. Every part serves a purpose, and there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with full schema coverage, but the description omits key context such as whether only the specified fields are updated, the return value, and any side effects. Given the absence of an output schema, the agent cannot know what the tool returns, leaving a gap.

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 coverage is 100% for both parameters, with descriptions for 'fields' and 'sys_id' already provided. The description adds no additional parameter semantics beyond the schema, so the baseline score of 3 applies.

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 uses a specific verb ('Update') with a clear resource ('fields on a change request'), distinguishing it from sibling tools like create_change_request, get_change_request, and close_change_request. The phrase 'requires WRITE_ENABLED=true' adds a constraint but does not obscure the purpose.

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 description implies the tool should be used when updating fields on an existing change request, but it does not explicitly state when to use it over alternatives such as create_change_request or close_change_request. There is no mention of exclusions or alternative tools, leaving the agent to infer usage from the name and verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_client_scriptA
Idempotent

Update an existing client script (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesClient script sys_id
fieldsYesFields to update (script, active, name, type, etc.)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnly=false, destructiveHint=false, and idempotentHint=true. The description adds the SCRIPTING_ENABLED prerequisite, which is useful for understanding a failure condition, but does not elaborate on other behaviors like partial updates or permissions. This adds some value beyond annotations but is not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the verb, and includes only the essential prerequisite. No wasted words; every part earns its place.

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 moderate-complexity update tool, the description, schema, and annotations cover the core requirements. The fields object's internal structure is lightly specified, but the description gives sufficient information to select and invoke the tool correctly. A minor gap is lack of detail about return behavior, but no output schema exists.

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%, with both sys_id and fields already described. The tool description adds no additional parameter meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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 clearly states the action (Update) and the resource (client script), with 'existing' distinguishing it from creation. It also includes a key prerequisite (SCRIPTING_ENABLED=true), making the purpose unambiguous and distinct from sibling tools like create_client_script.

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?

The description implies use when updating an existing client script and mentions the required scripting-enabled condition. However, it does not explicitly name alternatives or state when not to use the tool, so while context is clear, it lacks explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_csm_caseA
Idempotent

Update fields on an existing CSM case (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the CSM case
fieldsYesKey-value pairs of fields to update

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the important permission requirement (WRITE_ENABLED=true), which is not captured by annotations. It does not contradict any annotation, and it clarifies the write nature of the operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that states the action, target, and a key requirement. It is front-loaded with the verb and resource, and every word contributes meaning. No redundant information.

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?

Given only two parameters, no output schema, and annotations covering safety, the description is adequately complete. It conveys the core purpose and permission constraint. It could be slightly enhanced by noting that updates are partial (only specified fields), but that is an implied attribute of a fields-map parameter and not a significant gap.

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 coverage is 100%, with clear descriptions for both sys_id and fields. The description adds no extra parameter details beyond restating 'update fields,' so it does not compensate beyond the schema's baseline. The nested 'fields' object lacks examples or accepted value formats, but the schema already carries the semantics.

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 uses a specific verb ('Update') and precise resource ('existing CSM case'), clearly distinguishing it from siblings like create_csm_case, get_csm_case, list_csm_cases, and close_csm_case. The phrase 'existing' correctly restricts scope to updates, not creation.

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?

The description provides a clear prerequisite ('requires WRITE_ENABLED=true') and implies the tool is for modifying an existing case, not for creation or retrieval. However, it does not explicitly name alternatives or state when not to use it, such as when using the generic update_record tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_dashboardA
Idempotent

Update an existing PA dashboard (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesDashboard sys_id
fieldsYesFields to update (name, description, roles, active, etc.)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds the WRITE_ENABLED requirement, which is useful context, but does not describe the update behavior or return value. With annotations covering safety, this is adequate but not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose and a key prerequisite. Every word is useful and there is no redundancy.

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?

Given the simple two-parameter schema and strong annotations, the description is sufficient for an update operation. It could mention return values or error behavior, but these are often implicit for update tools and the WRITE_ENABLED constraint adds important context.

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?

Input schema has 100% coverage with descriptions for both parameters. The description adds no additional parameter semantics beyond what the schema already provides, so baseline 3 is appropriate.

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 clearly states the verb 'Update' and the resource 'existing PA dashboard', distinguishing it from create_dashboard and get_pa_dashboard siblings. It also includes a prerequisite, reinforcing its purpose.

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?

The description implies when to use (to update an existing dashboard) and provides a clear condition (requires WRITE_ENABLED=true). It does not explicitly mention alternatives like create_dashboard, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_epicA
Idempotent

Update an epic (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the epic
fieldsYesKey-value pairs to update

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the WRITE_ENABLED=true requirement beyond what annotations provide. Annotations already cover readOnly=false, destructive=false, and idempotent=true, so the additional prerequisite is valuable. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. The parenthetical is concise and adds relevant context without bloat.

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 simple update operation with two well-documented parameters and annotations providing safety profile, the description is adequate. It doesn't mention return values or failure modes, but these are not critical given the straightforward nature and complete schema.

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% with both 'fields' and 'sys_id' described. The tool description adds no additional parameter meaning, so the baseline score applies.

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?

Clearly states the action 'Update' and the resource 'an epic', distinguishing it from create_epic and list_epics. The parenthetical prerequisite doesn't obscure the primary purpose.

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?

Provides a clear prerequisite (WRITE_ENABLED=true) which is useful context for when this tool can be used. It doesn't explicitly compare with alternatives like update_story, but the resource-specific nature makes the usage context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_groupA
Idempotent

Update a group (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the group
fieldsYesKey-value pairs to update

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate it is a write (readOnlyHint=false), non-destructive (destructiveHint=false), and idempotent (idempotentHint=true). The description adds the requirement that WRITE_ENABLED must be true, which is useful context, but it does not disclose side effects or whether fields are merged or replaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loads the action and prerequisite. No wasted words; concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with fully described schema and supporting annotations, the description is minimum viable. However, it does not mention what the tool returns or any validation/error conditions, which is a clear gap in completeness.

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 covers both parameters (sys_id with 'System ID of the group' and fields with 'Key-value pairs to update') at 100% coverage. The description adds no additional parameter semantics, so the baseline 3 is appropriate.

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 clearly states the tool's function: 'Update a group' – a specific verb+resource that distinguishes it from siblings like create_group, get_group, add_user_to_group, and remove_user_from_group. The prerequisite is an extra detail, not confusion.

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?

No guidance on when to use this tool vs alternatives; only mentions the WRITE_ENABLED=true requirement. Does not note that it is for modifying existing groups as opposed to creating them or managing membership, nor does it reference sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_hr_caseA
Idempotent

Update fields on an existing HR case (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the HR case
fieldsYesKey-value pairs to update

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a non-readonly, idempotent, non-destructive operation. The description adds the WRITE_ENABLED=true requirement, which is useful auth context. However, it does not disclose return values, error behavior, or side effects beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action and includes the prerequisite in parentheses. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete enough for a simple update operation with full schema coverage and annotations, but it does not explain return values or allowed field keys, which could be ambiguous for an agent. It is adequate but not detailed.

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%, with both parameters clearly described. The tool description adds minimal semantic value beyond the schema, so the baseline score of 3 is appropriate.

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 clearly states the tool updates fields on an existing HR case, using a specific verb and resource. It distinguishes from creation (existing) and closure tools, and includes a prerequisite requirement.

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 description implies usage for existing HR cases and specifies a prerequisite (WRITE_ENABLED=true), but does not explicitly contrast with sibling tools like create_hr_case or close_hr_case. It lacks clear when-to-use vs alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_hr_profileA
Idempotent

Update HR profile fields for a user (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_sys_idYessys_id of the user whose profile to update
fieldsYesHR profile fields to update (e.g., {"department": "Engineering"})

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and idempotentHint=true, so the safety profile is known. The description adds the WRITE_ENABLED=true requirement, which is a useful behavioral constraint not in the annotations. However, it does not disclose details about partial updates or side effects, but this is partially covered by idempotentHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that states the core action and a key requirement without any fluff. It is perfectly concise and front-loaded.

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?

The tool is simple with only 2 parameters, both documented, and annotations provide safety/idempotency context. The description adds the WRITE_ENABLED precondition. The absence of output schema and specific return behavior is a minor gap, but the description is sufficient for a straightforward update operation.

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 coverage is 100%: both user_sys_id and fields have clear descriptions. The tool description adds no extra parameter semantics beyond the schema, so baseline 3 applies.

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 'Update HR profile fields for a user' clearly identifies the action (update) and specific resource (HR profile), distinguishing it from read-only get_hr_profile and generic update_user. It also adds a crucial precondition (WRITE_ENABLED=true), making the purpose unambiguous.

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 description gives a clear context (updating HR profile) and notes a prerequisite (WRITE_ENABLED=true), but does not explicitly state when to use this over alternatives like update_user or other update tools. Usage is implied but not explicitly contrasted with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_incidentA
Idempotent

Update fields on an existing incident (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the incident
fieldsYesKey-value pairs to update (e.g., {"state": "2", "urgency": "1"})

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false. The description adds behavioral context by requiring WRITE_ENABLED=true, a configuration prerequisite not evident from schema or annotations. It is consistent with idempotentHint=true, as updating fields is idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that immediately states the action, target, and a key prerequisite. No filler words or redundant phrasing.

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 simple two-parameter update tool with complete schema descriptions and annotations, the description provides sufficient context: what it does and a key requirement. It does not describe return values, but there is no output schema, and the tool's simplicity reduces the need for further detail.

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?

Input schema covers 100% of parameters with descriptions (sys_id, fields). The description adds no extra parameter-level meaning beyond what is already in the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the specific action ('Update fields') and resource ('existing incident'), distinguishing it from sibling tools like create_incident, resolve_incident, and close_incident. It also scopes the update to fields, matching the parameter schema.

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?

Description provides a clear prerequisite (WRITE_ENABLED=true) and implies usage context: when you have an existing incident's sys_id and want to modify fields. It does not explicitly mention alternatives, but the tool name and incident-specific scope make when to use it clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_knowledge_articleA
Idempotent

Update a knowledge article (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the article
fieldsYesKey-value pairs to update (e.g., {"text": "...updated content..."})

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose that the tool writes (readOnlyHint=false) and is non-destructive and idempotent. The description adds the WRITE_ENABLED requirement, which is useful environment context, but does not describe side effects, error behavior, or what happens if the article is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It front-loads the action and includes the only critical prerequisite in a parenthetical, making it highly concise and well-structured.

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?

There is no output schema, so the description should explain return values or success/failure behavior, but it does not. It also does not mention whether the update replaces or merges fields, or if the article must be in a particular state. This leaves significant gaps for a mutation tool.

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% for both sys_id and fields. The description adds no additional parameter context beyond the schema, so it earns the baseline score of 3.

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 uses a specific verb 'Update' and a clear resource 'knowledge article'. It distinguishes this tool from siblings like create_knowledge_article, publish_knowledge_article, and retire_knowledge_article by implying the action is modifying an existing article.

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 description provides a prerequisite (WRITE_ENABLED=true) but does not explicitly state when to use this tool versus alternatives like create_knowledge_article or publish_knowledge_article. The usage context is implied by the verb 'update' but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_notificationA
Idempotent

Update an existing email notification (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesNotification sys_id
fieldsYesFields to update: name, subject, message_html, active, condition, etc.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and idempotentHint=true, which align with an update operation. The description adds the WRITE_ENABLED=true prerequisite, which is not present in annotations and is valuable context for the agent to check before invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the core action front-loaded and the requirement in parentheses. No unnecessary words or repetition, every element contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does not mention what the tool returns after the update, and it leaves the semantics of 'fields' partially open (though schema gives examples). It is sufficient for a basic update, but lacks guidance on return values or partial update behavior.

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?

The input schema fully describes both required parameters, sys_id and fields, including the kinds of fields it accepts. The description adds no extra parameter details, so the schema carries the load; baseline 3 is appropriate given the 100% coverage.

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 clearly states 'Update an existing email notification', identifying the specific verb (update) and resource (existing email notification). This distinguishes it from sibling tools like create_notification, get_notification, and list_notifications.

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 'existing email notification' implies it is for modifying already-created notifications, and the requirement 'WRITE_ENABLED=true' provides a precondition for use. However, it does not explicitly mention when to prefer this over create_notification or how to handle alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_portal_widgetA
Idempotent

Update an existing Service Portal widget's source code (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesWidget sys_id
fieldsYesFields to update: template, css, client_script, server_script, name, etc.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the behavioral context that WRITE_ENABLED must be true, which is a useful permission prerequisite not covered by the annotations. It also clarifies that the operation updates source code fields. However, it does not disclose potential side effects (e.g., widget behavior changes, validation, or response behavior), and the annotations already indicate it is a write, non-destructive operation. This is adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the action, target, and a critical prerequisite. Every word earns its place, with zero redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a mutation with no output schema, and the operation involves multiple potential code fields. The description covers the basic purpose and the WRITE_ENABLED requirement, but it does not explain the expected return value, whether the update replaces or merges fields, or any validation behavior. Given the simplicity of the schema (sys_id and a fields object), the description is passable but leaves some operational context undefined.

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?

The input schema has 100% coverage, with both sys_id and fields described. The tool description adds no extra parameter-specific meaning beyond what the schema already provides, such as the list of possible field keys. Thus, a baseline score of 3 is appropriate when the schema handles documentation.

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 uses a specific verb ('Update') and resource ('Service Portal widget's source code'), clearly distinguishing it from related tools like create_portal_widget or get_portal_widget. The scope is precise, stating that it modifies source code rather than just any widget property.

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?

The description provides clear context: use this tool when you need to update an existing Service Portal widget's source code, as indicated by the word 'existing.' It also mentions the prerequisite 'requires WRITE_ENABLED=true,' which gives a concrete condition for use. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_problemA
Idempotent

Update fields on an existing problem (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the problem
fieldsYesKey-value pairs to update

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds a useful prerequisite (WRITE_ENABLED=true) that is not in the annotations. However, annotations already indicate readOnlyHint=false and idempotentHint=true, so the update behavior is expected. No additional effects, errors, or response details are disclosed, so this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It clearly states the action, target, and a critical prerequisite without redundancy.

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 simple two-parameter update tool with no output schema, the description is largely complete. It covers the prerequisite (WRITE_ENABLED=true) and the schema covers parameters. It does not describe return values, but that is not required given the absence of an output schema.

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?

Both parameters (sys_id and fields) are fully described in the input schema, so the description does not add new parameter semantics. The schema already documents sys_id as 'System ID of the problem' and fields as 'Key-value pairs to update'.

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 clearly states the verb 'Update' and the resource 'existing problem', which distinguishes it from sibling tools like create_problem and resolve_problem. It also specifies the scope (existing problem, fields) without ambiguity.

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?

The description provides clear context for when to use the tool: to update fields on an existing problem. It does not explicitly mention alternatives or exclusions, but the 'existing problem' phrasing implies it is not for creation or resolution, and the sibling tool names make the distinction obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_reportA
Idempotent

Update an existing saved report definition (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesReport sys_id
fieldsYesFields to update (title, type, query, field, aggregate, etc.)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the WRITE_ENABLED=true requirement, which is not present in the annotations and is useful operational context. Annotations already indicate non-readonly (readOnlyHint=false), idempotent (idempotentHint=true), and non-destructive (destructiveHint=false), and the description does not contradict these. While it doesn't disclose side effects like return values or result format, the annotation coverage lowers the burden, making this sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the core purpose immediately and appends the write-enable requirement concisely. Every word contributes value; there is no fluff or unnecessary detail.

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?

This is a simple two-parameter update operation with full schema descriptions and clear annotations, so the description is appropriately sized. It does not mention return values or response format, but no output schema exists and for an update tool this is not a critical gap. The description, combined with schema and annotations, provides enough context for an agent to invoke the tool correctly.

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?

The input schema already describes both parameters completely: sys_id as "Report sys_id" and fields as "Fields to update (title, type, query, field, aggregate, etc.)." The description adds no additional parameter-level meaning beyond what the schema provides. With 100% schema coverage, the baseline of 3 is appropriate.

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 uses a specific verb and resource: "Update an existing saved report definition," clearly indicating a mutation operation on an existing report rather than creation or read. The word "existing" distinguishes it from sibling tools like create_report and get_report. The added "requires WRITE_ENABLED=true" also hints at operational prerequisites without confusing the core purpose.

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?

The phrase "existing saved report definition" implies this is for modifying already-created reports, providing clear context versus create_report. It also states a precondition (WRITE_ENABLED=true), which helps the agent know when the tool can be used. It does not explicitly name alternatives or exclusions, but for this simple update, the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_request_itemA
Idempotent

Update a requested item — stage, assignment, or work notes (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYessc_req_item sys_id
stageNoNew stage: request, approval, fulfillment, delivery, closed
stateNoNew state. 1=Open, 2=Work In Progress, 3=Closed Complete, 4=Closed Incomplete
assigned_toNosys_id of the user to assign to
assignment_groupNosys_id of the assignment group
work_notesNoWork note to append

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the behavioral context that the operation requires WRITE_ENABLED=true, which is not provided by the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true). It does not contradict annotations. It could mention more about side effects or return behavior, but the permission requirement is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with a parenthetical prerequisite. It is front-loaded and every word contributes. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and annotations present, the description provides the permission requirement but lacks information about return values or success/failure behavior. It is adequate but could be more complete by describing what the tool returns or any side effects.

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 the schema already documents all six parameters. The description adds minimal extra meaning beyond listing some editable fields (stage, assignment, work notes). It does not provide additional syntactic or format details beyond the schema.

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 clearly states the action 'Update' and the resource 'requested item', and specifies the fields that can be updated (stage, assignment, work notes). It also notes a prerequisite (WRITE_ENABLED=true). This is specific and distinguishes it from siblings like create_request_item or get_request_item.

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?

The description mentions the prerequisite WRITE_ENABLED=true, which gives context on when the tool can be used. However, it does not explicitly state when to use this tool versus alternatives (e.g., update_incident, update_task) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_scheduled_jobA
Idempotent

Update a scheduled job (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesScheduled job sys_id
fieldsYesFields to update (name, script, active, run_type, run_time, etc.)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotent and non-destructive behavior. The description adds a meaningful operational constraint: requires WRITE_ENABLED=true. This is beyond the annotations and tells the agent that the environment must have write capability enabled for this tool to function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. It immediately states the purpose and the key prerequisite, making it efficient and easy to parse.

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 two-parameter update tool, the description plus schema covers the essentials. It mentions the fields object with example field names, and the WRITE_ENABLED prerequisite. No output schema exists, but returning the updated record is standard for update tools and not strictly necessary to document.

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% - both sys_id and fields have descriptions in the schema. The tool description adds no parameter detail beyond the schema, so the baseline of 3 applies because the schema already documents the parameters sufficiently.

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 uses the specific verb 'Update' plus the resource 'scheduled job,' which clearly distinguishes it from sibling tools like create_scheduled_job, get_scheduled_job, trigger_scheduled_job, and list_scheduled_jobs. It leaves no doubt about what operation is performed.

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 description does not explicitly compare this tool to alternatives or state when to prefer it over create/trigger. The WRITE_ENABLED=true requirement is a prerequisite, not a usage guideline. Usage is implied by the verb 'Update' and the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_scoped_appA
Idempotent

Update an existing scoped application (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesApp sys_id
fieldsYesFields to update (name, version, short_description, description, active, vendor, etc.)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the specific prerequisite 'requires WRITE_ENABLED=true', which is a behavioral requirement not captured in annotations. It does not elaborate on side effects, but given the annotations, this additional context is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the verb and resource ('Update an existing scoped application') and then adds a necessary requirement. There is no redundant or extraneous information.

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?

Given the tool's simplicity (2 params, both documented) and the presence of annotations covering read-only/destructive behavior, the description provides adequate context: purpose and required permission. It does not mention return behavior, but no output schema exists to expect that. It could be slightly more explicit about what 'update' entails (e.g., partial update), but it is sufficient.

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?

The input schema covers both parameters (sys_id and fields) with descriptions, and schema coverage is 100%. The tool description does not add any additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

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 clearly states 'Update an existing scoped application' with a specific verb and resource, and adds the requirement 'requires WRITE_ENABLED=true'. This distinguishes it from read-only operations and from create_scoped_app (which creates new apps) by using 'existing'.

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 provides clear context: use this tool to update an existing scoped application and it requires WRITE_ENABLED=true. However, it does not explicitly mention alternatives or exclusions (e.g., 'use create_scoped_app for new apps'), so it lacks explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_script_includeA
Idempotent

Update a script include (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the script include
fieldsYesKey-value pairs to update

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate this is a non-read-only, non-destructive, idempotent operation. The description adds the prerequisite that SCRIPTING_ENABLED must be true, which is useful operational context. However, it does not disclose further behavioral details such as what happens when the condition is unmet or any side effects beyond the update. With the annotations covering the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and resource, with the requirement in parentheses. Every word is informative and there is no redundancy, making it highly concise and well-structured.

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 simple update tool with two parameters and complete schema coverage, the description covers the core purpose and a key prerequisite. While it does not mention return values or error behavior, the lack of an output schema and the annotations clarifying safety make this reasonably complete. It could benefit from a brief note on what the response contains, but it is not critically incomplete.

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?

The input schema provides 100% coverage with descriptions for both parameters ('Key-value pairs to update' and 'System ID of the script include'). The description adds no additional parameter semantics beyond what the schema already states, so the baseline of 3 applies.

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 clearly states the action ('Update') and the resource ('a script include'), using a specific verb+resource pair that distinguishes it from sibling tools like create_script_include, get_script_include, and list_script_includes. The parenthetical requirement adds a useful constraint without obscuring the core purpose.

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 description implies the tool is for updating script includes by its name and action, but it does not explicitly state when to use this tool over alternatives such as update_record or create_script_include, nor does it mention exclusions or alternative tools. The prerequisite SCRIPTING_ENABLED=true is a condition, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_scrum_taskA
Idempotent

Update a scrum task (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the scrum task
fieldsYesKey-value pairs to update

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the WRITE_ENABLED=true requirement, which is useful, but provides no other behavioral context such as return value or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no extraneous information. It efficiently conveys purpose and a key requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two well-described parameters, but the description does not mention return value or behavior on failure. Given no output schema, some additional context would be beneficial, though the core update function is clear.

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 coverage is 100% with descriptions for both sys_id and fields. The description adds no additional meaning beyond what the schema already provides, so baseline 3 applies.

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 'Update a scrum task' uses a specific verb and resource, clearly distinguishing it from create_scrum_task and list_scrum_tasks. It leaves no ambiguity about the tool's function.

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?

No guidance on when to use this tool versus alternatives like update_task or create_scrum_task. The only added condition, 'requires WRITE_ENABLED=true', is a prerequisite, not a usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_security_incidentA
Idempotent

Update a security incident record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the security incident
fieldsYesFields to update (state, severity, containment_status, etc.)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read/write and destructive profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true). The description adds a specific operational requirement (WRITE_ENABLED=true) that is not in the annotations, which is useful context for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, front-loaded with the verb and resource, and includes the prerequisite in parentheses. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple mutation with two well-documented parameters and annotations covering idempotency and safety. However, the description does not mention return values or behavior for non-existent incidents, and it relies on the schema for field details. It is adequate but has gaps.

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% for both parameters, so the schema already explains what sys_id and fields mean. The description adds no additional parameter-level meaning beyond the schema, so a baseline score of 3 is appropriate.

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 the verb 'Update' and the resource 'security incident record', which is specific and distinguishes it from sibling tools like create_security_incident, get_security_incident, and list_security_incidents.

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 description includes a prerequisite (WRITE_ENABLED=true) but does not explicitly state when to use this tool versus alternatives. Usage context is implied by the tool name and purpose, but no direct exclusions or alternative references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_storyB
Idempotent

Update an agile story (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the story
fieldsYesKey-value pairs to update

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide safety profile (not read-only, not destructive). The description adds the useful requirement WRITE_ENABLED=true, which is beyond annotations. However, it does not disclose how the update behaves (e.g., partial vs full update, field validation, return 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?

The description is a single concise sentence and front-loads the action. It earns its place by adding the WRITE_ENABLED requirement, though more behavioral detail could be added without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with complete schema and annotations, the description is minimally viable. It lacks information about the return value, success/failure behavior, or any constraints on fields, and does not clarify the distinction from generic update_record. Given the existence of sibling tools like update_epic and update_record, more contextual guidance would help.

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 coverage is 100% with clear descriptions for sys_id and fields. The description adds no additional parameter-level meaning, so it relies on the schema, which is acceptable but not enhanced.

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 uses the clear verb 'Update' with the specific resource 'agile story', distinguishing it from sibling tools like update_epic and update_scrum_task. It does not explicitly state the scope or excluded operations, but the object is unambiguous.

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?

The description only mentions the prerequisite WRITE_ENABLED=true and does not provide any guidance on when to use this tool versus alternatives like create_story or update_record. No exclusions or when-not-to-use scenarios are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_taskA
Idempotent

Update fields on a task record (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the task
fieldsYesKey-value pairs to update

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the description's mutation intent is consistent. It adds the WRITE_ENABLED=true precondition, which is useful context, but does not mention return values, partial update behavior, or error conditions. The added context is modest and does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that uses every word usefully, including the critical WRITE_ENABLED condition. No redundancy or padding exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two well-described parameters and safety annotations, but the description omits return-value behavior, error scenarios, and any distinction from complete_task or update_record. It is minimally viable but leaves meaningful gaps for an agent making an autonomous decision.

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%, with sys_id and fields already explained. The description adds no further meaning beyond 'fields' and 'task record', so it remains at the baseline without compensating for any lack of schema detail.

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 clearly states a specific action ('Update fields') and resource ('task record'), which distinguishes it from related sibling tools like get_task or complete_task. The scope is concrete and aligned with the tool name.

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?

The description provides a prerequisite ('requires WRITE_ENABLED=true') but gives no guidance on when to use this tool versus alternatives such as update_record, complete_task, or more specific update_incident/update_change_request tools. No exclusions or alternative references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_ui_actionA
Idempotent

Update an existing UI Action (requires SCRIPTING_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUI Action sys_id
fieldsYesFields to update (name, script, active, condition, etc.)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly=false, idempotent=true, and destructive=false, so the tool's mutation and safety profile are known. The description adds the SCRIPTING_ENABLED prerequisite, which is useful behavioral context, but no additional detail about side effects or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. The key action and prerequisite are front-loaded.

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 simple update operation with well-annotated safety and full schema coverage, the description is sufficient. However, the nested 'fields' object lacks detailed structure, and there's no output schema, so a bit more context about return values would improve completeness.

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?

The input schema provides 100% coverage with descriptions for both parameters (sys_id and fields). The description adds no extra parameter meaning, so it meets the baseline for high schema coverage.

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 uses a specific verb ('Update') and resource ('existing UI Action'), clearly distinguishing it from sibling tools like create_ui_action or get_ui_action. The scope is unambiguous.

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?

The description explicitly states a precondition (requires SCRIPTING_ENABLED=true) and implies the tool is for modifying existing UI Actions. It doesn't explicitly name alternatives, but the sibling list makes the appropriate use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_uib_componentC
Idempotent

Update a UI Builder component. [Scripting]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesComponent sys_id
labelNo
descriptionNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint=false) with idempotent behavior. However, the description adds no extra behavioral detail such as whether updates are partial or full replacement, any permissions needed, or side effects. The safety profile is covered by annotations, but behavioral context beyond that is missing.

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 description is short and to the point, but the '[Scripting]' tag is unclear and adds noise without meaningful value. It is not overly verbose, but it under-specifies rather than being appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description is severely incomplete. It does not explain return behavior, error handling, or whether the update is partial or full. Given the tool's simplicity, a few extra sentences about updatable fields and expected outcomes would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only sys_id is described), and the tool description does not mention any parameters or fields. The description fails to compensate for low schema coverage, leaving the agent without any guidance on what 'label' or 'description' mean in the update context.

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 clearly states the action ('Update') and the resource ('UI Builder component'), distinguishing it from sibling tools like create_uib_component and list_uib_components. It is specific enough to convey the core purpose, though it does not enumerate which fields or attributes can be updated.

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?

The description provides no context on when to use this tool versus alternatives, no prerequisites, and no notes on scenarios where it is appropriate. The '[Scripting]' tag is ambiguous and does not clarify usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_uib_pageC
Idempotent

Update an existing UI Builder page. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesUIB page sys_id
titleNo
pathNo
layoutNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and idempotentHint=true, and the description adds only '[Write]' which duplicates the annotation. It does not disclose additional behavioral details like required permissions, validation behavior, or side effects beyond what annotations already convey.

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 concise and front-loaded with the primary action, but it is overly sparse. While efficient, it omits valuable context that could be included without significant length.

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 an update operation with four parameters and no output schema, the description provides minimal context. It does not mention return values, error conditions, or the significance of the sys_id requirement, leaving the agent to infer critical usage details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only sys_id is described). The description does not compensate by explaining path, title, or layout semantics. It adds no meaningful parameter information beyond the bare field names.

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 clearly states 'Update an existing UI Builder page', using a specific verb and resource. It distinguishes the tool from siblings like create_uib_page, delete_uib_page, and get_uib_page.

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?

No guidance is provided on when to use this tool versus alternatives such as update_uib_component or create_uib_page. The description only states what it does, with no contextual usage cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_userA
Idempotent

Update a user account (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the user
fieldsYesKey-value pairs to update

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the WRITE_ENABLED=true prerequisite, which is not captured in the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=true). However, it doesn't disclose other behavioral details such as partial update semantics, error behavior on nonexistent user, or permission requirements, leaving the agent to infer from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, front-loading the operation and the key prerequisite. No wasted words.

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?

Given the simple two-parameter operation, full schema coverage, and annotations indicating safety properties, the description is reasonably complete. It lacks explicit usage guidance, but that is penalized in the usage dimension; the core operation and prerequisite are covered.

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 coverage is 100% with descriptions for sys_id and fields, so the baseline is 3. The description adds no parameter-level semantics beyond what the schema already provides; the 'fields' object is adequately described as key-value pairs.

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 uses the specific verb 'Update' and resource 'user account', clearly distinguishing from sibling tools like get_user, create_user, and list_users. It also adds the WRITE_ENABLED prerequisite, making the operation unambiguous.

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?

The description provides no guidance on when to prefer this tool over alternatives like update_record or natural_language_update, nor does it mention that it's for existing users only. The only usage hint is the WRITE_ENABLED requirement, which is a precondition rather than a selection guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_va_topicA
Idempotent

Update a Virtual Agent topic properties. [Write]

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesTopic sys_id
fieldsYesFields to update (name, description, active, etc.)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds only a redundant '[Write]' tag, which duplicates the annotation readOnlyHint=false. No additional behavioral context is provided, such as partial update semantics, error behavior, or authorization needs. Annotations already cover the safety profile, so the description adds no value beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, a single sentence plus a short tag. It is front-loaded with the action and resource, and every word earns its place.

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 simple update tool with full schema coverage and annotations, the description is mostly complete. However, it does not specify return value or behavior when sys_id does not exist, which could be useful. Given the simple nature, this is acceptable.

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% for both parameters (sys_id and fields). The description adds no parameter-specific meaning beyond what the schema already provides, so baseline of 3 is appropriate.

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 clearly states the tool updates Virtual Agent topic properties with a specific verb ('Update') and resource ('Virtual Agent topic properties'). This distinguishes it from sibling tools like create_va_topic and get_va_topic.

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?

Usage context is implied by the 'update' verb, but there is no explicit guidance on when to use this tool vs alternatives (e.g., create_va_topic for new topics). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_vulnerabilityA
Idempotent

Update a vulnerability entry (state, risk acceptance notes, remediation date) (requires WRITE_ENABLED=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
sys_idYesSystem ID of the vulnerability entry
fieldsYesFields to update (state, risk_acceptance_notes, remediation_date, etc.)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate this is a non-read-only, idempotent, non-destructive operation. The description adds the prerequisite that WRITE_ENABLED must be true, which is useful operational context. It doesn't contradict the annotations, and it gives a bit more color about the fields affected. However, it doesn't describe side effects or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a parenthetical that packs the essential information—action, target fields, and a critical prerequisite—with no unnecessary words.

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 two-parameter update tool, the description plus full schema coverage and helpful annotations make it reasonably complete. The lack of an output schema means the agent doesn't know the return format, and there's no mention of partial-update behavior or error conditions, but these are minor gaps given the tool's simplicity and the annotations' coverage.

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 coverage is 100% with descriptions for both sys_id and fields, so the baseline is 3. The description's mention of state, risk acceptance notes, and remediation date mirrors the schema's 'etc.' and adds no new semantic detail beyond what the schema already provides.

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 clearly identifies the tool's action ('Update') and resource ('a vulnerability entry'), and enumerates the primary fields (state, risk acceptance notes, remediation date), distinguishing it from sibling tools like get_vulnerability or list_vulnerabilities.

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 description implies the tool is used to modify an existing vulnerability entry but provides no explicit 'when to use vs alternatives' or exclusions. For example, it doesn't reference get_vulnerability for reads or mention when not to use this tool. This is implied usage rather than explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_attachmentA

Upload a base64-encoded attachment to a ServiceNow record (requires WRITE_ENABLED=true). Useful for adding files, screenshots, or documents to incidents, changes, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesTable name (e.g. "incident")
record_sys_idYessys_id of the record to attach the file to
file_nameYesFile name including extension (e.g. "screenshot.png")
content_typeYesMIME type (e.g. "image/png", "application/pdf", "text/plain", "application/json")
content_base64YesBase64-encoded file content (use standard base64 encoding)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false (write operation), destructiveHint=false, and idempotentHint=false. The description adds a valuable prerequisite: 'requires WRITE_ENABLED=true', which is authentication context not present in annotations. It does not disclose details like size limits or whether the attachment is appended vs. replaced, but the annotations cover the safety profile, so this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the primary action ('Upload a base64-encoded attachment to a ServiceNow record') and includes a necessary prerequisite in a parenthetical. There is no wasted wording or redundancy.

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?

With five required parameters and no output schema, the description explains the purpose, prerequisite, and typical use cases. It does not describe the return value or potential failure modes, but for a straightforward upload operation with complete schema and annotations, this is sufficient for an agent to invoke the tool correctly.

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?

The input schema has 100% coverage with descriptions for all five parameters. The tool description reinforces base64 encoding and gives examples of file types (screenshots, documents), which slightly adds meaning beyond the schema, but it does not provide substantial param-specific detail. The baseline of 3 applies because the schema already does the heavy lifting.

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 uses the specific verb 'Upload' with a clear resource ('a base64-encoded attachment to a ServiceNow record') and distinguishes it from sibling attachment tools (list_attachments, get_attachment_metadata, delete_attachment) by being the only tool that creates/uploads. The mention of 'base64-encoded' and the target record adds precision.

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?

Provides explicit context with 'Useful for adding files, screenshots, or documents to incidents, changes, etc.', which guides the agent on typical use cases. It does not explicitly name alternative tools or state when not to use it, but the family of attachment tools is clear, and the description implies this is the creation operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_artifactB
Idempotent

Validate an artifact for best practices, security issues, and performance concerns

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesArtifact table (e.g. sys_script, sys_script_include)
sys_idYesArtifact sys_id

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (idempotentHint=true, destructiveHint=false) already indicate safe, idempotent operation. Description adds validation aspects but does not clarify side effects, state changes, or output. No contradiction with annotations.

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?

Single sentence is very concise and front-loaded. No wasted words. Could be slightly more structured but effective.

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?

No output schema and description does not explain return values or results. For a 2-param tool with annotations, some output context is needed. Incomplete for an agent to understand what to expect.

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 coverage is 100% with descriptions for both parameters. Description adds no additional parameter-level detail beyond what schema provides. Baseline score of 3 is appropriate.

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?

Uses specific verb 'validate' and resource 'artifact'. Mentions three clear aspects: best practices, security issues, performance concerns. Distinguishes from siblings as there are few 'validate' tools.

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?

No explicit guidance on when to use this tool vs alternatives. Does not mention prerequisites, scenarios, or exclusions. Lacks contrast with sibling validation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_deploymentA
Idempotent

Pre-validate an update set or app before deployment — check for conflicts and missing dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
update_set_sys_idNoUpdate set sys_id to validate
app_sys_idNoScoped app sys_id (alternative to update set)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotent, non-destructive, and open world. The description adds that it checks for conflicts and dependencies, but does not disclose additional behavioral traits beyond what annotations provide. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is concise, front-loaded, and contains no superfluous words. Every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's main behavior but does not explain the output or return value, which would be helpful for an agent. It is adequate for a simple validation tool but lacks completeness regarding results.

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 the schema already documents both parameters. The description reiterates they are alternatives, adding minimal extra value over the schema.

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 clearly states the tool validates deployments of update sets or apps, checking for conflicts and missing dependencies. It distinguishes from sibling tools like validate_artifact and validate_property by focusing on deployment validation.

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 'Pre-validate... before deployment' implies its usage context, but there is no explicit guidance on when to use this vs. alternatives like validate_artifact. No when-not-to-use or alternatives provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_propertyA
Idempotent

Validate a property value against its declared type constraints without saving

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProperty name
valueYesValue to validate

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the important behavioral trait 'without saving', which is not fully captured by annotations (readOnlyHint=false but destructiveHint=false). However, it does not detail other potential side effects or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the essential information without wasted words.

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 simple validation tool without an output schema, the description is mostly complete. It could briefly mention what the validation result returns (e.g., valid/invalid or error messages), but it is adequate for understanding the tool's purpose.

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 coverage is 100% with clear parameter descriptions ('Property name', 'Value to validate'). The tool description adds no additional meaning beyond what the schema already provides.

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 clearly states the action ('validate'), the resource ('property value'), and the key constraint ('without saving'), making it distinct from sibling tools like validate_artifact or validate_deployment.

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 description implies usage for validation before saving, but it does not explicitly state when to use this tool versus alternatives or mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 376 tool updatesv1.0.2
    • First observedadd_comment
    • First observedadd_user_to_group
    • First observedadd_work_note
    • First observedai_search
    • First observedanalyze_data_quality
    • First observedapprove_request
    • First observedbulk_get_properties
    • First observedbulk_set_properties
    • First observedcancel_request
    • First observedcategorize_incident
    • First observedcheck_table_completeness
    • First observedclone_artifact
    • First observedclose_change_request
    • First observedclose_csm_case
    • First observedclose_hr_case
    • First observedclose_incident
    • First observedcmdb_health_dashboard
    • First observedcmdb_impact_analysis
    • First observedcommit_changeset
    • First observedcompare_record_counts
    • First observedcomplete_task
    • First observedcomplete_update_set
    • First observedconfigure_offline_sync
    • First observedconfigure_workspace_list
    • First observedcreate_acl
    • First observedcreate_approval_rule
    • First observedcreate_asset
    • First observedcreate_business_rule
    • First observedcreate_catalog_item
    • First observedcreate_catalog_ui_policy
    • First observedcreate_catalog_variable
    • First observedcreate_change_request
    • First observedcreate_ci_relationship
    • First observedcreate_client_script
    • First observedcreate_csm_case
    • First observedcreate_dashboard
    • First observedcreate_devops_change
    • First observedcreate_epic
    • First observedcreate_flow
    • First observedcreate_flow_action
    • First observedcreate_grc_risk
    • First observedcreate_group
    • First observedcreate_hr_case
    • First observedcreate_hr_task
    • First observedcreate_import_set_row
    • First observedcreate_incident
    • First observedcreate_knowledge_article
    • First observedcreate_kpi
    • First observedcreate_mobile_app_config
    • First observedcreate_mobile_applet
    • First observedcreate_mobile_layout
    • First observedcreate_notification
    • First observedcreate_offboarding_case
    • First observedcreate_onboarding_case
    • First observedcreate_portal
    • First observedcreate_portal_page
    • First observedcreate_portal_widget
    • First observedcreate_problem
    • First observedcreate_report
    • First observedcreate_rest_message
    • First observedcreate_scheduled_job
    • First observedcreate_scheduled_report
    • First observedcreate_scoped_app
    • First observedcreate_script_include
    • First observedcreate_scrum_task
    • First observedcreate_security_incident
    • First observedcreate_soap_message
    • First observedcreate_soap_message_function
    • First observedcreate_solution_package
    • First observedcreate_story
    • First observedcreate_subflow
    • First observedcreate_ui_action
    • First observedcreate_ui_policy
    • First observedcreate_uib_component
    • First observedcreate_uib_data_broker
    • First observedcreate_uib_page
    • First observedcreate_update_set
    • First observedcreate_user
    • First observedcreate_ux_app_route
    • First observedcreate_ux_experience
    • First observedcreate_va_topic
    • First observedcreate_workspace
    • First observeddelete_attachment
    • First observeddelete_system_property
    • First observeddelete_uib_page
    • First observedensure_active_update_set
    • First observedexecute_background_script
    • First observedexport_properties
    • First observedexport_report_data
    • First observedexport_update_set
    • First observedfind_artifact
    • First observedfire_event
    • First observedgenerate_summary
    • First observedgenerate_work_notes
    • First observedget_acl
    • First observedget_asset
    • First observedget_atf_failure_insight
    • First observedget_atf_suite
    • First observedget_atf_suite_result
    • First observedget_atf_test
    • First observedget_attachment_metadata
    • First observedget_business_rule
    • First observedget_catalog_item
    • First observedget_change_request
    • First observedget_changeset
    • First observedget_client_script
    • First observedget_cmdb_ci
    • First observedget_compliance_assessment
    • First observedget_csm_account
    • First observedget_csm_case
    • First observedget_csm_case_sla
    • First observedget_csm_contact
    • First observedget_current_instance
    • First observedget_current_update_set
    • First observedget_deployment
    • First observedget_devops_insights
    • First observedget_devops_pipeline
    • First observedget_email_log
    • First observedget_event_registry_entry
    • First observedget_flow
    • First observedget_flow_error_log
    • First observedget_flow_execution
    • First observedget_grc_risk
    • First observedget_group
    • First observedget_hr_case
    • First observedget_hr_case_activity
    • First observedget_hr_lifecycle_events
    • First observedget_hr_profile
    • First observedget_hr_service
    • First observedget_import_set
    • First observedget_incident
    • First observedget_knowledge_article
    • First observedget_license_compliance
    • First observedget_license_optimization
    • First observedget_mobile_analytics
    • First observedget_mobile_app_config
    • First observedget_ms_copilot_topics
    • First observedget_my_approvals
    • First observedget_notification
    • First observedget_pa_dashboard
    • First observedget_pa_indicator
    • First observedget_pa_job
    • First observedget_pa_scorecard
    • First observedget_pa_time_series
    • First observedget_performance_analytics
    • First observedget_pi_models
    • First observedget_portal
    • First observedget_portal_page
    • First observedget_portal_theme
    • First observedget_portal_widget
    • First observedget_problem
    • First observedget_process_automation
    • First observedget_property_history
    • First observedget_record
    • First observedget_report
    • First observedget_request
    • First observedget_request_item
    • First observedget_rest_message
    • First observedget_scheduled_job
    • First observedget_scoped_app
    • First observedget_script_include
    • First observedget_security_dashboard
    • First observedget_security_incident
    • First observedget_sla_details
    • First observedget_soap_message
    • First observedget_subflow
    • First observedget_sys_log
    • First observedget_system_property
    • First observedget_table_record_count
    • First observedget_table_schema
    • First observedget_task
    • First observedget_threat_intelligence
    • First observedget_transform_map
    • First observedget_ui_action
    • First observedget_ui_policy
    • First observedget_uib_page
    • First observedget_user
    • First observedget_ux_app
    • First observedget_va_conversation
    • First observedget_va_topic
    • First observedget_virtual_agent_topics
    • First observedget_vulnerability
    • First observedget_workspace
    • First observedimport_cmdb_data
    • First observedimport_properties
    • First observedlist_acls
    • First observedlist_action_instances
    • First observedlist_active_events
    • First observedlist_active_slas
    • First observedlist_approvals
    • First observedlist_asset_contracts
    • First observedlist_assets
    • First observedlist_atf_suites
    • First observedlist_atf_test_results
    • First observedlist_atf_tests
    • First observedlist_attachments
    • First observedlist_audit_results
    • First observedlist_business_rules
    • First observedlist_catalog_items
    • First observedlist_change_requests
    • First observedlist_changesets
    • First observedlist_client_scripts
    • First observedlist_compliance_policies
    • First observedlist_credential_aliases
    • First observedlist_csm_accounts
    • First observedlist_csm_cases
    • First observedlist_csm_contacts
    • First observedlist_csm_products
    • First observedlist_data_sources
    • First observedlist_deployment_history
    • First observedlist_deployments
    • First observedlist_devops_pipelines
    • First observedlist_discovery_schedules
    • First observedlist_email_logs
    • First observedlist_email_templates
    • First observedlist_epics
    • First observedlist_event_log
    • First observedlist_event_registry
    • First observedlist_flow_executions
    • First observedlist_flows
    • First observedlist_grc_controls
    • First observedlist_grc_risks
    • First observedlist_groups
    • First observedlist_homepages
    • First observedlist_hr_cases
    • First observedlist_hr_document_templates
    • First observedlist_hr_services
    • First observedlist_hr_tasks
    • First observedlist_import_sets
    • First observedlist_instances
    • First observedlist_job_run_history
    • First observedlist_knowledge_bases
    • First observedlist_mid_servers
    • First observedlist_mobile_app_configs
    • First observedlist_mobile_applets
    • First observedlist_mobile_layouts
    • First observedlist_my_tasks
    • First observedlist_notification_subscriptions
    • First observedlist_notifications
    • First observedlist_oauth_applications
    • First observedlist_pa_breakdowns
    • First observedlist_pa_dashboards
    • First observedlist_pa_indicators
    • First observedlist_pa_jobs
    • First observedlist_portal_pages
    • First observedlist_portal_themes
    • First observedlist_portal_widgets
    • First observedlist_portals
    • First observedlist_process_automations
    • First observedlist_property_categories
    • First observedlist_relationships
    • First observedlist_reports
    • First observedlist_request_items
    • First observedlist_requests
    • First observedlist_rest_message_functions
    • First observedlist_rest_messages
    • First observedlist_scheduled_jobs
    • First observedlist_scoped_apps
    • First observedlist_script_includes
    • First observedlist_scrum_tasks
    • First observedlist_security_incidents
    • First observedlist_security_playbooks
    • First observedlist_soap_message_functions
    • First observedlist_soap_messages
    • First observedlist_software_licenses
    • First observedlist_stories
    • First observedlist_subflows
    • First observedlist_system_properties
    • First observedlist_transform_field_maps
    • First observedlist_transform_maps
    • First observedlist_ui_actions
    • First observedlist_ui_policies
    • First observedlist_uib_components
    • First observedlist_uib_data_brokers
    • First observedlist_uib_pages
    • First observedlist_update_sets
    • First observedlist_users
    • First observedlist_ux_apps
    • First observedlist_ux_pages
    • First observedlist_va_categories
    • First observedlist_va_conversations
    • First observedlist_va_topics_full
    • First observedlist_vulnerabilities
    • First observedlist_widget_instances
    • First observedlist_workspaces
    • First observedml_detect_anomalies
    • First observedml_evaluate_model
    • First observedml_forecast_incidents
    • First observedml_model_training_history
    • First observedml_predict_change_risk
    • First observedml_process_optimization
    • First observedml_train_anomaly_detector
    • First observedml_train_change_risk
    • First observedml_train_incident_classifier
    • First observedml_virtual_agent_nlu
    • First observednatural_language_search
    • First observednatural_language_update
    • First observednlq_query
    • First observedorder_catalog_item
    • First observedpreview_update_set
    • First observedpublish_changeset
    • First observedpublish_flow
    • First observedpublish_knowledge_article
    • First observedquery_records
    • First observedregister_event
    • First observedreject_request
    • First observedremove_user_from_group
    • First observedresolve_incident
    • First observedresolve_problem
    • First observedretire_asset
    • First observedretire_knowledge_article
    • First observedrollback_deployment
    • First observedrun_aggregate_query
    • First observedrun_atf_suite
    • First observedrun_atf_test
    • First observedrun_discovery_scan
    • First observedrun_security_playbook
    • First observedrun_transform_map
    • First observedscan_vulnerabilities
    • First observedschedule_cab_meeting
    • First observedschedule_notification
    • First observedsearch_catalog
    • First observedsearch_cmdb_ci
    • First observedsearch_knowledge
    • First observedsearch_system_properties
    • First observedsend_emergency_broadcast
    • First observedsend_push_notification
    • First observedservice_mapping_summary
    • First observedset_system_property
    • First observedsubmit_change_for_approval
    • First observedsuggest_resolution
    • First observedswitch_instance
    • First observedswitch_update_set
    • First observedtest_flow
    • First observedtrack_asset_lifecycle
    • First observedtrack_deployment
    • First observedtrend_query
    • First observedtrigger_agentic_playbook
    • First observedtrigger_flow
    • First observedtrigger_scheduled_job
    • First observedupdate_acl
    • First observedupdate_asset
    • First observedupdate_business_rule
    • First observedupdate_catalog_item
    • First observedupdate_change_request
    • First observedupdate_client_script
    • First observedupdate_csm_case
    • First observedupdate_dashboard
    • First observedupdate_epic
    • First observedupdate_group
    • First observedupdate_hr_case
    • First observedupdate_hr_profile
    • First observedupdate_incident
    • First observedupdate_knowledge_article
    • First observedupdate_notification
    • First observedupdate_portal_widget
    • First observedupdate_problem
    • First observedupdate_report
    • First observedupdate_request_item
    • First observedupdate_scheduled_job
    • First observedupdate_scoped_app
    • First observedupdate_script_include
    • First observedupdate_scrum_task
    • First observedupdate_security_incident
    • First observedupdate_story
    • First observedupdate_task
    • First observedupdate_ui_action
    • First observedupdate_uib_component
    • First observedupdate_uib_page
    • First observedupdate_user
    • First observedupdate_va_topic
    • First observedupdate_vulnerability
    • First observedupload_attachment
    • First observedvalidate_artifact
    • First observedvalidate_deployment
    • First observedvalidate_property

TDQS

C2.8/5.0

Scored across 376 tools

Disambiguation2/5

Many tools are clearly scoped, but there are direct overlaps: list_changesets/list_update_sets, get_virtual_agent_topics/list_va_topics_full, natural_language_search/nlq_query/ai_search, and check_table_completeness/analyze_data_quality. With 376 tools, an agent will frequently struggle to pick the intended one.

Naming Consistency2/5

The list/get/create/update convention is visible, but naming is inconsistent within the same domain: list_changesets vs list_update_sets, get_virtual_agent_topics (a list despite the get prefix), and mixed verbs like trigger_flow, run_transform_map, and execute_background_script. The use of changeset vs update_set and uib vs ux for similar concepts makes tool-name prediction unreliable.

Tool Count1/5

376 tools is an extreme scope for a single MCP server and flattens nearly the entire ServiceNow platform into one namespace. This overwhelms tool-selection and context budgets; the server should be split into focused domain servers like ITSM, CMDB, Portal, or Flow.

Completeness3/5

Coverage is broad across ITSM, HR, CSM, CMDB, flows, portals, and admin functions, but there are notable lifecycle gaps: create_flow exists without update_flow, create_subflow without update_subflow, and there is no dedicated list_incidents or list_problems beyond generic query_records. Update-set tooling is also split confusingly across changeset and update_set tools.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    The most advanced & comprehensive ServiceNow MCP server — 150+ production-ready tools across 17 modules (ITSM, ITOM, HRSD, CSM, SecOps, GRC, Agile, ATF, Flow Designer, Now Assist, and more). Supports multi-instance management, four-tier permission control, 10 role-based tool packages, OAuth 2.0 + Basic Auth, and integrates with Claude, GPT-4o, Gemini, Cursor, VS Code, and Codex.
    500
    805 npm
    275
    Elastic 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for ServiceNow that provides over 60 pre-built tools for ITSM, ITOM, and App Dev operations, enabling AI agents to manage incidents, changes, users, service catalog, and projects through a unified interface.
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to interact with ServiceNow through MCP, providing schema inspection, record CRUD, attachments, audit, Flow Designer, and platform investigations with policy-guarded access.
    15
    305 PyPI
    4
    MIT