Skip to main content
Glama
divyashah0510

ServiceNow MCP Server

šŸš€ 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

  1. Clone the repository:

    git clone https://github.com/your-org/mcp-server-now.git
    cd mcp-server-now
  2. Create a .env file 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  # Optional
  3. Install dependencies:

    pip install -e .

šŸš€ Getting Started

Running the Server

mcp install <file_name>.py

Example Usage

The server provides several tools for ServiceNow operations. Here are some examples:

  1. Create an Incident:

    create_incident(
        short_description="Network outage in building B",
        description="Users reporting connectivity issues",
        urgency="2",
        impact="2"
    )
  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 incidents

  • create_kb_article: Create knowledge base articles

  • create_client_script: Create client-side scripts

  • create_business_rule: Create business rules

  • create_sla_definition: Create SLA definitions

  • create_record_producer: Create record producers with customizable variables

  • create_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 file

Adding New Tools

To add new ServiceNow operations:

  1. Create a new async function in servicenow.py

  2. Decorate it with @mcp.tool()

  3. Add proper documentation and error handling

  4. Test the new functionality

šŸ“š Resources

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ“ž Support

For support, please:

šŸ‘¤ Author


šŸŽ„ Watch Live Demo

šŸ”— Youtube Link

Live Demo

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.
    47
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants and development tools to interact with ServiceNow instances, providing comprehensive API coverage for incident management, change management, CMDB, and other ServiceNow modules.
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready Model Context Protocol server that integrates with ServiceNow for enterprise workflows and provides comprehensive health monitoring capabilities.
    3
    -