ServiceNow MCP Demo — Incident Assistant
Click on "Deploy 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 MCP Demo — Incident AssistantMy laptop won't boot, create an incident"
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 MCP Demo — Incident Assistant
An end-to-end Model Context Protocol demo that connects Claude to ServiceNow Incident Management. Built to showcase MCP fundamentals (servers, clients, tools, resources, stdio transport, agent loops) applied to a real ITSM workflow.
Architecture
┌─────────────────────────────┐ ┌───────────────────────────────┐ ┌────────────────┐
│ Web Client (Streamlit) │ MCP │ MCP Server (FastMCP) │ REST │ ServiceNow │
│ - MCP host + client │◄──────►│ - create_incident │◄──────►│ Table API │
│ - Claude agent loop │ stdio │ - get_incident │ │ (or mock mode)│
│ - Incident cards in UI │JSON-RPC│ - list_recent_incidents │ │ │
│ │ │ - update_incident_state │ │ │
│ │ │ - resolve_incident │ │ │
│ │ │ - search_knowledge_articles │ │ │
│ │ │ - resource: priority │ │ │
│ │ │ matrix reference │ │ │
└─────────────────────────────┘ └───────────────────────────────┘ └────────────────┘Flow for "my laptop won't boot, open a ticket":
The web client sends your message to Claude along with the tool schemas it discovered from the MCP server at startup (
tools/list).Claude decides to call
create_incidentwith inferred urgency/impact/category.The client forwards the call over MCP (
tools/call); the server hits the ServiceNow Table API (or the in-memory mock).The result flows back; Claude confirms the incident number; the UI renders an incident card.
Related MCP server: ServiceNow MCP Server (SSE)
Quick start
# 1. Create a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Configure
cp .env.example .env # then edit: add your ANTHROPIC_API_KEY
# leave SERVICENOW_MODE=mock for a no-setup demo
# 4. Run the web client (it launches the MCP server automatically)
streamlit run client/app.pyOpen http://localhost:8501 and try:
"My laptop won't boot and I have a client demo in an hour — open a ticket."
"Show me the 5 most recent incidents."
"Move INC0010001 to In Progress with a work note that the tech is en route."
"Any KB articles on a laptop that won't power on?"
"That fixed it — resolve INC0010001, solved permanently, replaced the charger."
Live ServiceNow mode
Request a free Personal Developer Instance (PDI) at https://developer.servicenow.com (takes ~2 minutes).
In
.env, setSERVICENOW_MODE=liveand fill inSERVICENOW_INSTANCE,SERVICENOW_USER,SERVICENOW_PASSWORD.Restart the app. Created incidents will appear in your PDI under Incident > All — great for showing the ticket in the real ServiceNow UI during the demo.
PDIs hibernate after inactivity. Wake yours up ~15 minutes before your interview, and keep
mockmode as a fallback.
search_knowledge_articlesqueries the PDI'skb_knowledgetable directly — before demoing in live mode, seed 2–3 published KB articles there with titles matching your demo scenario (e.g. "Laptop won't power on"), or the live search will come back empty. Mock mode already ships with 3 seeded articles so it works out of the box.
Testing the server standalone (no UI)
The MCP Inspector is the fastest way to prove the server works on its own:
npx @modelcontextprotocol/inspector python server/servicenow_server.pyYou can also add the server to Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"servicenow": {
"command": "python",
"args": ["/absolute/path/to/server/servicenow_server.py"]
}
}
}Project layout
servicenow-mcp-demo/
├── server/servicenow_server.py # FastMCP server: 6 tools + 1 resource, mock/live backends
├── client/app.py # Streamlit web app: MCP client + Claude agent loop
├── requirements.txt
├── .env.example
├── PROJECT_PLAN.md # Phase-by-phase build plan and status
└── DEMO_SCRIPT.md # 5-minute recorded-demo scriptMCP concepts demonstrated
Server built with FastMCP: tools with typed parameters and docstring-driven schemas
Resource (
servicenow://reference/priority-matrix) — read-only context, distinct from toolsstdio transport — client launches the server subprocess and speaks JSON-RPC
Capability discovery — the client never hardcodes tools; it calls
tools/listAgent loop — multi-round tool use with Claude until a final text answer
Separation of concerns — the same server works with this web client, Claude Desktop, or MCP Inspector, unchanged
This server cannot be deployed
Maintenance
Related MCP Connectors
Build and manage AI-native customer support agents from Claude or any MCP client.
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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.3MIT
- FlicenseNot gradedqualityDmaintenanceA browser-accessible Model Context Protocol server that enables AI assistants to manage ServiceNow incidents using Server-Sent Events. It provides comprehensive tools for creating, listing, retrieving, and updating incidents through a type-safe RESTful interface.-
- AlicenseAqualityAmaintenanceConnect Claude AI to ServiceNow with 19 tools and 5 resources for incidents, CMDB, update sets, and more, accessible from any MCP client over stdio or Streamable HTTP.19259 PyPI18MIT
- FlicenseNot gradedqualityDmaintenanceA local gateway that exposes ServiceNow REST APIs as MCP tools, enabling natural language interaction with ServiceNow incidents, changes, CMDB, and scripts via Claude and other MCP clients.-