Skip to content

Serac

A ServiceNow MCP server, and the skill guides that teach an agent to use it. 400+ snow_* tools over stdio or streamable HTTP, loaded on demand so the catalog fits a context…

Install

$/plugin marketplace add serac-labs/serac

Install command taken from the project's README or registry entry. Always review code before running it.

███████╗███████╗██████╗ █████╗ ██████╗ ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝ ███████╗█████╗ ██████╔╝███████║██║
╚════██║██╔══╝ ██╔══██╗██╔══██║██║
███████║███████╗██║ ██║██║ ██║╚██████╗ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝

A ServiceNow MCP server, and the skill guides that teach an agent to use it.

   

Two packages, and nothing else:

Package What it is
@serac-labs/servicenow-mcp An MCP server for ServiceNow. 400+ snow_* tools over stdio or streamable HTTP, plus blast-radius impact analysis.
@serac-labs/skills 57 ServiceNow skill guides. Plain markdown an agent loads into its prompt so it uses those tools like a practitioner.

The two are meant to be used together. The server gives a model the ability to act on a ServiceNow instance; the skills give it the judgement to do so without breaking one — which update set to be in, why a Business Rule needs ES5, what to check before renaming a field.

Both work with any MCP client. Neither requires the Serac product.

Quick start

npm install -g @serac-labs/servicenow-mcp

Point your MCP client at the servicenow-mcp-stdio binary:

{
  "mcpServers": {
    "servicenow": {
      "command": "servicenow-mcp-stdio",
      "env": {
        "SNOW_INSTANCE": "https://dev12345.service-now.com",
        "SNOW_CLIENT_ID": "…",
        "SNOW_CLIENT_SECRET": "…"
      }
    }
  }
}

Credentials come from an OAuth application registry entry on your instance (System OAuth > Application Registry). A developer instance from developer.servicenow.com is enough to try everything here.

If nothing works — an auth error, or a response that will not parse — ask the server what is wrong before changing anything:

servicenow-mcp-stdio --doctor

It names which credential source was used, whether the URL is usable, whether the instance is awake (a hibernating developer instance answers with an HTML login page, which makes every tool look broken), whether the OAuth exchange succeeds, and which roles the account holds. The model can ask for the same report by calling snow_diagnose_setup.

The catalog is far larger than a context window, so tools are deferred by default: tools/list returns two meta-tools and the model widens its own surface as it works.

tool_search({query: "incident"})  → the matching tools, now enabled
tool_execute({tool: "snow_query_incidents", args: {query: "priority=1"}})

Set SNOW_LAZY_TOOLS=false to register the whole catalog up front instead. Full options, library usage and the multi-tenancy rules are in the package README.

As a Claude Code plugin

The repository is also a plugin marketplace, so the server and all 70 skills arrive in one step:

/plugin marketplace add serac-labs/serac
/plugin install servicenow@serac

Similar plugs

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local…

Why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create prototypes, websites, apps, dashboards, presentations, images, and videos with your team…