npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@onlyflows/servicenow-mcp

v1.0.0

Published

The most comprehensive ServiceNow MCP server. 17 tools for full CRUD, CMDB graph traversal, background scripts, ATF testing, and more.

Readme

@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:

| 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 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