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
commercetools MCP Essentials
An MCP server and toolkit for integrating with the commercetools platform APIs.
CData SAP Ariba Source
An MCP server for SAP Ariba Source, powered by CData. Requires the external CData JDBC Driver for SAP Ariba Source.
Unsplash MCP Server
An MCP server for accessing the Unsplash API to search for and retrieve photos.
Azure Data Catalog by CData
A read-only MCP server for Azure Data Catalog, powered by CData's JDBC driver.
Gemini OCR
Provides Optical Character Recognition (OCR) services using Google's Gemini API.
Strava MCP
Integrate your Strava activity data with AI models using a local SQLite database.
Honeycomb MCP
Interact with Honeycomb observability data, including datasets, SLOs, and triggers.
Gumroad
Interact with the Gumroad API to access and manage your products, sales, and creator data.
Keycloak MCP Server
Administer Keycloak users and realms using a Model Context Protocol server.
Bybit MCP Server
Access Bybit's v5 API for real-time market data, trading operations, and account information.