# ServiceNow MCP connector

The ServiceNow connector brings incidents, user accounts, roles, and tables into Claude, ChatGPT, Cursor, and other AI clients, so people can raise, update, and review ServiceNow records inside their own access while every action is logged.

Source: https://elaichi.ai/connectors/servicenow/

## Facts

| | |
| --- | --- |
| Application | ServiceNow |
| Category | Ticketing |
| AI tools | 96 |
| Authentication | App credentials |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 96 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once ServiceNow is connected

- Which sys_users gained new roles this week?
- Summarize open incidents assigned to the service desk.
- List sys_user_roles with more than twenty members.

## Connect ServiceNow in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick ServiceNow.
2. Optionally set Share with, then press Connect.
3. Paste your ServiceNow app credentials. ServiceNow authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which ServiceNow tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect ServiceNow to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect ServiceNow to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect ServiceNow to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect ServiceNow to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a ServiceNow tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with ServiceNow through Elaichi

### Raise an incident from a chat message

IT service desk. Describe the outage in plain language and have a ServiceNow incident created with the right short description, urgency, and assignment group. The record is ready before the caller hangs up.

### Catch an incident up after a call

IT service desk. Update the incident with what the user said, change its state, and reassign it without opening ServiceNow. The full record stays where the rest of the team expects it.

### Summarize open incidents before standup

IT operations. Ask for every open incident assigned to your group, grouped by priority, and get a plain summary of what is stuck and who owns it.

### Set up a new hire's ServiceNow account

People operations. Create the user record with name, email, department, and manager on day one, then grant the roles their job needs. Corrections later are a one line ask.

### Check who holds an admin role

Security and compliance. List the roles assigned to any ServiceNow user and confirm that access matches their current job. Remove a role the moment someone changes teams.

### Review custom tables without a console

Platform administration. List the tables defined in your ServiceNow instance, look up any one by name, and check its label and settings before a change window.

## Frequently asked questions

### How do I connect ServiceNow to Claude?

Connect ServiceNow in Elaichi by entering your ServiceNow instance app credentials when prompted. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in to Elaichi when Claude asks and your ServiceNow incidents, users, roles, and tables are available in the conversation.

### Does ServiceNow work with ChatGPT and Cursor as well as Claude?

Yes. Once ServiceNow is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect ServiceNow once and every client you sign in to sees it, with the same access and the same audit log.

### What can an AI agent actually do with my ServiceNow data?

An agent can look up and list ServiceNow incidents, create a new one, update fields like state, assignment group, and work notes, and close or delete a record where you are allowed to. It can also list ServiceNow users and their roles, create or update a user account, grant or remove a role, and look up the tables defined in your instance. Because ServiceNow has many actions available, short concrete asks like "reassign INC0012345 to the network team" work better than long paragraphs.

### Does connecting ServiceNow give the AI access to my whole instance?

No. Every call to ServiceNow runs as the person who signed in, so the agent sees only the incidents, users, roles, and tables that person's own ServiceNow roles and access controls already allow. Elaichi can narrow that further by hiding actions for a team, but it can never widen access beyond what ServiceNow itself grants that person.

### Can my team share one ServiceNow connection?

Yes. One administrator connects ServiceNow in Elaichi and shares the connection with a team, and nobody else ever handles the ServiceNow credential. Each teammate still signs in to Elaichi as themselves, so every incident update or role change in the audit log is attributed to the person who made it, not to a shared account.

### Can I stop an agent from deleting or changing things in ServiceNow?

Yes. Restrictions in Elaichi apply per action, so you can allow reading and creating ServiceNow incidents while blocking updates, deletes, or any change to users and roles. A blocked action is never advertised to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a ServiceNow connection when someone leaves?

Offboarding the person in Elaichi ends their access to ServiceNow through every AI client at once, with no need to touch each client separately. A shared ServiceNow connection keeps working for everyone else on the team. If you ever want to remove ServiceNow entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client.

## All 96 ServiceNow tools

Every tool below is callable through https://api.elaichi.ai/mcp once ServiceNow is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all ServiceNow sys users** (List). List sys_users records in ServiceNow. Returns fields such as sys_id, sys_created_on, sys_updated_on, active, and name for each user. Requires specifying the sys_users table.
- **Get single ServiceNow sys user by ID** (Get). Get details about a specific sys_user in ServiceNow by id. Returns key fields such as sys_id, name, email, active status, roles, creation and update timestamps, and reference links.
- **Create a ServiceNow sys user** (Create). Create a sys_users record in ServiceNow. Returns fields of the new user record such as sys_id, user_name, name, and email. Only single record insertion is supported.
- **Update a ServiceNow sys user by ID** (Update). Update sys_users record in ServiceNow using id. Returns updated fields such as sys_id, user_name, and other key attributes in the response.
- **Delete a ServiceNow sys user by ID** (Delete). Delete a specific sys_users record in ServiceNow. Requires id. No content is returned in the response.
- **ServiceNow sys users overwrite** (Action). Update sys_users record in ServiceNow with id. Returns updated fields such as sys_id, name, email, and active status in the response.
- **List all ServiceNow sys user roles** (List). List sys_user_roles records in ServiceNow. Returns key fields like sys_id, name, and description for each role in the response.
- **Get single ServiceNow sys user role by ID** (Get). Get a specific sys_user_roles record in ServiceNow by id. Returns fields such as sys_id, role, user, and related record details.
- **Create a ServiceNow sys user role** (Create). Create sys_user_roles record in ServiceNow. Inserts one record and returns fields such as sys_id, name, and description.
- **Update a ServiceNow sys user role by ID** (Update). Update a sys_user_roles record in ServiceNow. Requires id. Returns updated fields such as role details and metadata in the response.
- **Delete a ServiceNow sys user role by ID** (Delete). Delete sys_user_roles record in ServiceNow. Requires id. Returns empty response on successful deletion.
- **ServiceNow sys user roles overwrite** (Action). Update sys_user_roles record in ServiceNow. Requires id. Returns updated fields such as role, user, and other key role assignment details in the response.
- **List all ServiceNow sys db object** (List). List records for a specific table in ServiceNow. Requires sys_db_object. Returns key fields of each record in result.
- **Get single ServiceNow sys db object by ID** (Get). Get a record from a specific table in ServiceNow. Requires sys_db_object and id. Returns all fields for the record, such as sys_id, sys_created_on, and field values.
- **Create a ServiceNow sys db object** (Create). Create a new sys_db_object record in ServiceNow. Requires id. Returns fields of the inserted record including its unique identifiers and values.
- **Update a ServiceNow sys db object by ID** (Update). Update a specific sys_db_object record in ServiceNow using id. The response returns updated fields of the sys_db_object record.
- **Delete a ServiceNow sys db object by ID** (Delete). Delete a specific record in ServiceNow. Requires table_name and id. Returns an empty response upon successful deletion.
- **ServiceNow sys db object overwrite** (Action). Update a sys_db_object record in ServiceNow. Requires id. Returns updated fields of the sys_db_object record in the response.
- **List all ServiceNow incident** (List). List incidents in ServiceNow. Returns incident records with key fields such as sys_id, short_description, number, and state.
- **Get single ServiceNow incident by ID** (Get). Get a specific incident record in ServiceNow. Requires id. Returns fields such as sys_id, number, short_description, and state in the response.
- **Create a ServiceNow incident** (Create). Create an incident in ServiceNow. Returns sys_id, number, short_description, priority, impact, urgency, state, assigned_to, assignment_group, incident_state, and key metadata fields for the created incident.
- **Update a ServiceNow incident by ID** (Update). Update an incident in ServiceNow. Requires id. Returns fields such as number (incident number), state, short_description, priority, category, assignment_group, assigned_to, sys_created_on, sys_updated_on, and sys_id for tracking updates.
- **ServiceNow incident overwrite** (Action). Update a specific incident in ServiceNow. Requires id. Returns key fields including short_description, number, incident_state, priority, assignment_group, caller_id, opened_at, and sys_id in the response.
- **Delete a ServiceNow incident by ID** (Delete). Delete a specific incident in ServiceNow using id. Returns an empty response if successful.
- **List all ServiceNow problem** (List). List problems in ServiceNow. Returns key fields such as sys_id, short_description, and state for each problem.
- **Get single ServiceNow problem by ID** (Get). Get a specific problem record in ServiceNow identified by id. Returns all fields of the problem record in the response.
- **Delete a ServiceNow problem by ID** (Delete). Delete problem record in ServiceNow. Requires id. The response confirms deletion of the specified problem.
- **Create a ServiceNow problem** (Create). Create a new problem record in ServiceNow. Returns the problem's sys_id, number, and key record fields in the response.
- **Update a ServiceNow problem by ID** (Update). Update a specific problem record in ServiceNow. Requires id. Returns the updated problem fields and their new values in the response.
- **ServiceNow problem overwrite** (Action). Update a specific problem record in ServiceNow. Requires id. Returns updated fields of the problem record.
- **List all ServiceNow sc request** (List). Get list of sc_request records in ServiceNow. Retrieves multiple request records from the sc_request table, returning key fields such as number, sys_id, and state.
- **Get single ServiceNow sc request by ID** (Get). Get a specific sc_request record in ServiceNow. Requires id. Returns fields containing the sc_request details.
- **Create a ServiceNow sc request** (Create). Create a new sc_request record in ServiceNow. Returns the newly created record's fields, including key identifiers and attributes.
- **Update a ServiceNow sc request by ID** (Update). Update a specific sc_request record in ServiceNow by id. Returns all updated fields such as number, state, priority, assignment_group, short_description, and sys_id as well as key reference and status fields in the response.
- **Delete a ServiceNow sc request by ID** (Delete). Delete sc_request record in ServiceNow by id. Returns status indicating successful deletion of the specified record.
- **ServiceNow sc request overwrite** (Action). Update a specific sc_request record in ServiceNow using id. The response returns the updated fields of the sc_request record.
- **List all ServiceNow change request** (List). List change_request records in ServiceNow. Returns an array of change_request objects with key fields such as sys_id, number, short_description, and state.
- **Get single ServiceNow change request by ID** (Get). Get a change_request record in ServiceNow by id. Returns fields of the change_request record in the response.
- **Create a ServiceNow change request** (Create). Create a change_request in ServiceNow using api_version and table_name. Returns fields such as sys_id, number, and status in the response. Only single record insertion is supported.
- **Update a ServiceNow change request by ID** (Update). Update a specific change_request in ServiceNow. Requires id. Returns updated fields of the change_request record in the response.
- **Delete a ServiceNow change request by ID** (Delete). Delete a specific change request in ServiceNow. Requires id. The response returns the status of the deletion operation.
- **ServiceNow change request overwrite** (Action). Update a specific change_request record in ServiceNow using id. Returns the updated fields and values in the response.
- **List all ServiceNow label entry** (List). List label_entry records in ServiceNow. Returns fields such as sys_id, name, and type in the response for each label_entry record.
- **Get single ServiceNow label entry by ID** (Get). Get details of a specific label_entry in ServiceNow by id. Returns key fields of the record from the label_entry table.
- **Create a ServiceNow label entry** (Create). Create a label_entry record in ServiceNow. Returns key fields of the created label_entry record in the response.
- **Update a ServiceNow label entry by ID** (Update). Update a specific label_entry in ServiceNow. Returns all updated fields such as sys_id, number, short_description, and assigned_to.
- **Delete a ServiceNow label entry by ID** (Delete). Delete a specific label_entry record in ServiceNow. Requires table_name and id. Returns status indicating if deletion was successful.
- **ServiceNow label entry overwrite** (Action). Update label_entry in ServiceNow using id. Returns updated fields of the label_entry in the response.
- **List all ServiceNow kb knowledge** (List). List kb_knowledge records in ServiceNow. Returns result array with sys_id and key article fields.
- **Get single ServiceNow kb knowledge by ID** (Get). Get kb_knowledge record in ServiceNow using table_name and id. Returns all fields of the kb_knowledge record as defined in the table for the specified id.
- **Create a ServiceNow kb knowledge** (Create). Create a kb_knowledge record in ServiceNow. Returns created record fields such as number, sys_id, and sys_created_on. Only one record can be inserted per request.
- **Update a ServiceNow kb knowledge by ID** (Update). Update a kb_knowledge record in ServiceNow. Requires id. Returns the updated record fields including key knowledge article properties.
- **Delete a ServiceNow kb knowledge by ID** (Delete). Delete kb_knowledge in ServiceNow using table_name and id. No content is returned in the response.
- **ServiceNow kb knowledge overwrite** (Action). Update a kb_knowledge record in ServiceNow. Requires table_name and id. Returns updated fields of the kb_knowledge record in the response.
- **List all ServiceNow kb category** (List). List kb_category records in ServiceNow. Returns key fields such as sys_id, title, parent, and order in the response.
- **Get single ServiceNow kb category by ID** (Get). Get kb_category record in ServiceNow using table_name and id. Returns all fields of the kb_category record such as sys_id, name, and parent.
- **Create a ServiceNow kb category** (Create). Create a kb_category record in ServiceNow. Returns the created kb_category fields including key details such as sys_id, name, and parent. Only supports single record insertion.
- **Update a ServiceNow kb category by ID** (Update). Update a kb_category record in ServiceNow using id. Returns the updated kb_category fields, such as sys_id and others included in the request body.
- **Delete a ServiceNow kb category by ID** (Delete). Delete kb_category record in ServiceNow. Requires id. Returns status information indicating success.
- **ServiceNow kb category over write** (Action). Update kb_category in ServiceNow. Requires id. Returns fields such as sys_id, name, and updated information for the kb_category.
- **List all ServiceNow label** (List). List label records in ServiceNow. Requires table_name. Returns result array with details for each label.
- **Get single ServiceNow label by ID** (Get). Get a label record in ServiceNow by id. Returns all fields for the specified record.
- **Create a ServiceNow label** (Create). Create a new label record in ServiceNow. The response returns the id, name, and sys_created_on fields of the created label.
- **Update a ServiceNow label by ID** (Update). Update a specific label record in ServiceNow. Requires ID. Returns updated fields such as sys_id, sys_updated_on, and sys_updated_by for confirmation.
- **Delete a ServiceNow label by ID** (Delete). Delete a specific label in ServiceNow. Requires id. Returns confirmation of deletion in the response.
- **ServiceNow label overwrite** (Action). Update a specific label record in ServiceNow. Requires  id. Returns updated fields of the label record in the response.
- **List all ServiceNow cmn department** (List). List cmn_department records in ServiceNow. Returns fields such as sys_id, name, and description for each department.
- **Get single ServiceNow cmn department by ID** (Get). Get a specific cmn_department in ServiceNow. Requires id. Returns fields of the department record corresponding to the given id.
- **Create a ServiceNow cmn department** (Create). Create a cmn_department record in ServiceNow. Returns fields such as sys_id and name in the response. Only one record can be inserted per request.
- **Update a ServiceNow cmn department by ID** (Update). Update a specific cmn_department record in ServiceNow using id. Returns updated fields such as sys_id, name, and additional department information.
- **Delete a ServiceNow cmn department by ID** (Delete). Delete cmn_department record in ServiceNow. Requires id. Returns status indicating success or failure of record deletion.
- **ServiceNow cmn department overwrite** (Action). Update a cmn_department record in ServiceNow. Requires id. Returns the updated department fields in the response.
- **List all ServiceNow sys attachment** (List). List sys_attachment records in ServiceNow. Returns fields such as sys_id, file_name, content_type, and table_name for each attachment.
- **Get single ServiceNow sys attachment by ID** (Get). Get sys_attachment record in ServiceNow using id. Returns fields such as sys_id, file_name, content_type, size_bytes, and table_name for the specified attachment.
- **Create a ServiceNow sys attachment** (Create). Create a sys_attachment record in ServiceNow. Returns attachment record fields in result. Only single record insertion supported.
- **Update a ServiceNow sys attachment by ID** (Update). Update a sys_attachment record in ServiceNow using id. Returns fields like file_name, content_type, and size in the response.
- **Delete a ServiceNow sys attachment by ID** (Delete). Delete a specific sys_attachment record in ServiceNow by id. No content is returned in the response.
- **ServiceNow sys attachment overwrite** (Action). Update a sys_attachment record in ServiceNow using id. Returns fields such as file_name, content_type, size_bytes, and download_link in the response.
- **List all ServiceNow task** (List). List tasks in ServiceNow. Returns key fields such as sys_id, short_description, sys_created_on, state, and other task details for all tasks in the instance.
- **Get single ServiceNow task by ID** (Get). Get a specific task in ServiceNow by table_name and id. Returns all fields for the task record, such as sys_id, number, state, assigned_to, and short_description.
- **Create a ServiceNow task** (Create). Create a new task record in ServiceNow in the specified table_name. Requires table_name. Returns fields such as sys_id (unique identifier), number, short_description, state, priority, and other task details in the response.
- **Update a ServiceNow task by ID** (Update). Update a task in ServiceNow. Requires id. Returns updated fields for the task including key data from the name-value pairs supplied in the request.
- **Delete a ServiceNow task by ID** (Delete). Delete task record by id in ServiceNow. Requires table_name and id. Returns success status of the deletion operation.
- **ServiceNow task overwrite** (Action). Update an existing task in ServiceNow. Requires id. Returns all updated fields of the task record in the response.
- **List all ServiceNow sys journal field** (List). List sys_journal_field records in ServiceNow. Returns fields such as value, element_id, element, name, and sys_id for each record.
- **Get single ServiceNow sys journal field by ID** (Get). Get a sys_journal_field record by id in ServiceNow. Returns fields such as value, name, element_id, created_on, and updated_on in the response. Requires id.
- **Create a ServiceNow sys journal field** (Create). Create a sys_journal_field record in ServiceNow. Returns key fields of the created journal entry, such as its unique identifiers and details. Only single record insertion is supported.
- **Update a ServiceNow sys journal field by ID** (Update). Update a specific sys_journal_field record in ServiceNow using id. Returns updated fields such as value, element_id, and sys_updated_on in the response.
- **Delete a ServiceNow sys journal field by ID** (Delete). Delete a sys_journal_field record in ServiceNow. Requires id. Returns status of the deletion.
- **ServiceNow sys journal field overwrite** (Action). Update a sys_journal_field record in ServiceNow. Requires id. Returns updated fields including value, element_id, table_name, element, and journal_entry.
- **List all ServiceNow sc task** (List). List sc_task records in ServiceNow. Returns an array of sc_task records with key fields such as sys_id, number, short_description, and state.
- **Get single ServiceNow sc task by ID** (Get). Get a specific sc_task record in ServiceNow. Requires table_name and id. Returns key fields such as sys_id and all available properties for the record.
- **Create a ServiceNow sc task** (Create). Create sc_task record in ServiceNow. Returns the sys_id, number, and other fields of the newly created task. Only single record insertion is supported.
- **Update a ServiceNow sc task by ID** (Update). Update sc_task record in ServiceNow. Requires id. Returns updated fields including sys_id, short_description, state, and other relevant fields in the response.
- **Delete a ServiceNow sc task by ID** (Delete). Delete a specific sc_task record in ServiceNow. Requires id. No content returned in the response.
- **ServiceNow sc task overwrite** (Action). Update sc_task record in ServiceNow using id. Returns updated fields such as number, sys_id, and state in the response.
