ServiceNow MCP Demo — Incident Assistant
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 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 │ │ │
│ │ │ - 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."
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.
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: 4 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 installed
Maintenance
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/darrylsarkisian-debug/servicenow-mcp-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server