home / mcp / servicenow mcp server

ServiceNow MCP Server

MCP Server for ServiceNow

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "echelon-ai-labs-servicenow-mcp": {
      "command": "python",
      "args": [
        "-m",
        "servicenow_mcp.cli"
      ],
      "env": {
        "MCP_TOOL_PACKAGE": "catalog_builder",
        "SERVICENOW_PASSWORD": "your-password",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_AUTH_TYPE": "basic",
        "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com"
      }
    }
  }
}

You can connect Claude to ServiceNow through a dedicated MCP (Model Completion Protocol) server, enabling you to query data, manage records, and run workflows from within Claude. This server acts as a bridge between ServiceNow and your MCP client, providing a secure, streamlined way to interact with ServiceNow data and operations.

How to use

You run the MCP server locally and connect your MCP client (such as Claude) to it. Use the standard or SSE (Server-Sent Events) transport to send requests for incidents, service catalog items, changes, knowledge articles, users, and more. Start in standard mode to communicate over a simple local process, or start in SSE mode to expose a web endpoint for broader integration. Use the available tools to create, read, update, and delete records, or run catalog optimizations and workflow actions as needed.

To begin, ensure you have your ServiceNow instance URL, a valid set of credentials, and the correct authentication method. Configure the MCP client to point at your local MCP server process. Then issue natural language or structured prompts to perform actions such as creating incidents, querying catalog items, or updating change requests. You can also use the example prompts to guide your workflow and test responses.

How to install

Prerequisites

- Python 3.11 or higher

- A ServiceNow instance with appropriate access credentials

Setup steps

# 1) Clone the MCP server repository
git clone https://github.com/echelon-ai-labs/servicenow-mcp.git
cd servicenow-mcp

# 2) Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# 3) Install the MCP server package in editable mode
pip install -e .

# 4) Create a configuration file with ServiceNow credentials
# Example values should be replaced with real credentials
cat > .env << 'ENV'
SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
SERVICENOW_AUTH_TYPE=basic  # or oauth, api_key
ENV

Additional configuration and usage notes

Tool packaging and environment variables help tailor what you expose to Claude. You can enable a subset of tools by setting MCP_TOOL_PACKAGE to a named package (for example, catalog_builder). If you don’t set this variable, the full package is loaded by default. You can also explicitly load none of the tools by setting MCP_TOOL_PACKAGE=none (which disables most tools except list_tool_packages).

Environment variables you may need include the ServiceNow credentials and the authentication type, plus optional variables for tool packaging. The following are shown as examples:

# Example environment configuration
SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
SERVICENOW_AUTH_TYPE=basic

# Optional: limit exposed tools to a package
MCP_TOOL_PACKAGE=catalog_builder

Troubleshooting and tips

If you encounter issues starting the server, verify that your credentials are correct and that the chosen authentication type matches what your ServiceNow instance accepts. Ensure the environment is using Python 3.11 or newer and that the virtual environment is activated when launching the MCP server.

Example usage with Claude

After starting the MCP server, you can ask Claude to perform actions such as creating incidents, listing catalog items, or updating change requests. For example: create an incident for a network outage, or list catalog items in the Hardware category.

Available tools

create_incident

Create a new incident in ServiceNow

update_incident

Update an existing incident in ServiceNow

list_incidents

List incidents from ServiceNow

list_catalog_items

List service catalog items from ServiceNow

get_catalog_item

Get a specific service catalog item from ServiceNow

list_catalog_categories

List service catalog categories from ServiceNow

create_catalog_category

Create a new service catalog category in ServiceNow

update_catalog_category

Update an existing catalog category in ServiceNow

list_articles

List knowledge articles with filtering options

get_article

Get a specific knowledge article by ID

create_change_request

Create a new change request in ServiceNow

update_change_request

Update an existing change request

list_change_requests

List change requests with filtering options

get_change_request_details

Get detailed information about a specific change request

approve_change

Approve a change request

reject_change

Reject a change request

create_workflow

Create a new workflow in ServiceNow

list_workflows

List workflows from ServiceNow

get_workflow

Get a specific workflow from ServiceNow

update_workflow

Update an existing workflow

delete_workflow

Delete a workflow from ServiceNow

list_script_includes

List script includes from ServiceNow

get_script_include

Get a specific script include from ServiceNow

create_script_include

Create a new script include in ServiceNow

update_script_include

Update an existing script include in ServiceNow

delete_script_include

Delete a script include from ServiceNow

list_changesets

List changesets from ServiceNow with filtering options

get_changeset_details

Get detailed information about a specific changeset

create_changeset

Create a new changeset in ServiceNow

commit_changeset

Commit a changeset

publish_changeset

Publish a changeset

add_file_to_changeset

Add a file to a changeset

list_knowledge_bases

List knowledge bases with filtering options

create_knowledge_base

Create a new knowledge base in ServiceNow

list_users

List users with filtering options

create_user

Create a new user in ServiceNow

get_user

Get a specific user by ID, username, or email

list_groups

List groups with filtering options

create_group

Create a new group in ServiceNow

add_group_members

Add members to a group in ServiceNow

remove_group_members

Remove members from a group in ServiceNow

list_catalog_item_variables

List all variables for a catalog item

update_catalog_item_variable

Update an existing variable for a catalog item

create_catalog_item_variable

Create a new variable for a catalog item

list_changesets

List changesets from ServiceNow with filtering options

get_catalog_item

Get a specific catalog item from ServiceNow