@aartiq/servicenow-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/.env.example +84 -0
  2. package/LICENSE +21 -0
  3. package/README.md +910 -0
  4. package/dist/cli/auth.d.ts +14 -0
  5. package/dist/cli/auth.d.ts.map +1 -0
  6. package/dist/cli/auth.js +179 -0
  7. package/dist/cli/auth.js.map +1 -0
  8. package/dist/cli/config-store.d.ts +28 -0
  9. package/dist/cli/config-store.d.ts.map +1 -0
  10. package/dist/cli/config-store.js +64 -0
  11. package/dist/cli/config-store.js.map +1 -0
  12. package/dist/cli/detect-clients.d.ts +16 -0
  13. package/dist/cli/detect-clients.d.ts.map +1 -0
  14. package/dist/cli/detect-clients.js +151 -0
  15. package/dist/cli/detect-clients.js.map +1 -0
  16. package/dist/cli/index.d.ts +3 -0
  17. package/dist/cli/index.d.ts.map +1 -0
  18. package/dist/cli/index.js +129 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/cli/setup.d.ts +4 -0
  21. package/dist/cli/setup.d.ts.map +1 -0
  22. package/dist/cli/setup.js +574 -0
  23. package/dist/cli/setup.js.map +1 -0
  24. package/dist/cli/writers/index.d.ts +9 -0
  25. package/dist/cli/writers/index.d.ts.map +1 -0
  26. package/dist/cli/writers/index.js +140 -0
  27. package/dist/cli/writers/index.js.map +1 -0
  28. package/dist/prompts/index.d.ts +25 -0
  29. package/dist/prompts/index.d.ts.map +1 -0
  30. package/dist/prompts/index.js +38 -0
  31. package/dist/prompts/index.js.map +1 -0
  32. package/dist/prompts/itsm.d.ts +20 -0
  33. package/dist/prompts/itsm.d.ts.map +1 -0
  34. package/dist/prompts/itsm.js +110 -0
  35. package/dist/prompts/itsm.js.map +1 -0
  36. package/dist/prompts/user-prompts.d.ts +3 -0
  37. package/dist/prompts/user-prompts.d.ts.map +1 -0
  38. package/dist/prompts/user-prompts.js +35 -0
  39. package/dist/prompts/user-prompts.js.map +1 -0
  40. package/dist/resources/index.d.ts +26 -0
  41. package/dist/resources/index.d.ts.map +1 -0
  42. package/dist/resources/index.js +99 -0
  43. package/dist/resources/index.js.map +1 -0
  44. package/dist/server.d.ts +3 -0
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +129 -0
  47. package/dist/server.js.map +1 -0
  48. package/dist/servicenow/client.d.ts +135 -0
  49. package/dist/servicenow/client.d.ts.map +1 -0
  50. package/dist/servicenow/client.js +803 -0
  51. package/dist/servicenow/client.js.map +1 -0
  52. package/dist/servicenow/instances.d.ts +28 -0
  53. package/dist/servicenow/instances.d.ts.map +1 -0
  54. package/dist/servicenow/instances.js +204 -0
  55. package/dist/servicenow/instances.js.map +1 -0
  56. package/dist/servicenow/types.d.ts +574 -0
  57. package/dist/servicenow/types.d.ts.map +1 -0
  58. package/dist/servicenow/types.js +3 -0
  59. package/dist/servicenow/types.js.map +1 -0
  60. package/dist/tools/agile.d.ts +225 -0
  61. package/dist/tools/agile.d.ts.map +1 -0
  62. package/dist/tools/agile.js +205 -0
  63. package/dist/tools/agile.js.map +1 -0
  64. package/dist/tools/app-studio.d.ts +139 -0
  65. package/dist/tools/app-studio.d.ts.map +1 -0
  66. package/dist/tools/app-studio.js +139 -0
  67. package/dist/tools/app-studio.js.map +1 -0
  68. package/dist/tools/atf.d.ts +144 -0
  69. package/dist/tools/atf.d.ts.map +1 -0
  70. package/dist/tools/atf.js +186 -0
  71. package/dist/tools/atf.js.map +1 -0
  72. package/dist/tools/catalog.d.ts +628 -0
  73. package/dist/tools/catalog.d.ts.map +1 -0
  74. package/dist/tools/catalog.js +397 -0
  75. package/dist/tools/catalog.js.map +1 -0
  76. package/dist/tools/change.d.ts +347 -0
  77. package/dist/tools/change.d.ts.map +1 -0
  78. package/dist/tools/change.js +213 -0
  79. package/dist/tools/change.js.map +1 -0
  80. package/dist/tools/core.d.ts +540 -0
  81. package/dist/tools/core.d.ts.map +1 -0
  82. package/dist/tools/core.js +373 -0
  83. package/dist/tools/core.js.map +1 -0
  84. package/dist/tools/csm.d.ts +401 -0
  85. package/dist/tools/csm.d.ts.map +1 -0
  86. package/dist/tools/csm.js +255 -0
  87. package/dist/tools/csm.js.map +1 -0
  88. package/dist/tools/deployment.d.ts +366 -0
  89. package/dist/tools/deployment.d.ts.map +1 -0
  90. package/dist/tools/deployment.js +181 -0
  91. package/dist/tools/deployment.js.map +1 -0
  92. package/dist/tools/devops.d.ts +236 -0
  93. package/dist/tools/devops.d.ts.map +1 -0
  94. package/dist/tools/devops.js +207 -0
  95. package/dist/tools/devops.js.map +1 -0
  96. package/dist/tools/flow.d.ts +496 -0
  97. package/dist/tools/flow.d.ts.map +1 -0
  98. package/dist/tools/flow.js +348 -0
  99. package/dist/tools/flow.js.map +1 -0
  100. package/dist/tools/hrsd.d.ts +789 -0
  101. package/dist/tools/hrsd.d.ts.map +1 -0
  102. package/dist/tools/hrsd.js +377 -0
  103. package/dist/tools/hrsd.js.map +1 -0
  104. package/dist/tools/incident.d.ts +256 -0
  105. package/dist/tools/incident.d.ts.map +1 -0
  106. package/dist/tools/incident.js +163 -0
  107. package/dist/tools/incident.js.map +1 -0
  108. package/dist/tools/index.d.ts +11514 -0
  109. package/dist/tools/index.d.ts.map +1 -0
  110. package/dist/tools/index.js +276 -0
  111. package/dist/tools/index.js.map +1 -0
  112. package/dist/tools/integration.d.ts +603 -0
  113. package/dist/tools/integration.d.ts.map +1 -0
  114. package/dist/tools/integration.js +510 -0
  115. package/dist/tools/integration.js.map +1 -0
  116. package/dist/tools/itam.d.ts +462 -0
  117. package/dist/tools/itam.d.ts.map +1 -0
  118. package/dist/tools/itam.js +306 -0
  119. package/dist/tools/itam.js.map +1 -0
  120. package/dist/tools/knowledge.d.ts +187 -0
  121. package/dist/tools/knowledge.d.ts.map +1 -0
  122. package/dist/tools/knowledge.js +161 -0
  123. package/dist/tools/knowledge.js.map +1 -0
  124. package/dist/tools/ml.d.ts +263 -0
  125. package/dist/tools/ml.d.ts.map +1 -0
  126. package/dist/tools/ml.js +251 -0
  127. package/dist/tools/ml.js.map +1 -0
  128. package/dist/tools/mobile.d.ts +352 -0
  129. package/dist/tools/mobile.d.ts.map +1 -0
  130. package/dist/tools/mobile.js +122 -0
  131. package/dist/tools/mobile.js.map +1 -0
  132. package/dist/tools/notification.d.ts +590 -0
  133. package/dist/tools/notification.d.ts.map +1 -0
  134. package/dist/tools/notification.js +382 -0
  135. package/dist/tools/notification.js.map +1 -0
  136. package/dist/tools/now-assist.d.ts +300 -0
  137. package/dist/tools/now-assist.d.ts.map +1 -0
  138. package/dist/tools/now-assist.js +227 -0
  139. package/dist/tools/now-assist.js.map +1 -0
  140. package/dist/tools/performance.d.ts +447 -0
  141. package/dist/tools/performance.d.ts.map +1 -0
  142. package/dist/tools/performance.js +473 -0
  143. package/dist/tools/performance.js.map +1 -0
  144. package/dist/tools/portal.d.ts +530 -0
  145. package/dist/tools/portal.d.ts.map +1 -0
  146. package/dist/tools/portal.js +425 -0
  147. package/dist/tools/portal.js.map +1 -0
  148. package/dist/tools/problem.d.ts +110 -0
  149. package/dist/tools/problem.d.ts.map +1 -0
  150. package/dist/tools/problem.js +100 -0
  151. package/dist/tools/problem.js.map +1 -0
  152. package/dist/tools/reporting.d.ts +825 -0
  153. package/dist/tools/reporting.d.ts.map +1 -0
  154. package/dist/tools/reporting.js +460 -0
  155. package/dist/tools/reporting.js.map +1 -0
  156. package/dist/tools/script.d.ts +714 -0
  157. package/dist/tools/script.d.ts.map +1 -0
  158. package/dist/tools/script.js +629 -0
  159. package/dist/tools/script.js.map +1 -0
  160. package/dist/tools/security.d.ts +794 -0
  161. package/dist/tools/security.d.ts.map +1 -0
  162. package/dist/tools/security.js +425 -0
  163. package/dist/tools/security.js.map +1 -0
  164. package/dist/tools/sys-properties.d.ts +315 -0
  165. package/dist/tools/sys-properties.d.ts.map +1 -0
  166. package/dist/tools/sys-properties.js +372 -0
  167. package/dist/tools/sys-properties.js.map +1 -0
  168. package/dist/tools/task.d.ts +82 -0
  169. package/dist/tools/task.d.ts.map +1 -0
  170. package/dist/tools/task.js +96 -0
  171. package/dist/tools/task.js.map +1 -0
  172. package/dist/tools/updateset.d.ts +159 -0
  173. package/dist/tools/updateset.d.ts.map +1 -0
  174. package/dist/tools/updateset.js +212 -0
  175. package/dist/tools/updateset.js.map +1 -0
  176. package/dist/tools/user.d.ts +206 -0
  177. package/dist/tools/user.d.ts.map +1 -0
  178. package/dist/tools/user.js +163 -0
  179. package/dist/tools/user.js.map +1 -0
  180. package/dist/tools/va.d.ts +217 -0
  181. package/dist/tools/va.d.ts.map +1 -0
  182. package/dist/tools/va.js +178 -0
  183. package/dist/tools/va.js.map +1 -0
  184. package/dist/tools/workspace.d.ts +565 -0
  185. package/dist/tools/workspace.d.ts.map +1 -0
  186. package/dist/tools/workspace.js +201 -0
  187. package/dist/tools/workspace.js.map +1 -0
  188. package/dist/utils/errors.d.ts +6 -0
  189. package/dist/utils/errors.d.ts.map +1 -0
  190. package/dist/utils/errors.js +11 -0
  191. package/dist/utils/errors.js.map +1 -0
  192. package/dist/utils/logging.d.ts +7 -0
  193. package/dist/utils/logging.d.ts.map +1 -0
  194. package/dist/utils/logging.js +15 -0
  195. package/dist/utils/logging.js.map +1 -0
  196. package/dist/utils/permissions.d.ts +21 -0
  197. package/dist/utils/permissions.d.ts.map +1 -0
  198. package/dist/utils/permissions.js +54 -0
  199. package/dist/utils/permissions.js.map +1 -0
  200. package/instances.example.json +71 -0
  201. package/package.json +107 -0
package/README.md ADDED
@@ -0,0 +1,910 @@
1
+ <div align="center">
2
+
3
+ [![AI-Powered](https://img.shields.io/badge/AI--Powered-Claude%20%7C%20ChatGPT%20%7C%20Gemini%20%7C%20Groq%20%7C%20OpenRouter-00D4AA?style=flat-square)](https://github.com/aartiq/servicenow-mcp)
4
+ [![Tools](https://img.shields.io/badge/400%2B%20Tools-All%20Modules-0F4C81?style=flat-square)](docs/TOOLS.md)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
6
+ [![License: MIT](https://img.shields.io/badge/license-MIT-f59e0b?style=flat-square)](LICENSE)
7
+ [![ServiceNow](https://img.shields.io/badge/ServiceNow-Latest%20Release-00D4AA?style=flat-square)](https://developer.servicenow.com)
8
+ [![MCP](https://img.shields.io/badge/MCP-Model%20Context%20Protocol-0F4C81?style=flat-square)](https://modelcontextprotocol.io)
9
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)
10
+
11
+ <br/>
12
+
13
+ # servicenow-mcp
14
+
15
+ ## The Most Comprehensive ServiceNow MCP Server
16
+
17
+ > **400+ tools · 31+ ServiceNow modules · 5-minute setup · MIT licensed · Works with any AI**
18
+
19
+ **servicenow-mcp** is the most comprehensive, production-ready MCP server for ServiceNow — and the only one that truly does it all.
20
+
21
+ Connect **Claude**, **ChatGPT**, **Gemini**, **Cursor**, **GitHub Copilot**, or any MCP-compatible AI in under 5 minutes. Then let your AI read, build, deploy, and automate across every ServiceNow module — incidents, changes, scripts, flows, portals, integrations, HRSD, CSM, and more.
22
+
23
+ Ask in plain English. Deploy business rules from chat. Run ATF suites on demand. Query dev, staging, and prod simultaneously. Automate across multiple customer tenants without switching tabs. **Your AI, your instance, your rules.**
24
+
25
+ **Any AI. Any instance. Any scale. 100% open-source.**
26
+
27
+ > **Keywords:** ServiceNow MCP server · Model Context Protocol · ServiceNow AI · ITSM automation · ServiceNow Claude · ServiceNow ChatGPT · ServiceNow Cursor · ServiceNow Copilot · ServiceNow LLM · ServiceNow agent · MCP tools · ServiceNow API · agentic AI · ServiceNow developer tools
28
+
29
+ <br/>
30
+
31
+ | | |
32
+ |---|---|
33
+ | **Beginners** | Zero ServiceNow API knowledge needed. Connect in 5 minutes. Ask in plain English. Free PDI at developer.servicenow.com. |
34
+ | **Developers** | Write, deploy, test, and manage scripts, flows, widgets, and integrations at AI speed — 10x faster. |
35
+ | **Architects & MSPs** | Orchestrate multi-step autonomous workflows. Compare environments. Manage multiple customer tenants in one session. |
36
+
37
+ <br/>
38
+
39
+ </div>
40
+
41
+ ---
42
+
43
+ ## Who Is This For?
44
+
45
+ <table>
46
+ <tr>
47
+ <td width="33%" valign="top">
48
+
49
+ ### Beginners
50
+ **Zero ServiceNow API knowledge required.**
51
+
52
+ Connect Claude Desktop or Cursor to your free PDI in 5 minutes. Ask questions in plain English, browse incidents, search KB articles, place catalog orders, monitor SLAs — all from your AI chat window. No code. No Postman. No documentation diving. Just ask.
53
+
54
+ *Start here → [5-Minute Quickstart](#getting-started)*
55
+
56
+ </td>
57
+ <td width="33%" valign="top">
58
+
59
+ ### Developers
60
+ **10x faster with AI as your development partner.**
61
+
62
+ Write business rules, deploy client scripts, manage UI Policies and ACLs, create Service Portal widgets, configure REST Messages, manage Transform Maps, and update changesets — all in plain English. Full TypeScript types, ATF integration, and role-based packages built in.
63
+
64
+ *Explore → [Platform Developer Package](#role-based-tool-packages)*
65
+
66
+ </td>
67
+ <td width="33%" valign="top">
68
+
69
+ ### Architects, Admins & MSPs
70
+ **Autonomous workflows. Multi-instance. Multi-customer.**
71
+
72
+ Trigger Agentic Playbooks, orchestrate multi-step ITSM/HRSD/CSM processes, compare environments side by side, manage dozens of customer tenants in one session, and run full data quality audits — at AI speed, across your entire ServiceNow estate.
73
+
74
+ *Deep dive → [Now Assist & Agentic Guide](docs/NOW_ASSIST.md)*
75
+
76
+ </td>
77
+ </tr>
78
+ </table>
79
+
80
+ ---
81
+
82
+ ## Why servicenow-mcp
83
+
84
+ <table>
85
+ <tr>
86
+ <td width="33%" valign="top">
87
+
88
+ ### Fully Autonomous AI Operations
89
+
90
+ Your AI doesn't just answer questions — it *acts*. Create incidents, write and deploy scripts, trigger flows, fire events, upload attachments, manage changesets, and run full ATF suites — end-to-end, without manual steps. Native Now Assist Agentic Playbook support for next-generation ServiceNow AI automation.
91
+
92
+ </td>
93
+ <td width="33%" valign="top">
94
+
95
+ ### Works With Every AI, Out of the Box
96
+
97
+ **Claude, ChatGPT, Gemini, Grok, Cursor, Windsurf, GitHub Copilot, Amazon Q, JetBrains, Continue.dev, Cline, Zed, Google AI Studio, Ollama** — all supported out of the box. Any MCP-compatible client. Any custom Python or TypeScript agent. One server, every AI platform, zero lock-in.
98
+
99
+ </td>
100
+ <td width="33%" valign="top">
101
+
102
+ ### Unmatched Platform Coverage
103
+
104
+ **400+ production-ready tools** across every ServiceNow domain — ITSM, ITOM, HRSD, CSM, SecOps, GRC, Agile, ATF, Flow Designer, Scripting, Now Assist, Service Portal, Integration Hub, Performance Analytics, System Properties, Update Sets, Virtual Agent, ITAM, DevOps, Machine Learning, Workspace/UIB, Mobile, and Deployment. Nothing else comes close.
105
+
106
+ </td>
107
+ </tr>
108
+ <tr>
109
+ <td width="33%" valign="top">
110
+
111
+ ### Role-Based Tool Intelligence
112
+
113
+ Fourteen pre-built persona packages — service desk, platform developer, portal developer, integration engineer, ITOM engineer, AI developer, ITAM analyst, DevOps engineer, and more. Each exposes exactly the right tools for that role. Reduce noise, enforce least-privilege, and configure once per team.
114
+
115
+ </td>
116
+ <td width="33%" valign="top">
117
+
118
+ ### Safe by Default, Powerful When Needed
119
+
120
+ A five-tier permission model keeps your instance protected. **Read is always on.** Write, CMDB, Scripting, Now Assist, and ATF capabilities each require an explicit opt-in flag. No AI can accidentally modify your production data. Scale permissions as your confidence grows — without touching code.
121
+
122
+ </td>
123
+ <td width="33%" valign="top">
124
+
125
+ ### True Multi-Instance & Multi-Customer
126
+
127
+ Connect to **unlimited ServiceNow instances** from one session — dev, staging, prod, *and* multiple customer tenants simultaneously. Pass `instance: "acme_prod"` on any tool call, or `switch_instance` globally. MSPs, consultants, and enterprise teams can compare, query, and automate across every environment at once. No other ServiceNow MCP server does this.
128
+
129
+ </td>
130
+ </tr>
131
+ </table>
132
+
133
+ ---
134
+
135
+ ## Quick Links
136
+
137
+ | Resource | Link |
138
+ |----------|------|
139
+ | All Tools Reference | [docs/TOOLS.md](docs/TOOLS.md) |
140
+ | Client Setup (All AI tools, beginner + advanced) | [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md) |
141
+ | Role-Based Tool Packages | [docs/TOOL_PACKAGES.md](docs/TOOL_PACKAGES.md) |
142
+ | Now Assist & AI Integration | [docs/NOW_ASSIST.md](docs/NOW_ASSIST.md) |
143
+ | ATF Testing Guide | [docs/ATF.md](docs/ATF.md) |
144
+ | Scripting Management | [docs/SCRIPTING.md](docs/SCRIPTING.md) |
145
+ | Reporting & Analytics | [docs/REPORTING.md](docs/REPORTING.md) |
146
+ | Multi-Instance Setup | [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md) |
147
+ | 120+ Real-World Examples | [EXAMPLES.md](EXAMPLES.md) |
148
+ | Changelog | [CHANGELOG.md](CHANGELOG.md) |
149
+
150
+ ---
151
+
152
+ ## Module Coverage
153
+
154
+ Domain modules covering the full ServiceNow platform:
155
+
156
+ | Module | Key Capabilities |
157
+ |--------|-----------------|
158
+ | Core & CMDB | Record query, schema discovery, CMDB CIs, ITOM Discovery, MID Servers, multi-instance management |
159
+ | Incident Management | Create, update, resolve, close, work notes, comments |
160
+ | Problem Management | Problem records, root cause analysis, known errors |
161
+ | Change Management | Create, get, update, submit for approval, close change requests |
162
+ | Task Management | Generic tasks, my-task lists, completions |
163
+ | Knowledge Base | Search, create, update, publish KB articles |
164
+ | Service Catalog & Approvals | Catalog browsing, create/update items, order items, SLA tracking, approval workflows, approval rules |
165
+ | User & Group Management | Users, groups, membership, role assignments |
166
+ | Reporting & Analytics | Aggregate queries, trend analysis, create/update reports, scheduled job CRUD, run history |
167
+ | ATF Testing | Test suites, test execution, ATF Failure Insight |
168
+ | Now Assist / AI | NLQ, AI Search, summaries, resolution suggestions, Agentic Playbooks |
169
+ | Scripting | Business rules, script includes, client script CRUD, UI Policies, UI Actions, ACL management, changesets |
170
+ | Agile / Scrum | Stories, epics, sprints, scrum tasks |
171
+ | HR Service Delivery (HRSD) | HR cases, HR services, employee profiles, onboarding/offboarding |
172
+ | Customer Service Management (CSM) | Customer cases, accounts, contacts, products, SLAs |
173
+ | Security Operations & GRC | SecOps incidents, vulnerabilities, GRC risks, controls, threat intel |
174
+ | Flow Designer & Process Automation | Flows, subflows, triggers, executions, Process Automation playbooks |
175
+ | Service Portal & UI Builder | Create/list portals & pages, widgets (create/update/deploy), Next Experience apps/pages, themes |
176
+ | Integration Hub | REST Messages, Transform Maps, Import Sets, Event Registry, OAuth apps, credential aliases |
177
+ | Notifications & Attachments | Email notifications, email logs, file attachments (upload/list/delete), templates, subscriptions |
178
+ | Performance Analytics | PA indicators/scorecards, time-series, create/update dashboards, PA jobs, data quality checks |
179
+ | System Properties | Get, set, bulk operations, validate, export/import, audit history |
180
+ | Update Set Management | Create, switch, preview, complete, export, auto-ensure active set |
181
+ | Virtual Agent (VA) | Topic authoring, conversation history, categories, topic listing |
182
+ | IT Asset Management (ITAM) | Assets, software licenses, contracts, compliance reporting |
183
+ | DevOps & Pipeline Tracking | Pipelines, deployments, change governance, DORA metrics |
184
+ | Scoped Applications (App Studio) | List, get, create, and update scoped application records |
185
+
186
+ ---
187
+
188
+ ## Authentication
189
+
190
+ Two authentication methods are supported:
191
+
192
+ | Method | Best For |
193
+ |--------|----------|
194
+ | **Basic Auth** | Development, personal instances, quick setup |
195
+ | **OAuth 2.0** (client credentials / password grant) | Production deployments, service accounts |
196
+
197
+ For OAuth setup in ServiceNow, see [docs/SERVICENOW_OAUTH_SETUP.md](docs/SERVICENOW_OAUTH_SETUP.md).
198
+
199
+ ---
200
+
201
+ ## Permission System
202
+
203
+ A five-tier permission model keeps your instance safe by default:
204
+
205
+ | Tier | Environment Variable | Covers |
206
+ |------|---------------------|--------|
207
+ | 0 — Read | *(always on)* | All query and read operations |
208
+ | 1 — Write | `WRITE_ENABLED=true` | Create/update across ITSM, HRSD, CSM, Agile |
209
+ | 2 — CMDB Write | `CMDB_WRITE_ENABLED=true` | CI create/update in the CMDB |
210
+ | 3 — Scripting | `SCRIPTING_ENABLED=true` | Business rules, script includes, changesets |
211
+ | 4 — Now Assist | `NOW_ASSIST_ENABLED=true` | AI Agentic Playbooks, NLQ, AI Search |
212
+
213
+ ---
214
+
215
+ ## Role-Based Tool Packages
216
+
217
+ Set `MCP_TOOL_PACKAGE` to expose only the tools relevant to each persona:
218
+
219
+ | Package | Persona | Tools Included |
220
+ |---------|---------|---------------|
221
+ | `full` | Administrators | All tools (400+) |
222
+ | `service_desk` | L1/L2 Agents | Incidents, tasks, approvals, KB, SLA |
223
+ | `change_coordinator` | Change Managers | Changes (create/approve/close), CAB, CMDB, approvals |
224
+ | `knowledge_author` | KB Authors | Knowledge base create/publish |
225
+ | `catalog_builder` | Catalog Admins | Catalog, users, groups |
226
+ | `system_administrator` | Sys Admins | Users, groups, reports, logs, notifications, attachments, ACLs, PA |
227
+ | `platform_developer` | Developers | Scripts, UI Policies, UI Actions, ACLs, client scripts, ATF, changesets |
228
+ | `portal_developer` | Portal/UX Devs | Portals, pages, widgets (create/update), UI Policies, UI Actions, client scripts |
229
+ | `integration_engineer` | Integration Devs | REST Messages, Transform Maps, Import Sets, Events, OAuth, credentials |
230
+ | `itom_engineer` | ITOM Engineers | CMDB, Discovery, MID servers, events |
231
+ | `agile_manager` | Scrum Masters | Stories, epics, sprints |
232
+ | `ai_developer` | AI Builders | Now Assist, NLQ, Agentic Playbooks |
233
+
234
+ ---
235
+
236
+ ## Getting Started
237
+
238
+ ### Option A — Interactive Setup Wizard (Recommended)
239
+
240
+ ```bash
241
+ # Install globally (Node.js 20+ required)
242
+ npm install -g servicenow-mcp
243
+
244
+ # Run the wizard — detects your AI clients and writes config automatically
245
+ npx servicenow-mcp setup
246
+ ```
247
+
248
+ The wizard will:
249
+ 1. Ask for your ServiceNow instance URL + credentials
250
+ 2. Test the connection
251
+ 3. Let you pick a tool package and permission level
252
+ 4. Detect Claude Desktop, Cursor, VS Code, Windsurf, Continue.dev, Claude Code on your machine
253
+ 5. Write the config directly — no copy-paste, no manual JSON editing
254
+
255
+ ```
256
+ # Add a second instance later
257
+ servicenow-mcp setup --add
258
+
259
+ # Manage instances
260
+ servicenow-mcp instances list
261
+ ```
262
+
263
+ ### Option B — Manual Setup
264
+
265
+ ```bash
266
+ git clone https://github.com/aartiq/servicenow-mcp.git && cd servicenow-mcp
267
+ npm install && npm run build
268
+ cp .env.example .env # fill in your ServiceNow credentials
269
+ ```
270
+
271
+ Then point your AI client at `dist/server.js` — see [Supported AI Clients](#supported-ai-clients) below.
272
+
273
+ > **No ServiceNow instance?** Get a free Personal Developer Instance at [developer.servicenow.com](https://developer.servicenow.com) — ready in minutes.
274
+
275
+ **Full installation guide → [docs/INSTALLATION.md](docs/INSTALLATION.md)**
276
+
277
+ ---
278
+
279
+ ## Client Setup Guides
280
+
281
+ Step-by-step setup for every major AI client — Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, GitHub Copilot, Continue.dev, Cline, JetBrains, Amazon Q, Google AI Studio, ChatGPT, Grok, Ollama, and more.
282
+
283
+ **Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)**
284
+
285
+ For quick setup snippets, see the [Supported AI Clients](#supported-ai-clients) section below.
286
+ ---
287
+
288
+ ## Example Interactions
289
+
290
+ Once connected, ask your AI assistant in plain language:
291
+
292
+ **ITSM & Change Management:**
293
+ ```
294
+ Show me all open P1 incidents assigned to the Network Operations group.
295
+ ```
296
+ ```
297
+ Create a normal change request for deploying the new API gateway — implementation planned for Saturday midnight.
298
+ ```
299
+ ```
300
+ What CMDB CIs does the ERP application depend on?
301
+ ```
302
+
303
+ **Scripting & Development:**
304
+ ```
305
+ List all client scripts on the incident table and show me the ones that fire on form load.
306
+ ```
307
+ ```
308
+ Create a UI action button "Escalate to L3" on the incident form that assigns the ticket to the L3-Support group.
309
+ ```
310
+ ```
311
+ Show me all ACL rules for the change_request table that restrict the "delete" operation.
312
+ ```
313
+
314
+ **Service Portal & UI Builder:**
315
+ ```
316
+ List all widgets in the Service Portal that contain "catalog" in their name.
317
+ ```
318
+ ```
319
+ Get the full source code of the "Stock Ticker" widget so I can update its server script.
320
+ ```
321
+ ```
322
+ Create a new portal widget called "My Approvals Widget" with a simple Angular template that lists pending approvals.
323
+ ```
324
+
325
+ **Integrations & Events:**
326
+ ```
327
+ List all REST Message definitions that connect to external APIs.
328
+ ```
329
+ ```
330
+ Show me all transform maps that target the incident table.
331
+ ```
332
+ ```
333
+ Fire the custom event "myapp.ticket.escalated" on incident INC0012345.
334
+ ```
335
+
336
+ For 120+ real-world examples with inputs, outputs, and advanced workflows, see [EXAMPLES.md](EXAMPLES.md).
337
+
338
+ ---
339
+
340
+ ## Slash Commands & @ Mentions
341
+
342
+ Once connected, type `/` in Claude Desktop or Cursor to see built-in ServiceNow shortcuts:
343
+
344
+ | Command | What it does |
345
+ |---------|-------------|
346
+ | `/morning-standup` | P1/P2 open incidents, changes due today, SLA breaches |
347
+ | `/my-tickets` | All open tasks/incidents assigned to you |
348
+ | `/p1-alerts` | Active P1 incidents with time-open and assignee |
349
+ | `/my-changes` | Your pending change requests and approval status |
350
+ | `/create-incident` | Guided incident creation |
351
+ | `/sla-breaches` | Records currently breaching SLA |
352
+ | `/ci-health` | CMDB CI health check |
353
+ | `/run-atf` | Trigger ATF test suite |
354
+ | `/switch-instance` | Interactive instance picker |
355
+ | `/knowledge-search` | Search KB articles |
356
+ | `/deploy-updateset` | Guided update set commit |
357
+
358
+ Type `@` to pull live ServiceNow data into your AI context:
359
+
360
+ | Mention | Returns |
361
+ |---------|---------|
362
+ | `@my-incidents` | Your open incidents |
363
+ | `@open-changes` | Pending change requests |
364
+ | `@sla-breaches` | Records breaching SLA now |
365
+ | `@instance:info` | Current instance metadata |
366
+ | `@ci:<name>` | CMDB CI by name |
367
+ | `@kb:<title>` | Knowledge article by title |
368
+
369
+ Add your own commands in `servicenow-mcp.commands.json`:
370
+
371
+ ```json
372
+ [
373
+ {
374
+ "name": "my-p1-runbook",
375
+ "description": "P1 runbook for my team",
376
+ "template": "List all P1 incidents in the Network category. For each: number, description, assignee, time open. Flag SLA breaches."
377
+ }
378
+ ]
379
+ ```
380
+
381
+ ## Advanced Configuration
382
+
383
+ | Topic | Guide |
384
+ |-------|-------|
385
+ | OAuth 2.0 setup (ServiceNow OAuth app creation) | [docs/SERVICENOW_OAUTH_SETUP.md](docs/SERVICENOW_OAUTH_SETUP.md) |
386
+ | Multi-instance / multi-customer (dev, staging, prod, tenants) | [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md) |
387
+ | Role-based tool packages | [docs/TOOL_PACKAGES.md](docs/TOOL_PACKAGES.md) |
388
+ | All environment variables reference | [docs/INSTALLATION.md](docs/INSTALLATION.md) |
389
+
390
+ ---
391
+
392
+ ## Supported AI Clients
393
+
394
+ **Any MCP-compatible AI works.** servicenow-mcp has been tested with every major AI assistant, editor, and agent framework. Pick yours and follow the 3-step setup below.
395
+
396
+ ### AI Assistants & Chat
397
+
398
+ <details>
399
+ <summary><b>Claude Desktop</b> — Anthropic (Mac / Windows / Linux)</summary>
400
+
401
+ 1. Install Claude Desktop from [claude.ai/download](https://claude.ai/download)
402
+ 2. Edit config:
403
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
404
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
405
+ 3. Add this block — **single instance** (replace path and credentials):
406
+
407
+ ```json
408
+ {
409
+ "mcpServers": {
410
+ "servicenow-mcp": {
411
+ "command": "node",
412
+ "args": ["/absolute/path/to/servicenow-mcp/dist/server.js"],
413
+ "env": {
414
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
415
+ "SERVICENOW_AUTH_METHOD": "basic",
416
+ "SERVICENOW_BASIC_USERNAME": "admin",
417
+ "SERVICENOW_BASIC_PASSWORD": "your_password",
418
+ "WRITE_ENABLED": "false"
419
+ }
420
+ }
421
+ }
422
+ }
423
+ ```
424
+
425
+ Or use **multi-instance** (dev + staging + prod, or multiple customer tenants):
426
+
427
+ ```json
428
+ {
429
+ "mcpServers": {
430
+ "servicenow-mcp": {
431
+ "command": "node",
432
+ "args": ["/absolute/path/to/servicenow-mcp/dist/server.js"],
433
+ "env": {
434
+ "SN_INSTANCES_CONFIG": "/absolute/path/to/instances.json"
435
+ }
436
+ }
437
+ }
438
+ }
439
+ ```
440
+
441
+ Copy `instances.example.json` → `instances.json`, fill in your instances, then ask:
442
+ > *"List instances"* → *"Switch to prod"* → *"Show me all P1 incidents"*
443
+ > *"Get open changes from customer_acme"* (uses `instance` parameter per-call)
444
+
445
+ 4. Restart Claude Desktop. The hammer icon confirms connection.
446
+
447
+ Full guide → [clients/claude-desktop/SETUP.md](clients/claude-desktop/SETUP.md) | [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md)
448
+ </details>
449
+
450
+ <details>
451
+ <summary><b>ChatGPT / OpenAI</b> (API)</summary>
452
+
453
+ OpenAI supports MCP via the **Responses API** (`mcp` tool type) in the latest SDK (v1.50+):
454
+
455
+ ```python
456
+ from openai import OpenAI
457
+ import os, subprocess
458
+
459
+ # Start servicenow-mcp as a subprocess MCP server
460
+ proc = subprocess.Popen(
461
+ ["node", "/path/to/servicenow-mcp/dist/server.js"],
462
+ stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
463
+ env={**os.environ,
464
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
465
+ "SERVICENOW_AUTH_METHOD": "basic",
466
+ "SERVICENOW_BASIC_USERNAME": "admin",
467
+ "SERVICENOW_BASIC_PASSWORD": "your_password"}
468
+ )
469
+
470
+ client = OpenAI()
471
+ response = client.responses.create(
472
+ model="gpt-4o",
473
+ tools=[{"type": "mcp", "server_label": "servicenow-mcp"}],
474
+ input="Show me all open P1 incidents"
475
+ )
476
+ ```
477
+
478
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
479
+ </details>
480
+
481
+ <details>
482
+ <summary><b>Google Gemini / Vertex AI</b> (API)</summary>
483
+
484
+ 1. Install servicenow-mcp: `npm install -g servicenow-mcp`
485
+ 2. Use the Python client in `clients/gemini/`:
486
+
487
+ ```bash
488
+ pip install google-generativeai
489
+ python clients/gemini/servicenow_gemini_client.py
490
+ ```
491
+
492
+ Full guide → [clients/gemini/SETUP.md](clients/gemini/SETUP.md)
493
+ </details>
494
+
495
+ ---
496
+
497
+ ### AI Code Editors
498
+
499
+ <details>
500
+ <summary><b>Cursor</b> — AI-first code editor</summary>
501
+
502
+ 1. Open Cursor → Settings → MCP
503
+ 2. Add server config:
504
+
505
+ ```json
506
+ {
507
+ "mcpServers": {
508
+ "servicenow-mcp": {
509
+ "command": "node",
510
+ "args": ["/absolute/path/to/servicenow-mcp/dist/server.js"],
511
+ "env": {
512
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
513
+ "SERVICENOW_AUTH_METHOD": "basic",
514
+ "SERVICENOW_BASIC_USERNAME": "admin",
515
+ "SERVICENOW_BASIC_PASSWORD": "your_password",
516
+ "WRITE_ENABLED": "true",
517
+ "SCRIPTING_ENABLED": "true"
518
+ }
519
+ }
520
+ }
521
+ }
522
+ ```
523
+ 3. Restart Cursor. Ask in Chat: *"List all open P1 incidents"*
524
+
525
+ **Multi-instance:** Replace the env block with `"SN_INSTANCES_CONFIG": "/path/to/instances.json"` to connect to multiple tenants.
526
+
527
+ Full guide → [clients/cursor/SETUP.md](clients/cursor/SETUP.md)
528
+ </details>
529
+
530
+ <details>
531
+ <summary><b>Windsurf (Codeium)</b> — AI-native editor</summary>
532
+
533
+ 1. Open Windsurf → Cascade → Configure MCP
534
+ 2. Add the same JSON block as Cursor above
535
+ 3. Reload Windsurf window
536
+
537
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
538
+ </details>
539
+
540
+ <details>
541
+ <summary><b>Zed Editor</b> — collaborative AI editor</summary>
542
+
543
+ 1. Open Zed → `~/.config/zed/settings.json`
544
+ 2. Add under `"context_servers"`:
545
+
546
+ ```json
547
+ {
548
+ "context_servers": {
549
+ "servicenow-mcp": {
550
+ "command": { "path": "node", "args": ["/path/to/servicenow-mcp/dist/server.js"] },
551
+ "settings": {
552
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
553
+ "SERVICENOW_AUTH_METHOD": "basic",
554
+ "SERVICENOW_BASIC_USERNAME": "admin",
555
+ "SERVICENOW_BASIC_PASSWORD": "your_password"
556
+ }
557
+ }
558
+ }
559
+ }
560
+ ```
561
+
562
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
563
+ </details>
564
+
565
+ ---
566
+
567
+ ### IDE Extensions
568
+
569
+ <details>
570
+ <summary><b>VS Code</b> — Native MCP (v1.99+, no subscription required)</summary>
571
+
572
+ VS Code 1.99 and later includes built-in MCP support — no extension or subscription required.
573
+
574
+ 1. Install [VS Code 1.99+](https://code.visualstudio.com/download)
575
+ 2. Create `.vscode/mcp.json` in your workspace (or edit User settings):
576
+
577
+ ```json
578
+ {
579
+ "servers": {
580
+ "servicenow-mcp": {
581
+ "type": "stdio",
582
+ "command": "node",
583
+ "args": ["/absolute/path/to/servicenow-mcp/dist/server.js"],
584
+ "env": {
585
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
586
+ "SERVICENOW_AUTH_METHOD": "basic",
587
+ "SERVICENOW_BASIC_USERNAME": "admin",
588
+ "SERVICENOW_BASIC_PASSWORD": "your_password",
589
+ "WRITE_ENABLED": "true",
590
+ "SCRIPTING_ENABLED": "true"
591
+ }
592
+ }
593
+ }
594
+ }
595
+ ```
596
+
597
+ 3. Open the Command Palette (`Cmd/Ctrl+Shift+P`) → **MCP: List Servers** to verify the connection
598
+ 4. Open Copilot Chat (or any AI assistant in VS Code) and use `@servicenow-mcp` or just ask naturally
599
+
600
+ > **Tip:** Add `.vscode/mcp.json` to `.gitignore` if it contains credentials, or use environment variables from a `.env` file.
601
+
602
+ Full guide → [clients/vscode/SETUP.md](clients/vscode/SETUP.md)
603
+ </details>
604
+
605
+ <details>
606
+ <summary><b>VS Code — GitHub Copilot</b> (agent mode)</summary>
607
+
608
+ 1. Install VS Code + GitHub Copilot extension
609
+ 2. Create `.vscode/mcp.json` in your project:
610
+
611
+ ```json
612
+ {
613
+ "servers": {
614
+ "servicenow-mcp": {
615
+ "type": "stdio",
616
+ "command": "node",
617
+ "args": ["${workspaceFolder}/../../servicenow-mcp/dist/server.js"],
618
+ "env": {
619
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
620
+ "SERVICENOW_AUTH_METHOD": "basic",
621
+ "SERVICENOW_BASIC_USERNAME": "admin",
622
+ "SERVICENOW_BASIC_PASSWORD": "your_password"
623
+ }
624
+ }
625
+ }
626
+ }
627
+ ```
628
+ 3. Open Copilot Chat → Agent mode → `@servicenow-mcp`
629
+
630
+ Full guide → [clients/vscode/SETUP.md](clients/vscode/SETUP.md)
631
+ </details>
632
+
633
+ <details>
634
+ <summary><b>VS Code — Continue.dev</b> (open-source Copilot alternative)</summary>
635
+
636
+ 1. Install [Continue](https://marketplace.visualstudio.com/items?itemName=Continue.continue) from VS Code Marketplace
637
+ 2. Edit `~/.continue/config.json`:
638
+
639
+ ```json
640
+ {
641
+ "mcpServers": [
642
+ {
643
+ "name": "servicenow-mcp",
644
+ "command": "node",
645
+ "args": ["/path/to/servicenow-mcp/dist/server.js"],
646
+ "env": {
647
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
648
+ "SERVICENOW_AUTH_METHOD": "basic",
649
+ "SERVICENOW_BASIC_USERNAME": "admin",
650
+ "SERVICENOW_BASIC_PASSWORD": "your_password"
651
+ }
652
+ }
653
+ ]
654
+ }
655
+ ```
656
+
657
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
658
+ </details>
659
+
660
+ <details>
661
+ <summary><b>VS Code — Cline</b> (autonomous AI agent)</summary>
662
+
663
+ 1. Install [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev) from VS Code Marketplace
664
+ 2. Open Cline → MCP Servers → Add Server
665
+ 3. Enter the path to `servicenow-mcp/dist/server.js` and your environment variables
666
+
667
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
668
+ </details>
669
+
670
+ <details>
671
+ <summary><b>JetBrains AI Assistant</b> (IntelliJ IDEA, PyCharm, WebStorm, etc.)</summary>
672
+
673
+ 1. Install JetBrains AI Assistant plugin
674
+ 2. Go to Settings → Tools → AI Assistant → MCP Servers
675
+ 3. Add a new server with the path to `servicenow-mcp/dist/server.js`
676
+ 4. Set environment variables in the server configuration dialog
677
+
678
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
679
+ </details>
680
+
681
+ <details>
682
+ <summary><b>Amazon Q Developer</b> (AWS CLI + IDE)</summary>
683
+
684
+ 1. Install Amazon Q Developer extension for VS Code or IntelliJ
685
+ 2. Configure MCP via `~/.aws/amazonq/mcp.json`:
686
+
687
+ ```json
688
+ {
689
+ "mcpServers": {
690
+ "servicenow-mcp": {
691
+ "command": "node",
692
+ "args": ["/path/to/servicenow-mcp/dist/server.js"],
693
+ "env": {
694
+ "SERVICENOW_INSTANCE_URL": "https://yourinstance.service-now.com",
695
+ "SERVICENOW_AUTH_METHOD": "basic",
696
+ "SERVICENOW_BASIC_USERNAME": "admin",
697
+ "SERVICENOW_BASIC_PASSWORD": "your_password"
698
+ }
699
+ }
700
+ }
701
+ }
702
+ ```
703
+
704
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
705
+ </details>
706
+
707
+ ---
708
+
709
+ ### CLI & Terminal Agents
710
+
711
+ <details>
712
+ <summary><b>Claude Code / Claude CLI</b> — Anthropic's official CLI</summary>
713
+
714
+ ```bash
715
+ # Install Claude Code
716
+ npm install -g @anthropic-ai/claude-code
717
+
718
+ # Register servicenow-mcp as an MCP server
719
+ claude mcp add servicenow-mcp node /absolute/path/to/servicenow-mcp/dist/server.js \
720
+ --env SERVICENOW_INSTANCE_URL=https://yourinstance.service-now.com \
721
+ --env SERVICENOW_AUTH_METHOD=basic \
722
+ --env SERVICENOW_BASIC_USERNAME=admin \
723
+ --env SERVICENOW_BASIC_PASSWORD=your_password
724
+
725
+ # Verify
726
+ claude mcp list
727
+
728
+ # Use it
729
+ claude "Show me all unresolved P1 incidents"
730
+ ```
731
+
732
+ Full guide → [clients/claude-code/SETUP.md](clients/claude-code/SETUP.md)
733
+ </details>
734
+
735
+ <details>
736
+ <summary><b>Ollama</b> — run AI locally (Llama, Mistral, Phi, etc.)</summary>
737
+
738
+ 1. Install [Ollama](https://ollama.ai) and pull a model: `ollama pull llama3`
739
+ 2. Use an MCP-compatible client (e.g. Cline or Continue) configured to use Ollama as the model
740
+ 3. Point the MCP server at `servicenow-mcp/dist/server.js`
741
+
742
+ Full guide → [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md)
743
+ </details>
744
+
745
+ ---
746
+
747
+ ### Quick Reference
748
+
749
+ | Client | Type | Auth | Guide |
750
+ |--------|------|------|-------|
751
+ | Claude Desktop | Desktop app | Basic, OAuth | [Setup](clients/claude-desktop/SETUP.md) |
752
+ | Claude Code CLI | Terminal | Basic, OAuth | [Setup](clients/claude-code/SETUP.md) |
753
+ | Cursor | AI editor | Basic, OAuth | [Setup](clients/cursor/SETUP.md) |
754
+ | Windsurf | AI editor | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
755
+ | Zed | AI editor | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
756
+ | **VS Code** (Native MCP 1.99+) | IDE | Basic, OAuth | [Setup](clients/vscode/SETUP.md) |
757
+ | VS Code + GitHub Copilot | IDE | Basic, OAuth | [Setup](clients/vscode/SETUP.md) |
758
+ | VS Code + Continue.dev | IDE | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
759
+ | VS Code + Cline | IDE | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
760
+ | JetBrains AI | IDE | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
761
+ | Amazon Q Developer | IDE / CLI | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
762
+ | ChatGPT / OpenAI | API | Basic, OAuth | [Setup](clients/codex/SETUP.md) |
763
+ | **Google AI Studio** | API / Agent | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
764
+ | Google Gemini API | API | Basic, OAuth | [Setup](clients/gemini/SETUP.md) |
765
+ | Grok (xAI) | API | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
766
+ | Ollama (local) | Local | Basic | [Setup](docs/CLIENT_SETUP.md) |
767
+ | Anthropic Agent SDK | Python | Basic, OAuth | [Setup](docs/CLIENT_SETUP.md) |
768
+
769
+ ---
770
+
771
+ ## What's New in v1.0
772
+
773
+ Initial public release of **servicenow-mcp** — 400+ ServiceNow MCP tools, full CLI, multi-instance support, and 14 role-based tool packages. See [CHANGELOG.md](CHANGELOG.md) for details.
774
+
775
+ ---
776
+
777
+ ## Documentation
778
+
779
+ | Guide | Description |
780
+ |-------|-------------|
781
+ | [docs/TOOLS.md](docs/TOOLS.md) | Complete reference for all tools with parameters, return types, and permission requirements |
782
+ | [docs/CLIENT_SETUP.md](docs/CLIENT_SETUP.md) | Step-by-step beginner + advanced setup for all AI clients |
783
+ | [docs/TOOL_PACKAGES.md](docs/TOOL_PACKAGES.md) | Role-based package reference — which tools each of the 14 persona packages includes |
784
+ | [docs/NOW_ASSIST.md](docs/NOW_ASSIST.md) | Now Assist and AI integration guide — NLQ, AI Search, Agentic Playbooks |
785
+ | [docs/ATF.md](docs/ATF.md) | ATF testing guide — suites, test runs, ATF Failure Insight |
786
+ | [docs/SCRIPTING.md](docs/SCRIPTING.md) | Scripting management — business rules, script includes, UI Policies, UI Actions, ACLs, changesets |
787
+ | [docs/REPORTING.md](docs/REPORTING.md) | Reporting and analytics — aggregate queries, Performance Analytics, scheduled jobs |
788
+ | [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md) | Multi-instance configuration via `instances.json` or environment variables |
789
+ | [docs/SERVICENOW_OAUTH_SETUP.md](docs/SERVICENOW_OAUTH_SETUP.md) | Creating an OAuth application in ServiceNow for secure API access |
790
+ | [docs/INSTALLATION.md](docs/INSTALLATION.md) | Full installation guide including environment variables reference |
791
+ | [EXAMPLES.md](EXAMPLES.md) | 120+ real-world examples with inputs, outputs, and advanced workflows |
792
+
793
+ ---
794
+
795
+ ## Development
796
+
797
+ ```bash
798
+ npm install # install dependencies
799
+ npm run build # compile TypeScript → dist/
800
+ npm test # run unit tests
801
+ npm run dev # watch mode (hot reload)
802
+ npm run type-check # TypeScript type check only
803
+ npm run lint # lint
804
+ ```
805
+
806
+ ### Project Structure
807
+
808
+ ```
809
+ src/
810
+ server.ts — MCP server entry point (stdio)
811
+ servicenow/
812
+ client.ts — ServiceNow REST API client (Basic / OAuth / per-user)
813
+ instances.ts — Multi-instance manager
814
+ types.ts — TypeScript type definitions + AuthMode
815
+ tools/
816
+ index.ts — Tool router & role-based package system
817
+ core.ts, incident.ts, change.ts, problem.ts, task.ts
818
+ knowledge.ts, catalog.ts, user.ts, reporting.ts, atf.ts
819
+ now-assist.ts, script.ts, agile.ts, hrsd.ts, csm.ts
820
+ security.ts, flow.ts, portal.ts, integration.ts, notification.ts
821
+ performance.ts, sys-properties.ts, updateset.ts, va.ts, itam.ts, devops.ts
822
+ prompts/
823
+ index.ts — MCP prompts registry (/ slash commands)
824
+ itsm.ts — 11 built-in slash commands
825
+ user-prompts.ts — Custom commands from servicenow-mcp.commands.json
826
+ resources/
827
+ index.ts — MCP resources (@ mentions)
828
+ cli/
829
+ index.ts — CLI entry point (commander.js)
830
+ setup.ts — Interactive setup wizard
831
+ detect-clients.ts — Auto-detect installed AI clients
832
+ config-store.ts — ~/.config/servicenow-mcp/instances.json
833
+ auth.ts — servicenow-mcp auth login/logout/whoami
834
+ writers/index.ts — Write configs to AI client config files
835
+ utils/
836
+ permissions.ts — Five-tier permission gate functions
837
+ errors.ts — Typed error classes
838
+ logging.ts — Structured logger
839
+ tests/
840
+ tools/ — Unit tests
841
+ docs/ — Reference documentation
842
+ clients/
843
+ claude-desktop/ — Claude Desktop setup guide
844
+ cursor/ — Cursor setup guide
845
+ vscode/ — VS Code setup guide
846
+ claude-code/ — Claude Code setup guide
847
+ codex/ — OpenAI Codex Python client
848
+ gemini/ — Google Gemini Python client
849
+ smithery.yaml — Smithery registry config
850
+ ```
851
+
852
+ ---
853
+
854
+ ## Contributing
855
+
856
+ Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request.
857
+
858
+ - Bug reports and feature requests: [open an issue](../../issues)
859
+ - New tool domains, additional tests, or documentation improvements are especially appreciated
860
+ - All PRs require `npm test` to pass
861
+
862
+ ---
863
+
864
+ ## Security
865
+
866
+ If you discover a security vulnerability, please follow the responsible disclosure process in [SECURITY.md](SECURITY.md). Do not open a public issue.
867
+
868
+ ---
869
+
870
+ ## Frequently Asked Questions
871
+
872
+ **Do I need to know the ServiceNow API to use this?**
873
+ No. For beginners, you just connect your AI and ask questions in plain English. The server handles all API calls automatically.
874
+
875
+ **Which ServiceNow versions are supported?**
876
+ All actively supported ServiceNow releases. The server targets the latest available APIs and has been tested on the three most recent releases.
877
+
878
+ **Can I use this on a free Personal Developer Instance (PDI)?**
879
+ Yes. Get a free PDI at [developer.servicenow.com](https://developer.servicenow.com) and connect in 5 minutes.
880
+
881
+ **Is it safe to use on production?**
882
+ Yes. The permission system is read-only by default. Write, scripting, and Now Assist capabilities must each be explicitly enabled with environment variables. Use role packages to limit the tool surface.
883
+
884
+ **Does it support multi-instance / multiple customers?**
885
+ Yes. Configure any number of instances (prod, staging, dev, or multiple customer tenants) via `instances.json` or environment variables. Use `list_instances`, `switch_instance`, and `get_current_instance` tools to manage them, or pass `instance: "name"` to any individual tool call. See [docs/MULTI_INSTANCE.md](docs/MULTI_INSTANCE.md).
886
+
887
+ **Is it free?**
888
+ Completely free and open-source under the MIT license.
889
+
890
+ ---
891
+
892
+ ## License
893
+
894
+ [MIT](LICENSE) — free for personal and commercial use.
895
+
896
+ ---
897
+
898
+ <div align="center">
899
+
900
+ ### The only ServiceNow MCP server you'll ever need.
901
+
902
+ 400+ tools. 31+ modules. Every AI platform. True multi-instance. Open-source forever.
903
+
904
+ **servicenow-mcp** &bull; ServiceNow MCP Server &bull; ServiceNow AI Agent &bull; ServiceNow Claude Integration &bull; ServiceNow ChatGPT &bull; ServiceNow Cursor &bull; ServiceNow Gemini &bull; ServiceNow Automation &bull; ServiceNow Developer Tools &bull; ServiceNow Multi-Instance &bull; ServiceNow MSP
905
+
906
+ If servicenow-mcp saves you time, please ⭐ star the repository — it helps others find the project.
907
+
908
+ [![GitHub Stars](https://img.shields.io/github/stars/aartiq/servicenow-mcp?style=social)](../../stargazers)
909
+
910
+ </div>