Skip to main content

ServiceNow MCP Server for natural language interactions with ServiceNow

Project description

ServiceNow MCP Server

License: MIT

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 incidents
  • servicenow://incidents/{number}: Get a specific incident by number
  • servicenow://users: List users
  • servicenow://knowledge: List knowledge articles
  • servicenow://tables: List available tables
  • servicenow://tables/{table}: Get records from a specific table
  • servicenow://schema/{table}: Get the schema for a table

Tools

Basic Tools

  • create_incident: Create a new incident
  • update_incident: Update an existing incident
  • search_records: Search for records using text query
  • get_record: Get a specific record by sys_id
  • perform_query: Perform a query against ServiceNow
  • add_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:

  1. Basic Authentication: Username and password
  2. Token Authentication: OAuth token
  3. 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_mcp_server_servicenow-0.1.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_mcp_server_servicenow-0.1.1.tar.gz.

File metadata

  • Download URL: iflow_mcp_mcp_server_servicenow-0.1.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_server_servicenow-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5d5680e4bd970a2239f25b476070f5d6bd24f09ceb28f634fbde636a854cf23a
MD5 0207672c7310492a1c3abea3372c14c6
BLAKE2b-256 e5f6f15e9ab520c4a9a7a0564712716ef57573117829c87052804d09fec8bafd

See more details on using hashes here.

File details

Details for the file iflow_mcp_mcp_server_servicenow-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_mcp_server_servicenow-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_server_servicenow-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41ec220fcc3d1d17f80edad7f1dacf471d578ce86f531f8ebc414574d29bb3d2
MD5 6e08910278190f2a0bfc145911f83b3d
BLAKE2b-256 73790094a50745225ea6694f16f269f7a5fc27e9679746b3138172d2abf5cf82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page