# ServiceNow MCP

> ServiceNow MCP Server connects your AI agent to your entire ITSM backbone. Manage everything—incidents, service requests, change orders, and CMDB records—using natural conversation. Instead of navigating complex dashboards, you can simply tell your agent what needs fixing or tracking.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** itsm, incident-management, service-catalog, workflow-automation, enterprise-service-management, cmdb

## Description

Listen up. This **ServiceNow MCP Server** hooks your AI agent right into your entire IT service management (ITSM) backbone. You're not stuck clicking through some dusty dashboard; you just talk to your agent, and it handles the whole messy lifecycle—incidents, changes, requests, CMDB data. It lets your agent read, write, update, or query every core record type in your system using natural conversation. 

### Triage and Tracking Incidents
When something breaks, you need answers fast. Your agent can pull up a list of incidents by checking priority, status, or the assignment group assigned to them (`list_incidents`). If you know the unique ID, it'll grab every piece of data associated with that ticket using `get_record`. You don't just read it—you update it. Your agent can modify existing records using `update_record`, so you only tell it which fields need changing. Need to track open tickets by SLA breach status? No sweat.

### Managing Changes and Assets (CMDB)
Change control is a headache, but this handles it. You'll use the server to list change requests, filtering them down by risk level or state (`list_change_requests`). If you need to push through a new change, your agent can create a brand-new record right into core tables like Change Request using `create_record`. For assets, the system queries the CMDB for specific configuration items—think servers or apps—using `query_cmdb`, letting you map out exactly how different pieces of hardware relate to each other.

### Service Fulfillment and Raw Data Power
Need a new piece of software or service? Your agent can submit those requests by creating records in the Service Catalog, monitoring their status as they move through approvals. For maximum flexibility when none of the pre-built tools cut it, you've got `query_table`. This lets your agent run specific queries against virtually any ServiceNow table—you can even do dot-walking to fetch related data fields that aren't in the main record. You can also get a quick metric count for any table using `count_records`. If you need to pull user profiles, group memberships, or roles across the whole organization, your agent handles it.

### Knowledge and Maintenance Tools
If someone asks how something works, your agent searches the official ServiceNow Knowledge Base (`search_knowledge`) and spits out matching articles right away. You can also delete records if they're totally obsolete using `delete_record`, though remember that action is irreversible, so you gotta confirm it first.

### How It All Connects
Your AI client uses the Model Context Protocol (MCP) to talk to this server. The agent doesn't just guess; it translates your conversational commands into specific tool calls against your live data. When you use `create_record`, you pass structured JSON fields, making sure everything is logged correctly. If the system needs to pull detailed information for a single record, it uses the unique sys_id with `get_record`. You can modify records using `update_record` or create them from scratch with `create_record`. The flexibility of this setup means you're never limited by just listing incidents; you can query any table and fetch any data point you want.

## Tools

### count_records
Gets the total number of records from any specified ServiceNow table, useful for quick metrics.

### create_record
Creates a brand new record in core tables like Incident, Change Request, or Service Catalog items using JSON fields.

### delete_record
Deletes an existing ServiceNow record. Note: this action is irreversible and requires confirmation.

### get_record
Retrieves all field data for a single ServiceNow record using its unique system ID (sys_id).

### list_change_requests
Lists change requests, allowing filtering by state, risk level, or type.

### list_incidents
Retrieves a list of incidents, filterable by priority, status, assignment group, or custom fields.

### query_cmdb
Queries the CMDB for specific configuration items (like servers or applications) using common names or IDs.

### query_table
Runs a flexible query against virtually any ServiceNow table, supporting dot-walking to fetch related field data.

### search_knowledge
Searches the official ServiceNow Knowledge Base for matching articles and provides their KB numbers.

### update_record
Modifies an existing record, allowing you to specify only the fields that need changing.

## Prompt Examples

**Prompt:** 
```
Show me all P1 incidents that are unassigned.
```

**Response:** 
```
Found 4 unassigned P1 incidents: 1. INC0012345 — 'Email Service Down' (opened 2h ago), 2. INC0012350 — 'VPN Authentication Failure' (opened 45min ago), 3. INC0012352 — 'ERP Integration Timeout' (opened 30min ago), 4. INC0012355 — 'Database Replication Lag' (opened 15min ago). Would you like me to assign any of these?
```

**Prompt:** 
```
Create a normal change request for 'Database Upgrade to v15' assigned to the DBA team.
```

**Response:** 
```
Change request CHG0045678 has been created successfully. Type: Normal, Risk: Moderate, Assignment Group: DBA Team, Short Description: 'Database Upgrade to v15'. It is now pending CAB approval. Would you like me to add implementation notes?
```

**Prompt:** 
```
Search the knowledge base for 'VPN connection issues'.
```

**Response:** 
```
Found 3 relevant knowledge articles: 1. KB0098765 — 'VPN Troubleshooting Guide' (Last updated: March 2026, 45 views), 2. KB0098770 — 'Corporate VPN Setup for Remote Workers', 3. KB0098780 — 'Known VPN Issues After Security Patch 2026-Q1'. Would you like me to show the resolution steps from any of these?
```

## Capabilities

### Triage and Track Incidents
List, query, or update incidents based on priority, status, or assignment group.

### Manage Assets and Dependencies (CMDB)
Query the CMDB for specific configuration items and map out how different assets relate to each other.

### Automate Service Changes
Create, list, or review change requests, ensuring proper documentation and tracking of approvals.

### Handle Service Fulfillment
Submit service catalog requests and monitor their status through the approval pipeline.

### Search Knowledge & User Data
Find relevant knowledge articles or look up user profiles, group memberships, and roles across the organization.

### Execute Raw Database Queries
Run specific queries against any ServiceNow table using filtered parameters (SysParm) for maximum flexibility.

## Use Cases

### Need to identify all vulnerable servers for a patch.
The Ops Engineer needs to know which servers are running outdated software. They ask the agent, 'Show me all CMDB records where the OS is older than 2024.' The agent runs `query_cmdb`, lists the affected assets, and provides the list of sys_ids for follow-up.

### A P1 incident needs immediate escalation.
The Help Desk Analyst sees a high-priority ticket. They ask the agent to 'Update INC0012345 status to Investigating and assign it to Tier 3.' The agent uses `update_record` immediately, logging the change without opening a single ServiceNow page.

### A new service needs tracking and approval.
The Product Owner asks the agent to 'Create a request for a new payment gateway integration.' The agent uses `create_record` targeting the sc_request table, populating all necessary fields and initiating the approval workflow.

### Investigating why an asset failed.
The Analyst needs to know if the failure is related to a specific network component. They ask the agent to 'List the CI relationships for the main database server.' The agent runs `query_cmdb` and maps out all dependent assets, narrowing down the root cause.

## Benefits

- **Faster Triage:** Instead of running complex reports, use `list_incidents` to instantly get all open P1 tickets assigned to you. You see exactly what needs attention immediately.
- **Accurate Impact Assessment:** Don't guess which systems are affected by a change. Run `query_cmdb` to trace relationships between applications and servers before proposing any update.
- **Zero-Click Documentation:** Need to know the steps for an issue? Use `search_knowledge`. Your agent finds relevant articles instantly, saving you time digging through internal documentation portals.
- **Full Audit Trail Visibility:** When creating changes, use `list_change_requests` to review who approved what and when. It gives you a clear, auditable path of every intended change.
- **Dynamic Data Retrieval:** Don't rely on one view. Use the highly flexible `query_table` tool to execute custom queries across any table type with dot-walking support.

## How It Works

The bottom line is that your AI agent becomes an operational command center for ServiceNow, handling complex tasks without you needing to navigate Fiori dashboards or write code.

1. Subscribe to the server and provide your ServiceNow instance URL and necessary credentials.
2. Your AI client recognizes the available tools (e.g., `list_incidents`, `query_cmdb`) via MCP.
3. You state a goal in natural language ('Find all P1 incidents unassigned'). The agent executes the required tool calls, returning actionable data.

## Frequently Asked Questions

**Can I query incidents filtered by priority and assignment group?**
Yes. Use the `query_table` tool with the `incident` table and SysParm query filters like `priority=1^assignment_group=Network`. Full dot-walking is supported for related fields.

**How do I create a change request through the agent?**
Use the `create_record` tool with the `change_request` table. Provide key fields like short_description, category, risk, and assignment_group. The agent returns the CHG number immediately.

**Can the agent search the knowledge base for solutions?**
Absolutely. The `search_knowledge` tool searches across all published knowledge articles using keyword or category filters, returning relevant articles with their KB numbers and resolution steps.

**Does it support custom tables beyond the standard ITSM modules?**
Yes. The `query_table` tool works with any ServiceNow table — standard or custom (u_ prefixed). Pass the table name and your SysParm filters, and the agent handles pagination and field expansion automatically.

**When using the MCP Server, what information do I need to connect my instance?**
You must provide your ServiceNow instance URL and active credentials during setup. This connection authorizes your AI client to perform actions on your specific environment.

**How does the get_record tool retrieve all fields from a single record?**
The get_record tool requires only the sys_id of the record you want. It pulls every associated field value, giving you a complete data dump for that specific item.

**Is using the delete_record tool irreversible, and how should I use it safely?**
Yes, deleting records is permanent and cannot be undone within the system. Always confirm with your AI client before executing this action to prevent accidental data loss.

**Can I query_cmdb to map dependencies between assets and applications?**
Absolutely. The query_cmdb tool lets you search configuration items (CIs) and explore the relationships mapped across your infrastructure, helping you analyze potential impacts before changes.