Skip to main content
Glama
Xerrion

servicenow-platform-mcp

query

Fetch records, aggregates, or a single record from any ServiceNow table using filters, field selection, pagination, and grouping.

Instructions

Read records, aggregates, or a single record from any ServiceNow table.

Args: table: ServiceNow table name (e.g. 'incident'). sys_id: When set, fetch a single record by sys_id (other filter args ignored except fields and display_values). encoded_query: ServiceNow encoded query string (e.g. 'state=1^priority=2'). Empty = no filter. fields: Comma-separated field projection. List mode requires this argument. '*' explicitly requests all masked fields. Exact sys_id mode defaults to the compact sys_id,sys_updated_on projection. limit: Max rows (1-max_row_limit). Default 20. offset: Pagination offset. order_by: Field name; prefix with '-' for descending (e.g. '-sys_created_on'). display_values: True returns display_value form for reference and choice fields. aggregate: Comma-separated aggregations: 'count', 'avg:', 'sum:', 'min:', 'max:'. When set, returns aggregate result instead of rows. group_by: Comma-separated fields to group by, e.g. state,active (aggregate mode only). resolve_labels: Comma-separated 'field=label' pairs (e.g. 'state=open,priority=high'). Each label is resolved via ChoiceRegistry to its underlying value, then ANDed into encoded_query as 'field=value'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
tableYes
fieldsNo
offsetNo
sys_idNo
group_byNo
order_byNo
aggregateNo
encoded_queryNo
display_valuesNo
resolve_labelsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.0

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does a good job: it discloses that sys_id ignores other filter args except fields and display_values, that aggregate mode returns aggregates instead of rows, that list mode requires fields, and exactly how resolve_labels gets ANDed into the encoded query. It could add permission and max-row-limit specifics, but the core behavioral quirks are 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?

A one-line summary is front-loaded, and the Args block that follows is dense but justified: 11 parameters each get behavior that the schema lacks, so every sentence earns its place. It is long because it must be, not because of 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 an 11-parameter tool with no annotations and an output schema (so return shapes needn't be explained), the description covers all argument semantics and mode behaviors thoroughly. The remaining gaps are minor: max_row_limit is referenced but never quantified, and the description gives no hint about when to choose this over record_read, so selection across read siblings is left to inference.

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

Parameters5/5

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

Schema description coverage is 0% — the schema provides only titles, types, and defaults — so the description must compensate, and it fully does. All 11 parameters get precise semantics: prefixes such as '-' for descending order_by, comma-separated aggregate/group_by syntax, the fields projection rules, and the interaction between sys_id, fields, and display_values. This is exactly the compensation a 0%-coverage schema requires.

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 opening line 'Read records, aggregates, or a single record from any ServiceNow table' states a specific verb, resource, and three distinct modes, so the tool's job is immediately clear. However, it never distinguishes itself from the sibling record_read tool, which appears to overlap in 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?

There is no explicit when-to-use vs. when-not-to-use guidance and no mention of the record_read sibling, so an agent must infer which read tool to pick. Usage context is only implied through argument semantics (e.g., sys_id selects single-record mode, aggregate returns aggregates instead of rows).

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