Install
$ agentstack add mcp-onlyflowstech-servicenow-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
@onlyflows/servicenow-mcp
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
[](https://www.npmjs.com/package/@onlyflows/servicenow-mcp) [](https://opensource.org/licenses/MIT)
Why This MCP Server?
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 |
Quick Start
Claude Desktop
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"
}
}
}
}
Cursor
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"
}
}
}
}
Windsurf
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"
}
}
}
}
VS Code (Copilot)
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"
}
}
}
}
Tools Reference
Core CRUD
| 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) |
Analytics & Schema
| 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 |
CMDB & Operations
| 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 |
Testing & Automation
| 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) |
Environment Variables
| 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 |
Usage Examples
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"
Safety Features
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)
Development
# 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 dev
Testing with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js
Roadmap
- [ ] 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
License
MIT © OnlyFlows
Built with ❤️ by OnlyFlows · @onlyflowstech
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: onlyflowstech
- Source: onlyflowstech/servicenow-mcp
- License: MIT
- Homepage: https://onlyflows.tech
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.