Skip to main content
Glama
servicenow-mcp-ai

servicenow-mcp-ai

by IvanBBaev

Check achievable capabilities

servicenow_check_capabilities
Read-onlyIdempotent

Probe readable sys_* tables and available capabilities before running scripts, flows, or code checks on a governed ServiceNow instance; cache results and refresh when needed.

Instructions

Preflight which sys_* tables are readable and which capabilities work — run it before scripts/flows/codecheck on a governed instance. 'groups' picks matrix probes; results are cached (refresh:true).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "servicenow_check_capabilities"
  }
}

Input Schema

NameRequiredDescriptionDefault
groupsNoGroups to probe (default all), one read-only probe each; update_sets adds canRead / canSet (inferred). The sys_* preflight always runs.
refreshNoDiscard the cache and probe again.
instanceNoProfile (default active)

Output Schema

NameRequiredDescriptionDefault
matrixNo
summaryYes
degradedYes
capabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv3.0.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • addedInput schema / properties / groups
      Added value: +{
      +  "description": "Groups to probe (default all), one read-only probe each; update_sets adds canRead / canSet (inferred). The sys_* preflight always runs.",
      +  "items": {
      +    "enum": [
      +      "writes",
      +      "update_sets",
      +      "attachments",
      +      "aggregate",
      +      "import_sets",
      +      "email",
      +      "atf",
      +      "version",
      +      "roles"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • changedInput schema / properties / instance / description
      Previous value: -"Connection profile to use for this call (default: the active profile). See servicenow_list_instances."New value: +"Profile (default active)"
    • addedInput schema / properties / instance / maxLength
      Added value: +128
    • addedInput schema / properties / refresh
      Added value: +{
      +  "description": "Discard the cache and probe again.",
      +  "type": "boolean"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": {},
      +  "properties": {
      +    "capabilities": {},
      +    "degraded": {
      +      "type": "boolean"
      +    },
      +    "matrix": {},
      +    "summary": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "degraded",
      +    "summary"
      +  ],
      +  "type": "object"
      +}
  2. First observedv2.0.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive profile, and the description adds genuinely new behavior: results are cached and refresh:true discards the cache, each group is a single read-only probe, and the sys_* preflight always runs regardless of groups. Return shape is left to the output schema, which 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.

Conciseness4/5

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

One front-loaded sentence with the purpose first, then the workflow placement, then the parameter hints — no wasted sentences. It is dense with internal jargon ('matrix probes', 'codecheck') that an uninitiated agent may not resolve, which keeps it from a 5.

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 an output schema, rich annotations, and fully documented parameters, the description only needs to supply workflow context and cache semantics — both are present. The phrase 'which capabilities work' remains slightly vague about what a capability failure looks like or how it differs from test_connection.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already carries parameter documentation and the baseline would be 3. The description adds cross-parameter meaning beyond that: 'groups' selects which probe matrix runs and refresh:true interacts with the described cache, tying the parameters to observable behavior.

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

Purpose5/5

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

States a specific verb (preflight/check) and a specific resource (sys_* table readability plus capability availability), which is clearly distinct from diagnostic siblings like test_connection and get_status. An agent can tell what this tool produces without opening the 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?

Explicitly positions the tool in a workflow ('run it before scripts/flows/codecheck on a governed instance') and notes that refresh:true bypasses the cache. It does not name when-not-to-use cases or how it relates to sibling diagnostics such as test_connection, so it stops short of a full 5.

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