A comprehensive MCP server for ServiceNow - platform introspection, ITSM workflows, CMDB operations, change intelligence, debugging, investigations, and documentation generation.
Reason this release was yanked:
I went too aggressive on the rewrite
Project description
servicenow-platform-mcp
A Python 3.12+ async MCP server that gives AI agents structured, policy-guarded access to ServiceNow. It exposes schema inspection, record CRUD, attachment operations, audit trail analysis, Flow Designer inspection, and platform investigations - all over the Model Context Protocol's stdio transport.
What you get
The server presents a unified tool surface to any MCP-compatible client. Capabilities include:
- Query and inspect - encoded-query search, aggregation, field-level schema discovery, choice-label resolution.
- Read and write records - including script-bearing artifacts (Business Rules, Script Includes, UI Macros) with file-based script injection and preview-then-apply confirmation.
- Attachments - list, download, upload, and delete with size-capped base64 transfer.
- Audit - field-level audit verdict resolution, batch checks, and masked history retrieval.
- Flow Designer - inspect flows, decode compressed action values, find record-trigger bindings.
- Investigations - pluggable analysis modules for stale automations, deprecated APIs, ACL conflicts, performance bottlenecks, and more.
- Service Catalog - browse catalogs, order items, manage carts.
Tool-package presets
Control the exposed surface with MCP_TOOL_PACKAGE. Four presets ship; custom comma-separated group lists are also accepted.
| Preset | Tools | Purpose |
|---|---|---|
full |
14 | Complete surface including writes and query builder |
readonly |
10 | Read operations, investigations, audit, and flow inspection |
core_readonly |
5 | Query, describe, and attachment only |
none |
1 | Only the list_tool_packages introspection tool |
Quickstart
# Install dependencies
uv sync
# Configure credentials
cp .env.example .env.local
# Edit .env.local with your instance URL, username, and password
# Run the server (stdio transport)
servicenow-platform-mcp
Three environment variables are required:
SERVICENOW_INSTANCE_URL- your instance (HTTPS enforced, e.g.https://dev12345.service-now.com)SERVICENOW_USERNAMESERVICENOW_PASSWORD
MCP client configuration
{
"mcpServers": {
"servicenow": {
"command": "servicenow-platform-mcp",
"transport": "stdio"
}
}
}
Safety posture
Eight sensitive tables (credential stores, OAuth entities, SSH keys) are unconditionally denied at the policy layer. Fields matching sensitive patterns - passwords, tokens, secrets, API keys, private keys, credentials - are masked in every response. Write operations use a preview-then-apply flow by default: the server returns a confirmation token that must be explicitly applied before any mutation reaches ServiceNow. In production environments (SERVICENOW_ENV=prod or production), all write operations are blocked at runtime regardless of which tool package is loaded.
Where to go next
- Getting Started - detailed setup and first-use walkthrough
- Configuration - full environment variable reference
- Tool Reference - per-tool parameter and response documentation
- Tool Packages - preset details and custom package composition
- Architecture - server bootstrap, decorator patterns, state management
- Safety and Policy - denied tables, masking, query safety, write gating
- Investigations - available analysis modules and their parameters
- Telemetry - opt-in Sentry integration
- Development - contributing, linting, testing
- INSTALL.md - alternative installation methods
License
MIT. See LICENSE.
Built by the ServiceNow MCP Contributors.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file servicenow_platform_mcp-0.10.0.tar.gz.
File metadata
- Download URL: servicenow_platform_mcp-0.10.0.tar.gz
- Upload date:
- Size: 302.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
780bfb3bf76240aca966a6705ed8fdcfba6d5c6716097e1076565c553fafbd09
|
|
| MD5 |
611a61fc11f461576bdea2fa7271b614
|
|
| BLAKE2b-256 |
fc9be3306173a4b83b3dc843ea7191b710b30de6e777a5c2ea39eeccfa3148f1
|
File details
Details for the file servicenow_platform_mcp-0.10.0-py3-none-any.whl.
File metadata
- Download URL: servicenow_platform_mcp-0.10.0-py3-none-any.whl
- Upload date:
- Size: 112.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd25bc4d71adc04cb071cae791b361f7ddc387bfb645c2060044b12e510451b5
|
|
| MD5 |
767590f7a988652654f9ff1122233ab6
|
|
| BLAKE2b-256 |
9e45acc21e09cdcff6fe647f1fe7f91487d9bfb498aff0bf38978d88064d6f66
|