Skip to main content
Glama
ServiceNow MCP Server

ServiceNow MCP Server

ServiceNow MCP Server

Самостоятельно развертываемый Model Context Protocol сервер, который предоставляет экземпляр ServiceNow MCP-клиентам, таким как Microsoft Copilot Studio (и любым другим MCP-клиентам, например Claude). Он полностью работает на стандартном лицензировании ServiceNow, вызывая REST API платформы (Table / Aggregate / CMDB), и использует сквозную передачу токена OAuth 2.0 для каждого пользователя, поэтому каждый вызов выполняется от имени вошедшего пользователя с применением его собственных ACL.

Почему это существует

Целевой экземпляр находится на стандартной лицензии ServiceNow, поэтому встроенная консоль MCP Server (доступная только в Now Assist / AI Native SKU) от ServiceNow недоступна. Этот сервер — портативный, переиспользуемый интеграционный слой: один MCP-сервер, пригодный для рабты с разными клиентами и разными AI-фронтендами, — вместо коннектора, специфичного для Copilot Studio.

Related MCP server: servicenow-mcp-server

Как работает аутентификация (сквозная передача токена)

User ⇄ Copilot Studio  --(per-user OAuth: ServiceNow access token as Bearer)-->  this server
                                                       │ forwards the same Bearer token
                                                       ▼
                                          ServiceNow REST APIs (ACLs enforced as that user)

Сервер не хранит никаких учетных данных пользователей. Он читает входящий заголовок Authorization: Bearer <token> и передает его в ServiceNow без изменений. См. auth.py.

Инструменты

Уровень 1 — прямое получение (только для чтения): get_incident, list_incidents, get_change_request, list_change_requests, get_service_request, list_service_requests, get_configuration_item, find_configuration_items, search_knowledge, get_knowledge_article, lookup_user, lookup_group.

Уровень 2 — детерминированная логика: correlate_changes_to_incident, get_incident_trends, get_ci_impact, find_similar_incidents, get_incident_context.

Анализ корневой причины и итоговое ранирование похожих инцидентов намеренно оставлены на рассуждение агента, получающего данные из get_incident_context / find_similar_incidents.

Локальный запуск

python -m venv .venv
.venv/Scripts/pip install -e ".[dev]"      # Windows; use .venv/bin on macOS/Linux
cp .env.example .env                        # set SERVICENOW_INSTANCE_URL
SERVICENOW_INSTANCE_URL=https://devXXXXX.service-now.com .venv/Scripts/servicenow-mcp

Сервер слушает на http://HOST:PORT/mcp (Streamable HTTP) и предоставляет эндпоинт /health для проверки здоровья.

Проверка с помощью MCP Inspecter

npx @modelcontextprotocol/inspector

Укажите его на http://localhost:8000/mcp, выберите Streamable HTTP и передайте OAuth-токен доступа ServiceNow в качестве Bearer-токена, чтобы использовать инструменты. Это ближайший аналог Swagger UI в MCP: он перечисляет все инструменты с их схемами и позволяет вывать каждый из них в интерактивном режиме.

Список все инструментов (без подкючения к серверу или ServiceNow)

.venv/Scripts/python scripts/list_tools.py         # human-readable catalog
.venv/Scripts/python scripts/list_tools.py --json   # machine-readable (like an OpenAPI dump)

Развертывание

Контейнерный образ + Azure Container Apps. См. docs/DEPLOYMENT.md по поводу регистрации OAuth-приложения ServiceNow, настройки интеграции с Copilot Studio и инфраструктуры.

Для полного пошагового руководства — включая публикацию локального сервера через dev-туннель, создание агента с нуля и тест ACL с двумя пользователями — см. docs/COPILOT_STUDIO_SETUP.md.

Тесты

.venv/Scripts/pytest

Related MCP Connectors

Related MCP Servers