# validate_query

Lint-check a ServiceNow encoded query BEFORE running it: validates javascript: expressions against the safe function allowlist, length limits, and common mistakes (e.g. using = instead of ^, raw spaces). Returns { valid, issues, suggestions }.

Agent View of the PolicyLayer registry record for `validate_query`. HTML page: https://policylayer.com/tools/servicenow-mcp-server/validate-query

## Facts

- Tool: `validate_query`
- Server: ServiceNow MCP Server (`@aartiq/servicenow-mcp`) — https://policylayer.com/tools/servicenow-mcp-server.md
- Install: `npx -y @aartiq/servicenow-mcp`
- Homepage: https://github.com/aartiq/servicenow-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity verified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

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

## Why validate_query is rated Low

This is a static analysis and validation tool that checks query syntax and safety before execution. It does not retrieve data, modify anything, execute queries, delete data, or perform financial operations. The returned results are validation metadata (issues and suggestions), not operational data retrieval.

From the tool's own definition: "Tool description states it performs validation/linting of queries with no execution: 'Lint-check a ServiceNow encoded query BEFORE running it' and 'Returns { valid, issues, suggestions }'."

## Use case

AI agents call validate_query to retrieve information from ServiceNow MCP Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ServiceNow MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "validate_query": {}
  }
}
```

## Other tools on ServiceNow MCP Server (414)

- `cmdb_reconcile` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/cmdb-reconcile.md
- `delete_attachment` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-attachment.md
- `delete_record` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-record.md
- `delete_system_property` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-system-property.md
- `delete_uib_page` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-uib-page.md
- `remove_user_from_group` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/remove-user-from-group.md
- `rollback_changes` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/rollback-changes.md
- `rollback_deployment` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/rollback-deployment.md
- `batch_request` — Execute — https://policylayer.com/tools/servicenow-mcp-server/batch-request.md
- `categorize_incident` — Execute — https://policylayer.com/tools/servicenow-mcp-server/categorize-incident.md
- `commit_changeset` — Execute — https://policylayer.com/tools/servicenow-mcp-server/commit-changeset.md
- `create_business_rule` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-business-rule.md
- `create_flow_action` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-flow-action.md
- `create_scheduled_job` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-scheduled-job.md
- `create_script_include` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-script-include.md
- `create_ui_action` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-ui-action.md
- `execute_background_script` — Execute — https://policylayer.com/tools/servicenow-mcp-server/execute-background-script.md
- `execute_playbook` — Execute — https://policylayer.com/tools/servicenow-mcp-server/execute-playbook.md
- `execute_script` — Execute — https://policylayer.com/tools/servicenow-mcp-server/execute-script.md
- `fire_event` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fire-event.md
- `fluent_build` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fluent-build.md
- `fluent_explain` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fluent-explain.md
- `fluent_init` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fluent-init.md
- `fluent_validate` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fluent-validate.md
- `ml_detect_anomalies` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-detect-anomalies.md
- `ml_train_anomaly_detector` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-anomaly-detector.md
- `ml_train_change_risk` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-change-risk.md
- `ml_train_incident_classifier` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-incident-classifier.md
- `publish_changeset` — Execute — https://policylayer.com/tools/servicenow-mcp-server/publish-changeset.md
- `run_aggregate_query` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-aggregate-query.md
- …and 384 more: https://policylayer.com/tools/servicenow-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=servicenow-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/servicenow-mcp-server
