ServiceNow FastMCP 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 FastMCP Serverlist my open incidents"
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 FastMCP Server
A Model Context Protocol (MCP) server for ServiceNow, built with fastmcp.
Overview
This server allows LLMs to interact with ServiceNow instances to manage:
Incidents
Users and Groups
Stories
Workflows
Knowledge Base Articles
Script Includes
Related MCP server: ServiceNow MCP Server
Architecture
The project follows a clean, modular architecture:
src/servicenow_mcp/
├── auth/ # Authentication handling (Basic, OAuth, API Key)
├── tools/ # MCP tool implementations
│ ├── incident_tools.py
│ ├── user_tools.py
│ ├── story_tools.py
│ ├── workflow_tools.py
│ ├── knowledge_base.py
│ └── script_include_tools.py
├── utils/ # Shared utilities
│ ├── http_client.py # Centralized HTTP client with SSL support
│ ├── helpers.py # Common helper functions
│ ├── config.py # Configuration models
│ └── logging_utils.py
├── application.py # FastMCP application setup
├── server.py # Main server entry point
└── server_sse.py # SSE server variantUtility Modules
http_client.py
Centralized HTTP client providing:
Unified interface for all HTTP methods (GET, POST, PUT, PATCH, DELETE)
Automatic SSL certificate configuration for private network instances
Consistent timeout and error handling
helpers.py
Common helper functions to reduce code duplication:
build_request_data()- Build request payloads from required/optional fieldsresolve_record_id()- Resolve ServiceNow identifiers to sys_idsformat_success_response()/format_error_response()- Standardized response formattingformat_list_response()- Pagination-aware list responsesextract_display_value()- Safely extract display values from ServiceNow fieldsis_sys_id()- Check if a string is a valid ServiceNow sys_id
Installation
Create a virtual environment:
python -m venv .venvActivate the virtual environment. on Windows cmd
.venv\Scripts\activateon Linux/macOS
source .venv/bin/activateInstall the package:
pip install -e .
Configuration
Copy .env.example to .env and fill in your ServiceNow credentials.
SSL Configuration
The server supports flexible SSL verification settings to handle corporate networks, proxies, and self-signed certificates.
1. Default Secure Mode (Recommended) By default, SSL verification is enabled. If you use a custom corporate certificate, set the path:
# Uses the provided certificate for verification
SERVICENOW_SSL_CERT_PATH=C:\path\to\your\corporate-ca.crt2. Disable SSL Verification (Testing Only)
To disable SSL verification (e.g., for local testing or dev instances), you must explicitly set the variable to true.
# API requests will skip SSL verification
SERVICENOW_DISABLE_SSL_VERIFY=trueNote: If
SERVICENOW_DISABLE_SSL_VERIFYis not present, or set tofalse, the server will default to secure verification (usingSERVICENOW_SSL_CERT_PATHif provided, or system defaults).
Usage
Run the server:
Windows (cmd)
.venv\Scripts\python.exe src\servicenow_mcp\server.pyLinux/macOS
.venv/bin/python src/servicenow_mcp/server.pyDebugging with MCP Inspector
The MCP Inspector is a browser-based tool for testing and debugging your MCP server. It connects to your server and allows you to interactively call tools.
Running the Inspector
Use npx to run the inspector, pointing it at the server entry point:
# On Windows (cmd)
.venv\Scripts\activate
set PYTHONPATH=src
npx @modelcontextprotocol/inspector python src/servicenow_mcp/server.py# On Windows (PowerShell)
. .venv\Scripts\Activate.ps1
$env:PYTHONPATH = "src"
npx @modelcontextprotocol/inspector python src/servicenow_mcp/server.py# On Linux/macOS
source .venv/bin/activate
PYTHONPATH=src npx @modelcontextprotocol/inspector python src/servicenow_mcp/server.pyThis will:
Start your ServiceNow MCP server.
Open a browser window with the Inspector UI.
Allow you to view available tools and call them interactively.
Using the Helper Script (Windows)
For convenience, a inspector.ps1 script is provided:
.\inspector.ps1Remote Deployment (Streamable HTTP)
The server can run as a remote MCP server over Streamable HTTP so cloud AI clients (Claude Desktop, claude.ai, Claude Code) can connect:
# Streamable HTTP on 0.0.0.0:8080 at /mcp, protected by a bearer token
MCP_AUTH_TOKEN=<random-secret> servicenow-mcp-httpKey environment variables:
Variable | Default | Purpose |
|
|
|
|
| Bind interface (keep 0.0.0.0 for Docker/EC2) |
|
| Listen port |
| unset | If set, clients must send |
See docs/DEPLOYMENT_EC2.md (local-only, not tracked in this repo) for a
complete AWS EC2 free-tier deployment guide (Docker + Caddy with automatic
HTTPS), client setup, OAuth upgrade path, and the scaling story.
This server cannot be installed
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/alenthomas2468/servicenow-mcp-fast'
If you have feedback or need assistance with the MCP directory API, please join our Discord server