NowAIKit
<div align="center">
<img src="https://raw.githubusercontent.com/aartiq/servicenow-mcp/main/docs/assets/banner.png" alt="NowAIKit ServiceNow MCP Server" width="100%"/>
[](https://www.npmjs.com/package/nowaikit)
[](docs/TOOLS.md)
[](https://modelcontextprotocol.io)
[](LICENSE)
# NowAIKit: ServiceNow MCP Server
**Connect Claude, ChatGPT, Gemini, Cursor, Copilot, or any AI, to ServiceNow.**
500+ tools across ITSM, ITOM, CMDB, HRSD, CSM, Flow Designer, scripting & portal. Read, build, query and automate any instance in plain English.
500+ does not mean a heavy context. Your AI does not load every tool. It finds the right one on demand with `search_tools`, you can expose a role package instead of the full set, and clients that load tools only when needed pull just what a task requires, so token cost stays low.
New in 4.4 to 4.7: **impact analysis** to see what depends on a table, field, or script before you change it (`list_table_config`, `find_field_references`, `find_script_references`), **Local Sync** to pull widgets and scripts to local files, edit, and push them back, and **`aggregate_report`** for server-side reports (count plus averages, no 1,000-row truncation) with chart-ready output for Copilot and Teams.
</div>
---
## π Get started (2 minutes)
> Requires **Node.js 20+**.
**1. Install and run the wizard.** It connects you to ServiceNow and writes your AI client's config for you.
```bash
npm install -g nowaikit
nowaikit setup
```
For OAuth the wizard signs in once, detects an existing OAuth app, or creates one for you (with an admin sign-in), or falls back to username/password. No manual OAuth app steps. On newer ServiceNow releases it creates a public client with PKCE (no secret).
**2. Sign in as yourself (per-user OAuth only).** Each user runs this once; the browser opens, you approve, and your queries then run in your own ServiceNow permission context.
```bash
nowaikit auth login
```
**3. Restart your AI client** (Claude Desktop, Cursor, β¦) and start asking. Done.
**Keeping it up to date:** NowAIKit checks on startup and, when a newer version is out, asks a single **"Update now?"**. Say yes and it updates itself. You can also run `nowaikit update` any time, or `npm install -g nowaikit@latest`.
> Prefer a UI? Run `npx nowaikit web` for a local dashboard (chat, instance manager, tool browser, audit log), all on your machine.
---
## π Manual setup (skip the wizard)
Add this to your client's MCP config (Claude Desktop `claude_desktop_config.json`, Cursor `~/.cursor/mcp.json`, etc.):
```json
{
"mcpServers": {
"nowaikit": {
"command": "npx",
"args": ["-y", "nowaikit"],
"env": {
"SERVICENOW_INSTANCE_URL": "https://yourcompany.service-now.com",
"SERVICENOW_BASIC_USERNAME": "your_username",
"SERVICENOW_BASIC_PASSWORD": "your_password"
}
}
}
}
```
OAuth, multiple instances, and per-client steps β **[Client setup](docs/CLIENT_SETUP.md)** Β· **[OAuth setup](docs/SERVICENOW_OAUTH_SETUP.md)**.
> **CLI binary overrides:** when using `--provider claude-cli` or `--provider codex-cli`, set `NOWAIKIT_CLAUDE_BIN` or `NOWAIKIT_CODEX_BIN` to point at a non-default executable path.
No instance? Grab a free Personal Developer Instance at **[developer.servicenow.com](https://developer.servicenow.com)**.
---
## π¬ Use it β just ask
- *"How many active P1 incidents are open right now?"*
- *"Show me the 5 most recent changes and their risk."*
- *"Create a business rule on the incident table thatβ¦"*
- *"Run the ATF suite for the HR onboarding flow."*
- *"What's the CMDB health for our prod CIs?"*
- *"Look up GlideRecord.addEncodedQuery in the ServiceNow docs and show the syntax."*
**Read-only by default.** Write, scripting and CMDB changes are opt-in flags β prod can't be modified by accident.
---
## π Docs
| | |
|---|---|
| [Installation](docs/INSTALLATION.md) Β· [Client setup](docs/CLIENT_SETUP.md) | [All 500+ tools](docs/TOOLS.md) Β· [Tool packages](docs/TOOL_PACKAGES.md) |
| [Multi-instance](docs/MULTI_INSTANCE.md) Β· [OAuth](docs/SERVICENOW_OAUTH_SETUP.md) | [Scripting](docs/SCRIPTING.md) Β· [ATF](docs/ATF.md) Β· [Reporting](docs/REPORTING.md) |
| [Skills & branded reports](docs/SKILLS_AND_REPORTS.md) | [Use your own Claude/Codex subscription](docs/SKILLS_AND_REPORTS.md#using-your-own-claude-code-or-codex-subscription) |
Full guides & product home β **[nowaikit.com](https://nowaikit.com)**
---
## π§© Part of the NowAIKit suite
- π **[nowaikit.com](https://nowaikit.com)** β docs, guides & product home
- π₯οΈ **Web UI** β run `npx nowaikit web` for a local dashboard, no cloud account needed
- π¦ **[`nowaikit-sdk`](https://www.npmjs.com/package/nowaikit-sdk)** β TypeScript ServiceNow client library
- π§° **NowAIKit Builder** (VS Code) Β· **NowAIKit Utils** (browser extension)
> **β οΈ Official distribution only:** install from **npm (`nowaikit`)** or **[nowaikit.com](https://nowaikit.com)**. NowAIKit is never shipped as a downloadable GitHub `.zip` β beware copycat "download" repos.
---
## Maintainer & continuity
Built and maintained by **AARTIQ Ltd** (United Kingdom), and shipped often, usually several releases a month (see [CHANGELOG](CHANGELOG.md)). It is a single-vendor open project: one accountable team owns quality and support, with community contributions welcome on top.
You are not tied to that team continuing: the source is available under the Elastic License 2.0, and you get **perpetual self-host and fork rights**, so a deployed copy keeps working no matter what, and you could fork and carry on if you ever needed to. Commercial support and an SLA are available for production use. Details in [GOVERNANCE.md](GOVERNANCE.md). Contributions: [CONTRIBUTING.md](CONTRIBUTING.md).
---
## Licensing
NowAIKit is free to use and source available under the [Elastic License 2.0](LICENSE). Read it, run it, fork it, and use it inside your organisation, including to deliver ServiceNow work for clients, at no charge.
Providing NowAIKit as a hosted or managed service, reselling it, or embedding it in a paid product needs a commercial agreement. For that, or for enterprise hosting, support and consulting, contact **enterprise@nowaikit.com**. See [NOTICE](NOTICE).
---
Β© 2026 NowAIKit Β· Source available under the [Elastic License 2.0](LICENSE)
TDQS
Scored across 506 tools
With 506 tools, many overlap in purpose. For example, query_records, fluent_query, nlq_query, natural_language_search, and ai_search all retrieve records via different mechanisms, creating ambiguity. There are also multiple Virtual Agent topic tools (get_va_topic, get_virtual_agent_topics, list_va_topics_full) that could be confused. The search_tools meta-tool mitigates but does not eliminate the problem.
Most tools follow a verb_noun pattern (get_, list_, create_, update_, delete_), but there are notable exceptions like change_readiness, service_health, visualize_aggregate, aggregate_report, ml_process_optimization, fluent_version, and cmdb_health_dashboard which are noun phrases or use prefixes. This inconsistency, while readable, breaks the predictable pattern.
506 tools is an extreme count for any MCP server. Even for a multi-module ServiceNow integration, this is far beyond what an agent can effectively navigate. The introduction of a search_tools discovery tool is a symptom of the bloat.
The tool set covers an extremely broad range of ServiceNow modules: ITSM, HR, CSM, Security, GRC, CMDB, Flow Designer, Performance Analytics, Portal, UI Builder, Mobile, DevOps, and developer tools (Fluent SDK, scripting). Generic CRUD tools (query_records, get_record, create_record, update_record, delete_record, bulk_create_records) fill any missing entity-specific operations, so there are no obvious dead ends.