Skip to main content
Glama
darrylsarkisian-debug

ServiceNow MCP Demo — Incident Assistant

Демо MCP ServiceNow — Ассистент по инцидентам

Сквозная демонстрация Model Context Protocol, которая подключает Claude к ServiceNow Incident Management. Создана, чтобы показать основы MCP (серверы, клиенты, инструменты, ресурсы, stdio-транспорт, циклы агента) в применении к реальному рабочему процессу ITSM.

Архитектура

┌─────────────────────────────┐        ┌───────────────────────────────┐        ┌────────────────┐
│  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           │        │                │
└─────────────────────────────┘        └───────────────────────────────┘        └────────────────┘

Поток для «мой ноутбук не загружается, открой тикет»:

  1. Веб-клиент отправляет ваше сообщение Claude вместе со схемами инструментов, которые он обнаружил у MCP-сервера при запуске (tools/list).

  2. Claude решает вызвать create_incident с выведенными срочностью, влиянием и категорией.

  3. Клиент пересылает вызов через MCP (tools/call); сервер обращается к ServiceNow Table API (или к имитации в памяти).

  4. Результат возвращается; Claude подтверждает номер инцидента; интерфейс отображает карточку инцидента.

Related MCP server: ServiceNow MCP Server (SSE)

Быстрый старт

# 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.py

Откройте http://localhost:8501 и попробуйте:

  • «Мой ноутбук не загружается, а у меня через час демо для клиента — открой тикет».

  • «Покажи 5 последних инцидентов».

  • «Переведи INC0010001 в In Progress с рабочей заметкой, что техник уже в пути».

  • «Есть статьи базы знаний о ноутбуке, который не включается?»

  • «Это помогло — закрой INC0010001, решено окончательно, заменили зарядное устройство».

Режим реального ServiceNow

  1. Запросите бесплатный Personal Developer Instance (PDI) на https://developer.servicenow.com (занимает ~2 минуты).

  2. В .env установите SERVICENOW_MODE=live и заполните SERVICENOW_INSTANCE, SERVICENOW_USER, SERVICENOW_PASSWORD.

  3. Перезапустите приложение. Созданные инциденты появятся в вашем PDI в разделе Incident > All — отлично подходит для показа тикета в реальном интерфейсе ServiceNow во время демо.

PDI переходят в спящий режим после бездействия. Разбудите свой ~15 минут до собеседования и держите режим mock как запасной вариант.

search_knowledge_articles напрямую запрашивает таблицу kb_knowledge в PDI — перед демонстрацией в живом режиме добавьте туда 2–3 опубликованные статьи базы знаний с заголовками, соответствующими вашему сценарию демо (например, «Ноутбук не включается»), иначе живой поиск вернёт пустой результат. В режиме mock уже есть 3 статьи, так что он работает сразу.

Тестирование сервера отдельно (без интерфейса)

MCP Inspector — самый быстрый способ убедиться, что сервер работает сам по себе:

npx @modelcontextprotocol/inspector python server/servicenow_server.py

Вы также можете добавить сервер в Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "servicenow": {
      "command": "python",
      "args": ["/absolute/path/to/server/servicenow_server.py"]
    }
  }
}

Структура проекта

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 script

Продемонстрированные концепции MCP

  • Сервер на базе FastMCP: инструменты с типизированными параметрами и схемами, формируемыми из docstring

  • Ресурс (servicenow://reference/priority-matrix) — контекст только для чтения, в отличие от инструментов

  • stdio-транспорт — клиент запускает дочерний процесс сервера и общается через JSON-RPC

  • Обнаружение возможностей — клиент не жёстко прописывает инструменты; он вызывает tools/list

  • Цикл агента — многораундовое использование инструментов с Claude до получения итогового текстового ответа

  • Разделение ответственности — один и тот же сервер работает с этим веб-клиентом, Claude Desktop или MCP Inspector без изменений.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    3
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A 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.

Latest Blog Posts

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