ServiceNow MCP Server

Máy chủ MCP ServiceNow toàn diện nhất — 17 công cụ cho CRUD đầy đủ, duyệt đồ thị CMDB, tập lệnh nền và kiểm thử ATF. Hoạt động với Claude, Cursor và bất kỳ máy khách MCP nào.

Tài liệu

@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

npm version License: 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:

FeatureOthers@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 tools1–317

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

ToolDescription
sn_queryQuery any table with encoded queries, field selection, pagination, sorting
sn_getGet a single record by sys_id
sn_createCreate a new record on any table
sn_updateUpdate an existing record (PATCH)
sn_deleteDelete a record (requires confirm: true)
sn_batchBulk update/delete with dry-run safety (requires confirm: true to execute)

Analytics & Schema

ToolDescription
sn_aggregateCOUNT, AVG, MIN, MAX, SUM with grouping
sn_schemaTable field definitions, types, references
sn_healthInstance version, cluster nodes, stuck jobs, key stats

CMDB & Operations

ToolDescription
sn_relationshipsCMDB CI graph traversal — upstream/downstream/both, configurable depth
sn_attachList, download, upload attachments
sn_syslogQuery system logs with severity/source/time filters
sn_codesearchSearch business rules, script includes, client scripts, etc.
sn_discoverDiscover tables, scoped apps, store apps, plugins

Testing & Automation

ToolDescription
sn_atfRun ATF tests and suites, get results
sn_nlNatural language → ServiceNow API calls
sn_scriptExecute background scripts (requires Playwright)

Environment Variables

VariableRequiredDefaultDescription
SN_INSTANCEInstance URL (e.g. https://yourinstance.service-now.com)
SN_USERServiceNow username
SN_PASSWORDServiceNow password
SN_DISPLAY_VALUEtrueDefault display value mode (true, false, all)
SN_REL_DEPTH3Default 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 confirm and force flags
  • Background scripts require confirm for 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