ServiceNow MCP Server
An MCP server for interfacing with ServiceNow, enabling AI agents to access and manipulate data via a secure API.
ServiceNow MCP Server
A Model Context Protocol (MCP) server that interfaces with ServiceNow, allowing AI agents to access and manipulate ServiceNow data through a secure API. This server enables natural language interactions with ServiceNow, making it easier to search for records, update them, and manage scripts.
Features
Resources
servicenow://incidents: List recent incidentsservicenow://incidents/{number}: Get a specific incident by numberservicenow://users: List usersservicenow://knowledge: List knowledge articlesservicenow://tables: List available tablesservicenow://tables/{table}: Get records from a specific tableservicenow://schema/{table}: Get the schema for a table
Tools
Basic Tools
create_incident: Create a new incidentupdate_incident: Update an existing incidentsearch_records: Search for records using text queryget_record: Get a specific record by sys_idperform_query: Perform a query against ServiceNowadd_comment: Add a comment to an incident (customer visible)add_work_notes: Add work notes to an incident (internal)
Natural Language Tools
natural_language_search: Search for records using natural language (e.g., "find all incidents about SAP")natural_language_update: Update records using natural language (e.g., "Update incident INC0010001 saying I'm working on it")update_script: Update ServiceNow script files (script includes, business rules, etc.)
Installation
From PyPI
pip install mcp-server-servicenow
From Source
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .
Usage
Command Line
Run the server using the Python module:
python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"
Or use environment variables:
export SERVICENOW_INSTANCE_URL="https://your-instance.service-now.com/"
export SERVICENOW_USERNAME="your-username"
export SERVICENOW_PASSWORD="your-password"
python -m mcp_server_servicenow.cli
Configuration in Cline
To use this MCP server with Cline, add the following to your MCP settings file:
{
"mcpServers": {
"servicenow": {
"command": "/path/to/your/python/executable",
"args": [
"-m",
"mcp_server_servicenow.cli",
"--url", "https://your-instance.service-now.com/",
"--username", "your-username",
"--password", "your-password"
],
"disabled": false,
"autoApprove": []
}
}
}
Note: Make sure to use the full path to the Python executable that has the mcp-server-servicenow package installed.
Natural Language Examples
Searching Records
You can search for records using natural language queries:
find all incidents about email
search for incidents related to network issues
show me all incidents with high priority
Updating Records
You can update records using natural language commands:
Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issue
Managing Scripts
You can update ServiceNow scripts from local files:
Update the ServiceNow script include "HelloWorld" with the contents of hello_world.js
Upload utils.js to ServiceNow as a script include named "UtilityFunctions"
Update @form_validation.js, it's a client script called "FormValidation"
Authentication Methods
The server supports multiple authentication methods:
- Basic Authentication: Username and password
- Token Authentication: OAuth token
- OAuth Authentication: Client ID, Client Secret, Username, and Password
Development
Prerequisites
- Python 3.8+
- ServiceNow instance with API access
Setting Up Development Environment
# Clone the repository
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
Running Tests
pytest
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Servers
Cloudflare to GitHub Backup MCP Server
Backs up Cloudflare projects to a specified GitHub repository.
Valhalla MCP Server
A server for the Valhalla routing engine, offering routing, isochrone, health, and tile services.
Weather MCP Server
Provides weather information using the OpenWeatherMap API.
Bybit API
An interface to interact with the Bybit cryptocurrency exchange API.
Strava MCP Server
Access the Strava API to query athlete activities data.
Hostinger Ecommerce MCP
Interact with the Hostinger Ecommerce API using a JWT token and store ID.
Azure Pricing MCP Server
Query Azure retail pricing information using the Azure Retail Prices API.
Azure Resource Graph MCP Server
Query and retrieve Azure resource information across subscriptions using Azure Resource Graph.
Meraki Magic MCP
A Python-based MCP server for Cisco's Meraki Dashboard, providing tools to query the API for discovering, monitoring, and managing your Meraki environment.
SiteBay
Manage your SiteBay WordPress hosting platform. Handle sites, execute server commands, and manage staging environments via natural language.