ServiceNow MCP server

Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on ServiceNow, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.

Overview

This tool pack gives an agent full create, read, update, and delete access to any ServiceNow table, plus knowledge article search, CMDB impact analysis, aggregate reporting, and Service Catalog ordering. All tools return a human-readable summary alongside the record data.

For setup instructions, see SnapLogic MCP Server quickstart.

Example Prompts

  • How many open incidents are there per priority?
  • Count change requests grouped by assignment group
  • What's the average reassignment count on active incidents?
  • Break down problems by category and give me a total count
  • Sum the business duration on incidents closed this month, by team
  • What's directly connected to the prod-db-01 server CI?
  • Show me everything related to this application CI before we schedule the change
  • Run an impact check on the configuration item with sys_id 106c5c13c6112275
  • How many relationships does the core network switch have, and is it operational?
  • Open a new incident: 'VPN is down for the Berlin office', priority 1

Tools

Tool Name Functions
ServiceNowAggregateReport Aggregate ServiceNow records (count/avg/sum) grouped by a field.
ServiceNowCMDBImpactAnalysis Fetch a CMDB CI with its inbound and outbound relationships.
ServiceNowCreateRecord Create a new record in any ServiceNow table.
ServiceNowDeleteRecord Delete a ServiceNow record by sys_id.
ServiceNowOrderCatalogItem Order a ServiceNow Service Catalog item by sys_id.
ServiceNowQuery Query any ServiceNow table with an encoded-query filter.
ServiceNowSearchKnowledgeBase Full-text search over published ServiceNow knowledge articles.
ServiceNowUpdateRecord Update fields on an existing ServiceNow record by sys_id.

Set up the MCP Server tools

  1. Download servicenow_tools.zip.
  2. In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded servicenow_tools.zip. Designer unpacks each pipeline into the project.
  3. Attach the required account to the connectivity snaps (see Connection Setup).
  4. Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.

Configure account

Attach a ServiceNow Basic-Auth or OAuth 2.0 account to the ServiceNow snaps in Designer after import.

These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.

See the SnapLogic account documentation for this connector: 1438105.

Important: These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute. Credentials live in the SnapLogic account store, never in the pipeline JSON.

ServiceNowAggregateReport

Answers count, average, and sum questions by grouping ServiceNow records without pulling the underlying rows. Use it for breakdowns and roll-ups; use ServiceNowQuery when the user wants to see the actual records.

Parameter Type Default Description
table_name* string

ServiceNow table to aggregate, e.g. incident.

query string

Encoded-query filter applied before aggregation, e.g. active=true.

group_by string

Field to group results by, e.g. priority or assignment_group.

count boolean true

Return a record count per group (default true).

avg_fields string

Comma-separated numeric fields to average per group.

sum_fields string

Comma-separated numeric fields to sum per group.

* Required parameter.

Try asking:

  • How many open incidents are there per priority?
  • Count change requests grouped by assignment group
  • What's the average reassignment count on active incidents?
  • Break down problems by category and give me a total count
  • Sum the business duration on incidents closed this month, by team

ServiceNowCMDBImpactAnalysis

Looks up a configuration item in the CMDB and returns its directly connected inbound and outbound relationships, along with the CI's status and relationship count. Use it during change planning or incident triage to quickly assess what depends on or connects to a given CI.

Parameter Type Default Description
ci_sys_id* string

sys_id of the configuration item to look up.

ci_class string cmdb_ci

CMDB class of the CI, e.g. cmdb_ci_server. Defaults to cmdb_ci.

* Required parameter.

Try asking:

  • What's directly connected to the prod-db-01 server CI?
  • Show me everything related to this application CI before we schedule the change
  • Run an impact check on the configuration item with sys_id 106c5c13c6112275
  • How many relationships does the core network switch have, and is it operational?

ServiceNowCreateRecord

Creates a new record in any ServiceNow table, so one tool can open an incident, raise a change request, or write to a custom table. Returns the new record's sys_id and number for use in follow-up update or delete calls.

Parameter Type Default Description
table_name* string

ServiceNow table the record is created in, e.g. incident.

record* object

Field map sent as the request body, e.g. {short_description, priority, category}.

* Required parameter.

Try asking:

  • Open a new incident: 'VPN is down for the Berlin office', priority 1
  • Create a change request to patch the database servers on Saturday night
  • Log a problem record for the recurring email outages and assign it to Infrastructure
  • Raise a P3 incident in the inquiry category on behalf of the finance team

ServiceNowDeleteRecord

Permanently deletes a single ServiceNow record identified by table name and sys_id, with no bulk mode, typically for cleaning up duplicates or test data. Confirm with the user before calling, as the deletion cannot be undone.

Parameter Type Default Description
table_name* string

ServiceNow table containing the record, e.g. incident.

sys_id* string

sys_id of the record to delete.

* Required parameter.

Try asking:

  • Delete the duplicate incident with sys_id a1b2c3d4
  • Remove that test change request I created earlier
  • Clean up the dummy problem record from the demo

ServiceNowOrderCatalogItem

Orders a Service Catalog item by sys_id, supporting quantity, catalog variables, and an on-behalf-of user, returning the request number. Use it to fulfill self-service requests for hardware, software, or access; if the user only knows the item by title, first look up its sys_id with ServiceNowQuery.

Parameter Type Default Description
item_sys_id* string

sys_id of the catalog item to order.

variables object

Map of catalog-item variables (item-specific options). Defaults to an empty map.

quantity integer 1

Number of units to order (default 1).

requested_for string

User the request is raised on behalf of; omitted when blank.

* Required parameter.

Try asking:

  • Order a new MacBook Pro for Jordan in Sales
  • Request access to the Salesforce reporting group for me
  • Submit a catalog request for two external monitors
  • Raise the standard new-starter laptop request on behalf of Priya

ServiceNowQuery

Queries any ServiceNow table using encoded-query syntax and returns the matching records, with optional field filtering and a record limit. Use it whenever the question is about which records match a condition, rather than a count or aggregate.

Parameter Type Default Description
table_name* string

ServiceNow table to query, e.g. incident, change_request, problem.

query string

Encoded-query filter, e.g. active=true^priority=1. Omit to return all rows.

fields string

Comma-separated list of fields to return. Omit to return all fields.

max_records integer 50

Maximum number of records to return (default 50).

* Required parameter.

Try asking:

  • Show me all active P1 incidents
  • List change requests where the assignment group is Network
  • Find open problems and just return number, short_description and state
  • Get the 10 most recent incidents raised by the service desk
  • Query the sc_task table for anything still unassigned

ServiceNowSearchKnowledgeBase

Runs a full-text search over published ServiceNow knowledge articles and returns the best-matching results. Use it when the user asks how to do something, rather than asking about a specific ticket or record.

Parameter Type Default Description
search_text* string

Free-text query matched against published knowledge articles.

max_results integer 5

Maximum number of articles to return (default 5).

* Required parameter.

Try asking:

  • How do I reset my corporate VPN password?
  • Find knowledge articles about onboarding a new laptop
  • Search the KB for multi-factor authentication setup and give me the top 3
  • Is there a published article on requesting software licences?

ServiceNowUpdateRecord

Updates an existing ServiceNow record by sys_id, applying only the fields that are passed. Use it to reassign, re-prioritize, add work notes, or change the state of a record surfaced by ServiceNowQuery.

Parameter Type Default Description
table_name* string

ServiceNow table containing the record, e.g. incident.

sys_id* string

sys_id of the record to update.

fields* object

Field map of values to change, sent as the PUT body, e.g. {priority: '1', work_notes: '...'}.

* Required parameter.

Try asking:

  • Set that incident to priority 1 and add a work note saying we're escalating
  • Resolve the incident with sys_id abc123 and set the close notes
  • Reassign this change request to the Database team
  • Update the short description on the record we just found