# ServiceNow MCP Server (NowAIKit)

Links ServiceNow instances to AI clients for auditing incidents, running ATF suites, and generating reports. Operates in read-only mode out of the box.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 263
- Author: aartiq
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/aartiq/servicenow-mcp
- Updated: 2026-09-23
- HTML: https://affpapa.org/en/nevibecode/mcp/servicenow-mcp-server-nowaikit

## What it does

This server integrates coding assistants with ServiceNow environments, covering modules across ITSM, CMDB, HRSD, Flow Designer, and custom scripts. Developers can query active high-priority records, evaluate change ticket risks, or look up GlideRecord syntax directly in conversation.

Dependency inspection relies on impact analysis utilities: `list_table_config`, `find_field_references`, and `find_script_references`. They trace references across tables and scripts before code modifications. The `aggregate_report` tool compiles server-side calculations without truncated outputs, while Local Sync pulls remote instance artifacts into local project files.

Node.js 20+ is strictly required to execute the package. Production instances remain safe from accidental writes because update and script execution features stay disabled until `WRITE_ENABLED` is set.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SERVICENOW_INSTANCE_URL`, `SERVICENOW_AUTH_METHOD`, `SERVICENOW_BASIC_USERNAME`, `SERVICENOW_BASIC_PASSWORD`, `WRITE_ENABLED`, `SCRIPTING_ENABLED`, `CMDB_WRITE_ENABLED`, `NOW_ASSIST_ENABLED`, `ATF_ENABLED`, `MCP_TOOL_PACKAGE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: ServiceNow

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SERVICENOW_INSTANCE_URL=<SERVICENOW_INSTANCE_URL> --env SERVICENOW_AUTH_METHOD=<SERVICENOW_AUTH_METHOD> --env SERVICENOW_BASIC_USERNAME=<SERVICENOW_BASIC_USERNAME> --env SERVICENOW_BASIC_PASSWORD=<SERVICENOW_BASIC_PASSWORD> --env WRITE_ENABLED=<WRITE_ENABLED> --transport stdio servicenow-mcp-server-nowaikit -- npx -y nowaikit
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add servicenow-mcp-server-nowaikit --env SERVICENOW_INSTANCE_URL=<SERVICENOW_INSTANCE_URL> --env SERVICENOW_AUTH_METHOD=<SERVICENOW_AUTH_METHOD> --env SERVICENOW_BASIC_USERNAME=<SERVICENOW_BASIC_USERNAME> --env SERVICENOW_BASIC_PASSWORD=<SERVICENOW_BASIC_PASSWORD> --env WRITE_ENABLED=<WRITE_ENABLED> -- npx -y nowaikit
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "servicenow-mcp-server-nowaikit": {
            "command": "npx",
            "args": [
                "-y",
                "nowaikit"
            ],
            "env": {
                "SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
                "SERVICENOW_AUTH_METHOD": "<SERVICENOW_AUTH_METHOD>",
                "SERVICENOW_BASIC_USERNAME": "<SERVICENOW_BASIC_USERNAME>",
                "SERVICENOW_BASIC_PASSWORD": "<SERVICENOW_BASIC_PASSWORD>",
                "WRITE_ENABLED": "<WRITE_ENABLED>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "servicenow-mcp-server-nowaikit": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "nowaikit"
            ],
            "env": {
                "SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
                "SERVICENOW_AUTH_METHOD": "<SERVICENOW_AUTH_METHOD>",
                "SERVICENOW_BASIC_USERNAME": "<SERVICENOW_BASIC_USERNAME>",
                "SERVICENOW_BASIC_PASSWORD": "<SERVICENOW_BASIC_PASSWORD>",
                "WRITE_ENABLED": "<WRITE_ENABLED>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SERVICENOW_INSTANCE_URL=<SERVICENOW_INSTANCE_URL> -e SERVICENOW_AUTH_METHOD=<SERVICENOW_AUTH_METHOD> -e SERVICENOW_BASIC_USERNAME=<SERVICENOW_BASIC_USERNAME> -e SERVICENOW_BASIC_PASSWORD=<SERVICENOW_BASIC_PASSWORD> -e WRITE_ENABLED=<WRITE_ENABLED> servicenow-mcp-server-nowaikit npx -y nowaikit
```
Replace <…> with your own values. 9 more environment variables are in the server README

## When to use it
- query unresolved high-priority incidents and assess change risks
- audit script and field dependencies prior to modifying tables
- trigger ATF suites to validate automated workflows
- compile server-side aggregate metrics without payload truncation

## Example prompts
- Show all open priority 1 incidents and summarize their impact
- Run find_script_references to see what calls this script include
- Execute the ATF suite configured for the onboarding workflow

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
