The most comprehensive ServiceNow MCP server. 17 tools for full CRUD, CMDB graph traversal, background scripts, ATF testing, and more.
Built by OnlyFlows · Published by @onlyflowstech
Most ServiceNow MCP integrations are read-only and support a handful of tables. This one gives your AI assistant full access to the ServiceNow platform:
| Feature | Others | @onlyflows/servicenow-mcp |
|---|---|---|
| Query records | ✅ | ✅ |
| Create records | ❌ | ✅ |
| Update records | ❌ | ✅ |
| Delete records | ❌ | ✅ (with safety confirm) |
| Bulk operations | ❌ | ✅ (dry-run by default) |
| Aggregations (COUNT/AVG/MIN/MAX/SUM) | ❌ | ✅ |
| Table schema introspection | ❌ | ✅ |
| CMDB relationship traversal | ❌ | ✅ (recursive, configurable depth) |
| Instance health monitoring | ❌ | ✅ (version, nodes, jobs, stats) |
| Attachment management | ❌ | ✅ (list, upload, download) |
| System log queries | ❌ | ✅ |
| Code search across artifacts | ❌ | ✅ |
| Table/app/plugin discovery | ❌ | ✅ |
| ATF test execution | ❌ | ✅ |
| Natural language interface | ❌ | ✅ |
| Background scripts | ❌ | ✅ (with Playwright) |
| Total tools | 1–3 | 17 |
Add to your claude_desktop_config.json:
{
"mcpServers": {
"servicenow": {
"command": "npx",
"args": ["-y", "@onlyflows/servicenow-mcp"],
"env": {
"SN_INSTANCE": "https://yourinstance.service-now.com",
"SN_USER": "your_username",
"SN_PASSWORD": "your_password"
}
}
}
}Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"servicenow": {
"command": "npx",
"args": ["-y", "@onlyflows/servicenow-mcp"],
"env": {
"SN_INSTANCE": "https://yourinstance.service-now.com",
"SN_USER": "your_username",
"SN_PASSWORD": "your_password"
}
}
}
}Add to your Windsurf MCP configuration:
{
"mcpServers": {
"servicenow": {
"command": "npx",
"args": ["-y", "@onlyflows/servicenow-mcp"],
"env": {
"SN_INSTANCE": "https://yourinstance.service-now.com",
"SN_USER": "your_username",
"SN_PASSWORD": "your_password"
}
}
}
}Add to .vscode/mcp.json:
{
"servers": {
"servicenow": {
"command": "npx",
"args": ["-y", "@onlyflows/servicenow-mcp"],
"env": {
"SN_INSTANCE": "https://yourinstance.service-now.com",
"SN_USER": "your_username",
"SN_PASSWORD": "your_password"
}
}
}
}| Tool | Description |
|---|---|
sn_query |
Query any table with encoded queries, field selection, pagination, sorting |
sn_get |
Get a single record by sys_id |
sn_create |
Create a new record on any table |
sn_update |
Update an existing record (PATCH) |
sn_delete |
Delete a record (requires confirm: true) |
sn_batch |
Bulk update/delete with dry-run safety (requires confirm: true to execute) |
| Tool | Description |
|---|---|
sn_aggregate |
COUNT, AVG, MIN, MAX, SUM with grouping |
sn_schema |
Table field definitions, types, references |
sn_health |
Instance version, cluster nodes, stuck jobs, key stats |
| Tool | Description |
|---|---|
sn_relationships |
CMDB CI graph traversal — upstream/downstream/both, configurable depth |
sn_attach |
List, download, upload attachments |
sn_syslog |
Query system logs with severity/source/time filters |
sn_codesearch |
Search business rules, script includes, client scripts, etc. |
sn_discover |
Discover tables, scoped apps, store apps, plugins |
| Tool | Description |
|---|---|
sn_atf |
Run ATF tests and suites, get results |
sn_nl |
Natural language → ServiceNow API calls |
sn_script |
Execute background scripts (requires Playwright) |
| Variable | Required | Default | Description |
|---|---|---|---|
SN_INSTANCE |
✅ | — | Instance URL (e.g. https://yourinstance.service-now.com) |
SN_USER |
✅ | — | ServiceNow username |
SN_PASSWORD |
✅ | — | ServiceNow password |
SN_DISPLAY_VALUE |
❌ | true |
Default display value mode (true, false, all) |
SN_REL_DEPTH |
❌ | 3 |
Default CMDB relationship traversal depth |
Once connected, your AI assistant can:
Query incidents:
"Show me all P1 incidents assigned to the Network team"
Create a record:
"Create an incident for VPN outage affecting 50 users, P2, assign to Network Operations"
Aggregate data:
"How many incidents are there grouped by priority?"
Check health:
"Run a health check on our ServiceNow instance"
CMDB traversal:
"Show all upstream dependencies for the email-server-01 CI"
Schema introspection:
"What fields are on the change_request table?"
Code search:
"Find all business rules that reference GlideRecord('incident')"
ATF testing:
"Run ATF test suite abc123 and wait for results"
This server is designed for production use with multiple safety layers:
- Delete operations require explicit
confirm: true - Batch operations run in dry-run mode by default — shows match count without making changes
- Bulk deletes require both
confirmandforceflags - Background scripts require
confirmfor destructive keywords (deleteRecord,deleteMultiple, etc.) - Natural language writes require
execute: true(reads execute immediately)
# Clone
git clone https://github.com/onlyflowstech/servicenow-mcp.git
cd servicenow-mcp
# Install & build
npm install
npm run build
# Run locally
SN_INSTANCE=https://yourinstance.service-now.com \
SN_USER=your_user \
SN_PASSWORD=your_pass \
node dist/index.js
# Watch mode
npm run devnpx @modelcontextprotocol/inspector node dist/index.js- SSE transport for remote hosting
- OAuth 2.0 authentication support
- sn_script full implementation with Playwright (SNS-39)
- Streaming for large result sets
- Caching for schema and relationship lookups
MIT © OnlyFlows
Built with ❤️ by OnlyFlows · @onlyflowstech