Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
ServiceNow MCP server: Table API, CMDB, schema, aggregates, update sets and four Agent Skills.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
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_SKILLSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
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-servicenowFill in the empty values before running it.
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.
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.
SERVICENOW_AUTH_TYPE envSERVICENOW_USERNAME envSERVICENOW_CLIENT_ID envSERVICENOW_API_KEY_HEADER envSERVICENOW_TOKEN_URL envSERVICENOW_TIMEOUT envSERVICENOW_DEBUG envSERVICENOW_READ_ONLY envSERVICENOW_ALLOW_JS_QUERIES envSERVICENOW_AUDIT_LOG envSERVICENOW_SKILLS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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
The registry name was verified with the GitHub account jschuller, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: SERVICENOW_INSTANCE_URL, SERVICENOW_PASSWORD, SERVICENOW_CLIENT_SECRET, SERVICENOW_API_KEY
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).
The GitHub repo last changed –, and the latest version (0.9.3) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Date Math
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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Date/time math for agents: business days, holidays, time zones, cron, RRULE. 25 free calls/day.
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).
cmdb_ci_server have, including inherited ones?"*About ten minutes on a free developer instance. On a company instance, ask your ServiceNow admin for the user in step 2.
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.
Don't connect as admin: new instances refuse REST basic auth for it (why), and the server needs far less.
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.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.
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.
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.
| You see | Fix |
|---|---|
Got HTML instead of JSON | The PDI is asleep: wake it and retry |
401 | The user isn't *Web service access only*, or the password is wrong (401) |
403 | The user lacks a role for that table or tool (roles) |
Everything else: run --check (above), then TROUBLESHOOTING.
20 tools, 5 resources and 4 skills. Full reference: tools, resources and skills.
| Group | Tools |
|---|---|
| Table API | list_records get_record create_record update_record delete_record aggregate_records |
| CMDB | list_ci get_ci create_ci update_ci get_ci_relationships |
| System | get_table_schema get_current_user get_system_properties find_references |
| Update sets | list_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:
servicenow-mcp-skill topic and Discussions › Skills. This project doesn't vet them.The incident triage skill that shipped here until 0.9.0 is now an example.
ServiceNow's ACLs decide what the user can do; the server adds nothing on top.
| You want | Roles | Run with |
|---|---|---|
| Read ITSM and CMDB data (the start-here user) | itil + snc_read_only | no flag: write tools are hidden for snc_read_only |
| …and create or update incidents and CIs | itil (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