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
Shared Memory MCP
An example project for deploying a remote MCP server on Cloudflare Workers without authentication.
CoinStats
Access cryptocurrency market data, portfolio tracking, and news from the CoinStats API.
Railway MCP Server
Manage Railway infrastructure through natural language using the Railway API.
Remote MCP Server on Cloudflare
A remote MCP server deployable on Cloudflare Workers with OAuth login support.
MCP Riot Server
Integrates with the Riot Games API to provide League of Legends data to AI assistants.
Salesforce MCP Server
Integrates Claude with Salesforce, enabling natural language interactions with your Salesforce data and metadata.
Modal MCP Server
Interact with Modal volumes and deploy Modal applications from within Cursor.
fal-ai/minimax/image-01
Advanced text-to-image generation model using the fal.ai API. Requires a FAL_KEY environment variable.
Shopify MCP Server
Interact with Shopify store data using the GraphQL API.
CData Zoho Inventory Server
A read-only MCP server by CData for querying live Zoho Inventory data.