Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

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