- Home
- MCP servers
- ServiceNow
ServiceNow
- python
189
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
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