ServiceNow MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ServiceNow MCP ServerCreate an incident for network outage in building B"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🚀 ServiceNow MCP Server
📋 Overview
This repository contains a ServiceNow integration server for the Model Context Protocol (MCP). It enables seamless interaction between ServiceNow instances and AI models through a standardized protocol, allowing for automated incident management, knowledge base article creation, and other ServiceNow operations.
Related MCP server: ServiceNow MCP Server
✨ Features
🔌 ServiceNow Integration: Direct integration with ServiceNow instances
🛠️ Multiple Operations Support:
Create and manage incidents
Create knowledge base articles
Create client scripts
Create business rules
Create SLA definitions
Create record producers
🔒 Secure Authentication: Environment-based credentials management
🚀 FastAPI-based Server: High-performance async operations
🛠️ Prerequisites
Python 3.12 or higher
ServiceNow instance with appropriate API access
Valid ServiceNow credentials
Optional: Gemini API key for AI capabilities
UV icorn for running the server
FastAPI for building the server
⚙️ Configuration
Clone the repository:
git clone https://github.com/your-org/mcp-server-now.git cd mcp-server-nowCreate a
.envfile with your credentials:SERVICENOW_INSTANCE=https://your-instance.service-now.com SERVICENOW_USERNAME=your_username SERVICENOW_PASSWORD=your_password GEMINI_API_KEY=your_api_key # OptionalInstall dependencies:
pip install -e .
🚀 Getting Started
Running the Server
mcp install <file_name>.pyExample Usage
The server provides several tools for ServiceNow operations. Here are some examples:
Create an Incident:
create_incident( short_description="Network outage in building B", description="Users reporting connectivity issues", urgency="2", impact="2" )Create a Knowledge Base Article:
create_kb_article( short_description="How to Reset Your Password", article_body="<h1>Password Reset Instructions</h1><p>1. Navigate to the login page</p>", workflow_state="published" )
For more examples, see servicenow-test-examples.md.
🧩 Available Tools
The server provides the following tools:
create_incident: Create new incidentscreate_kb_article: Create knowledge base articlescreate_client_script: Create client-side scriptscreate_business_rule: Create business rulescreate_sla_definition: Create SLA definitionscreate_record_producer: Create record producers with customizable variablescreate_variable_set: Create reusable variable sets for catalog items
Record Producer Details
The create_record_producer tool allows you to create ServiceNow record producers with the following features:
create_record_producer(
name="Report Network Issue",
table_name="incident",
short_description="Use this form to report network connectivity issues",
category_sys_id="optional_category_sys_id",
script="optional_server_side_script",
variables=[
{
"name": "issue_type",
"label": "Type of Issue",
"type": "choice",
"choices": ["Connectivity", "Performance", "Access"],
"mandatory": True
},
{
"name": "affected_users",
"label": "Number of Affected Users",
"type": "integer",
"mandatory": True
}
]
)Key features:
Customizable form fields with various types (string, integer, boolean, reference, etc.)
Server-side scripting support
Category assignment
Mandatory field configuration
Default values and help text
Variable Sets
The create_variable_set tool allows you to create reusable variable sets that can be attached to multiple catalog items:
create_variable_set(
name="Hardware Request Variables",
description="Common variables for hardware requests",
variables=[
{
"name": "device_type",
"label": "Device Type",
"type": "choice",
"choices": ["Laptop", "Desktop", "Tablet", "Phone"],
"mandatory": True
},
{
"name": "justification",
"label": "Justification",
"type": "text",
"mandatory": True,
"help_text": "Please explain why you need this hardware"
}
]
)Variable sets support:
Multiple variable types (string, integer, boolean, reference, choice, etc.)
Custom validation rules
Help text and descriptions
Mandatory field configuration
Default values
Reference fields to other ServiceNow tables
🔧 Development
Project Structure
mcp-server-now/
├── servicenow.py # Main server implementation
├── servicenow-test-examples.md # Example usage
├── pyproject.toml # Project configuration
├── .env # Environment variables
└── README.md # This fileAdding New Tools
To add new ServiceNow operations:
Create a new async function in
servicenow.pyDecorate it with
@mcp.tool()Add proper documentation and error handling
Test the new functionality
📚 Resources
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
📞 Support
For support, please:
Open an issue in this repository
Contact the maintainers
Check the ServiceNow documentation
👤 Author
🎥 Watch Live Demo
Live Demo
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/divyashah0510/mcp-server-servicenow'
If you have feedback or need assistance with the MCP directory API, please join our Discord server