Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

ServiceNow MCP Server

by jschullerversion 0.9.3i★ –iRuns on your computer
Registry nameio.github.jschuller/mcp-server-servicenow

Install

Overview

Description from the maker (original English)

ServiceNow MCP server: Table API, CMDB, schema, aggregates, update sets and four Agent Skills.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: SERVICENOW_INSTANCE_URL, SERVICENOW_PASSWORD, SERVICENOW_CLIENT_SECRET, SERVICENOW_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: SERVICENOW_INSTANCE_URL, SERVICENOW_AUTH_TYPE, SERVICENOW_USERNAME, SERVICENOW_PASSWORD, SERVICENOW_CLIENT_ID, SERVICENOW_CLIENT_SECRET, SERVICENOW_API_KEY, SERVICENOW_API_KEY_HEADER, SERVICENOW_TOKEN_URL, SERVICENOW_TIMEOUT, SERVICENOW_DEBUG, SERVICENOW_READ_ONLY, SERVICENOW_ALLOW_JS_QUERIES, SERVICENOW_AUDIT_LOG, SERVICENOW_SKILLS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "servicenow": {
      "command": "uvx",
      "args": [
        "mcp-server-servicenow"
      ],
      "env": {
        "SERVICENOW_INSTANCE_URL": "your-value",
        "SERVICENOW_AUTH_TYPE": "your-value",
        "SERVICENOW_USERNAME": "your-value",
        "SERVICENOW_PASSWORD": "your-value",
        "SERVICENOW_CLIENT_ID": "your-value",
        "SERVICENOW_CLIENT_SECRET": "your-value",
        "SERVICENOW_API_KEY": "your-value",
        "SERVICENOW_API_KEY_HEADER": "your-value",
        "SERVICENOW_TOKEN_URL": "your-value",
        "SERVICENOW_TIMEOUT": "your-value",
        "SERVICENOW_DEBUG": "your-value",
        "SERVICENOW_READ_ONLY": "your-value",
        "SERVICENOW_ALLOW_JS_QUERIES": "your-value",
        "SERVICENOW_AUDIT_LOG": "your-value",
        "SERVICENOW_SKILLS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add servicenow --env SERVICENOW_INSTANCE_URL=your-value --env SERVICENOW_AUTH_TYPE=your-value --env SERVICENOW_USERNAME=your-value --env SERVICENOW_PASSWORD=your-value --env SERVICENOW_CLIENT_ID=your-value --env SERVICENOW_CLIENT_SECRET=your-value --env SERVICENOW_API_KEY=your-value --env SERVICENOW_API_KEY_HEADER=your-value --env SERVICENOW_TOKEN_URL=your-value --env SERVICENOW_TIMEOUT=your-value --env SERVICENOW_DEBUG=your-value --env SERVICENOW_READ_ONLY=your-value --env SERVICENOW_ALLOW_JS_QUERIES=your-value --env SERVICENOW_AUDIT_LOG=your-value --env SERVICENOW_SKILLS=your-value -- uvx mcp-server-servicenow

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "servicenow": {
      "command": "uvx",
      "args": [
        "mcp-server-servicenow"
      ],
      "env": {
        "SERVICENOW_INSTANCE_URL": "your-value",
        "SERVICENOW_AUTH_TYPE": "your-value",
        "SERVICENOW_USERNAME": "your-value",
        "SERVICENOW_PASSWORD": "your-value",
        "SERVICENOW_CLIENT_ID": "your-value",
        "SERVICENOW_CLIENT_SECRET": "your-value",
        "SERVICENOW_API_KEY": "your-value",
        "SERVICENOW_API_KEY_HEADER": "your-value",
        "SERVICENOW_TOKEN_URL": "your-value",
        "SERVICENOW_TIMEOUT": "your-value",
        "SERVICENOW_DEBUG": "your-value",
        "SERVICENOW_READ_ONLY": "your-value",
        "SERVICENOW_ALLOW_JS_QUERIES": "your-value",
        "SERVICENOW_AUDIT_LOG": "your-value",
        "SERVICENOW_SKILLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "servicenow": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-servicenow"
      ],
      "env": {
        "SERVICENOW_INSTANCE_URL": "your-value",
        "SERVICENOW_AUTH_TYPE": "your-value",
        "SERVICENOW_USERNAME": "your-value",
        "SERVICENOW_PASSWORD": "your-value",
        "SERVICENOW_CLIENT_ID": "your-value",
        "SERVICENOW_CLIENT_SECRET": "your-value",
        "SERVICENOW_API_KEY": "your-value",
        "SERVICENOW_API_KEY_HEADER": "your-value",
        "SERVICENOW_TOKEN_URL": "your-value",
        "SERVICENOW_TIMEOUT": "your-value",
        "SERVICENOW_DEBUG": "your-value",
        "SERVICENOW_READ_ONLY": "your-value",
        "SERVICENOW_ALLOW_JS_QUERIES": "your-value",
        "SERVICENOW_AUDIT_LOG": "your-value",
        "SERVICENOW_SKILLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • SERVICENOW_INSTANCE_URL required env
    ServiceNow instance URL
  • SERVICENOW_AUTH_TYPE env
    Auth type: basic (default), oauth, or api_key
  • SERVICENOW_USERNAME env
    Username for basic auth or the OAuth password grant (omit for OAuth client credentials)
  • SERVICENOW_PASSWORD secret env
    Password for basic auth or the OAuth password grant (omit for OAuth client credentials)
  • SERVICENOW_CLIENT_ID env
    OAuth client ID (client credentials grant unless a username and password are set)
  • SERVICENOW_CLIENT_SECRET secret env
    OAuth client secret
  • SERVICENOW_API_KEY secret env
    API key for api_key auth
  • SERVICENOW_API_KEY_HEADER env
    Header name for api_key auth (default x-sn-apikey, ServiceNow's default auth parameter)
  • SERVICENOW_TOKEN_URL env
    OAuth token URL (default /oauth_token.do)
  • SERVICENOW_TIMEOUT env
    HTTP timeout in seconds (default 30)
  • SERVICENOW_DEBUG env
    Debug logging (default false)
  • SERVICENOW_READ_ONLY env
    Hide write tools and refuse non-GET requests
  • SERVICENOW_ALLOW_JS_QUERIES env
    Permit arbitrary javascript: in caller queries
  • SERVICENOW_AUDIT_LOG env
    Audit log target: stderr (default), off, or a file path
  • SERVICENOW_SKILLS env
    on (default) or off: serve the packaged skill:// resources

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account jschuller, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18353 servers in this category
  • Published to the registry more recently than 80% of the other 18353 servers in this category
  • Basic checks equal to or better than 100% of the other 18353 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is ServiceNow MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: SERVICENOW_INSTANCE_URL, SERVICENOW_PASSWORD, SERVICENOW_CLIENT_SECRET, SERVICENOW_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.9.3) reached the registry 10 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Date Math

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Date Math

by JowenDelaPena

Date/time math for agents: business days, holidays, time zones, cron, RRULE. 25 free calls/day.

Computer or cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

ServiceNow MCP Server

Connect Claude Code, GitHub Copilot, Codex, opencode, Antigravity or any MCP client to ServiceNow:

query any table, read schema and CMDB, review update sets. Free, MIT, works on a free developer instance.


uvx mcp-server-servicenow gives an AI assistant the ServiceNow developer data plane: the Table API, the data dictionary, Stats API aggregates, the CMDB and update sets, on any release from Tokyo up. It runs alongside ServiceNow's own MCP servers (how they differ).

What you can ask

  • *"Which fields does cmdb_ci_server have, including inherited ones?"*
  • *"Who holds admin, and which roles are granted directly instead of through a group?"*
  • *"Review update set 'Q3 fixes' before I promote it."*
  • *"Which server CIs are missing an IP address or an owner?"*
  • *"How many open incidents does each assignment group have?"* (any table works, not just the platform ones)

Quick start

About ten minutes on a free developer instance. On a company instance, ask your ServiceNow admin for the user in step 2.

1. Get a ServiceNow instance

Sign up for a free Personal Developer Instance (PDI) — it comes with demo incidents, changes and CIs. PDIs hibernate after a few hours idle: wake yours from the developer portal before you start.

2. Create an integration user

Don't connect as admin: new instances refuse REST basic auth for it (why), and the server needs far less.

  1. Sign in as admin and go to All › User Administration › Users › New.
  2. User ID mcp.integration, Identity type *Machine* (this ticks Web service access only), and tick Internal Integration User. If your form has no Identity type, tick Web service access only yourself. Submit, then open the user again.
  3. Set Password, and keep the password for step 3.
  4. Roles › Edit: add itil and snc_read_only, save.

That user can read incidents, changes, problems, CMDB and aggregates, and can't change anything. Schema, update sets and writes need more: see roles.

3. Add the server to your client

You need uv (uvx runs the server without installing it). In Claude Code:

read -rs SERVICENOW_PASSWORD     # paste the password; it is not shown or kept in your history

claude mcp add servicenow \ -e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com \ -e SERVICENOW_USERNAME=mcp.integration \ -e SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" \ -- uvx mcp-server-servicenow

Or install the Claude Code plugin, which adds the four skills as slash commands. It reads the same SERVICENOW_* variables from the shell that starts Claude Code (details):

claude plugin marketplace add jschuller/mcp-server-servicenow

claude plugin install servicenow@mcp-server-servicenow

Windows (PowerShell)

Install uv with winget install astral-sh.uv, then:

$s = Read-Host 'Password' -AsSecureString

$p = [Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($s)) claude mcp add servicenow -e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com -e SERVICENOW_USERNAME=mcp.integration -e "SERVICENOW_PASSWORD=$p" -- uvx mcp-server-servicenow

</details>

VS Code (GitHub Copilot)

The button adds the server to your VS Code user profile and asks for the instance URL, user and password on first start, storing the password securely. Or add this to .vscode/mcp.json. Use Copilot Chat in Agent mode.

{

"inputs": [ { "type": "promptString", "id": "servicenow-url", "description": "ServiceNow instance URL, e.g. https://devNNNNNN.service-now.com" }, { "type": "promptString", "id": "servicenow-password", "description": "Password for mcp.integration", "password": true } ], "servers": { "servicenow": { "type": "stdio", "command": "uvx", "args": ["mcp-server-servicenow"], "env": { "SERVICENOW_INSTANCE_URL": "${input:servicenow-url}", "SERVICENOW_USERNAME": "mcp.integration", "SERVICENOW_PASSWORD": "${input:servicenow-password}" } } } }

</details>

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{

"mcpServers": { "servicenow": { "command": "uvx", "args": ["mcp-server-servicenow"], "env": { "SERVICENOW_INSTANCE_URL": "https://devNNNNNN.service-now.com", "SERVICENOW_USERNAME": "mcp.integration", "SERVICENOW_PASSWORD": "your-password" } } } }

</details>

Codex, opencode, Antigravity, Cursor, pi, the Claude Code plugin and keeping the password out of config files: client setup.

4. Check it works

Ask: *"List the 5 most recent incidents."* The start-here user holds snc_read_only, so the server lists only the 13 read-only tools. Give the user write roles (and remove snc_read_only) and the 7 write tools appear; your client asks before each write.

No answer? Run the same configuration with --check. It makes read-only requests, prints one line per check (instance reachable, identity, roles, table read, schema, aggregates) and never prints a secret:

SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com SERVICENOW_USERNAME=mcp.integration \

SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" uvx mcp-server-servicenow --check

Got an answer back? Say which client and ServiceNow release in Show and tell — it tells us what works. Questions go to Q&A.

If it doesn't work

You seeFix
Got HTML instead of JSONThe PDI is asleep: wake it and retry
401The user isn't *Web service access only*, or the password is wrong (401)
403The user lacks a role for that table or tool (roles)

Everything else: run --check (above), then TROUBLESHOOTING.

Tools

20 tools, 5 resources and 4 skills. Full reference: tools, resources and skills.

GroupTools
Table APIlist_records get_record create_record update_record delete_record aggregate_records
CMDBlist_ci get_ci create_ci update_ci get_ci_relationships
Systemget_table_schema get_current_user get_system_properties find_references
Update setslist_update_sets get_update_set create_update_set set_current_update_set list_update_set_changes

Resources: table schemas, instance info, the current update set, the CMDB class hierarchy and an encoded-query reference — read without a tool call.

Skills: four guided workflows for the Now Platform, served over MCP as skill:// resources so every client gets them with no plugin:

  • exploring-tables: schemas, choice lists, a record's history, what touches a table or field, the encoded-query reference;
  • analyzing-access: who holds which roles, team rosters and group members, and what a 403 or a missing field means;
  • reviewing-update-sets: risk categories and a pre-promotion checklist;
  • servicenow-cmdb: CMDB data quality and CSDM conformance.

To run with the tools only, add the server without the plugin (claude mcp add, or an mcp.json entry) and set SERVICENOW_SKILLS=off (or --skills off). off changes only what the server serves: the Claude Code plugin still loads the four skills from its own folder (configuration).

Community skills: skills for applications such as ITSM, and for your own conventions, live in their authors' repositories, each with its own eval results:

The incident triage skill that shipped here until 0.9.0 is now an example.

Roles

ServiceNow's ACLs decide what the user can do; the server adds nothing on top.

You wantRolesRun with
Read ITSM and CMDB data (the start-here user)itil + snc_read_onlyno flag: write tools are hidden for snc_read_only
…and create or update incidents and CIsitil (no snc_read_only)no flag; the client asks before writes (--read-only on clients that don't ask)

| …and delete incidents, problems

Only the beginning is shown; read the rest in the repo

Ask PopNx