Skip to main content
Glama

ServiceNow MCP Server

Node 22+ TypeScript MCP OAuth 2.0 CI

Secure, enterprise-ready MCP server for ServiceNow where every action runs as the authenticated user.

No shared service accounts. No ACL bypass. Full audit-trail fidelity.


⚑ Why This Exists

Instead of funneling every request through a shared service account, this server executes actions as the actual human user.

Because it uses per-user OAuth tokens, ServiceNow still enforces:

  • each user's ACLs and roles,

  • their approval authority,

  • and native user-level audit logging.

Result: safer automation, cleaner compliance, fewer permission hacks.


πŸ”₯ Core Capabilities

  • MCP-spec OAuth 2.0 with PKCE β€” clients like Claude Code auto-discover and re-auth natively

  • Per-user OAuth delegation to ServiceNow (Authorization Code flow + refresh)

  • AES-256-GCM encrypted token storage in Redis

  • Streamable HTTP MCP transport with per-session lifecycle

  • Bearer token auth on every MCP request (Authorization: Bearer)

  • Tool-level identity protections for sensitive operations

  • Per-user rate limiting via Redis token bucket

  • Input validation + normalized error responses

  • CI-enforced build + test + coverage gate


πŸš€ Quick Start

npm install
cp .env.example .env
npm run generate-key    # paste into TOKEN_ENCRYPTION_KEY
npm run dev

Health check: curl -s http://localhost:8080/health

For full setup instructions including ServiceNow OAuth configuration, see the Getting Started guide.


πŸ“š Documentation

Comprehensive documentation lives in docs/:

  • Getting Started β€” Prerequisites, local dev, OAuth setup, first tool call

  • Architecture β€” System design, session lifecycle, request flow, Redis schema

  • Authentication β€” OAuth flow, token storage, refresh

  • Security β€” Identity enforcement, input validation, rate limiting, error handling

  • Tools (35) β€” All tools: incidents, change requests, knowledge, update sets, and more

  • Resources (5) β€” MCP resources for direct record access

  • Prompts (7) β€” Guided workflows for incidents, change requests, knowledge, and catalog

  • HTTP API β€” Endpoints and client configuration

  • Deployment β€” Docker, Caddy, native TLS, setup script, environment variables

  • Development β€” Adding tools, testing, CI pipeline

  • Troubleshooting β€” Common issues and debug cheat sheet


βœ… Testing and Quality

npm run build
npm test
npm run test:coverage
  • Coverage thresholds are configured in vitest.config.ts

  • CI runs build + tests + coverage gate on PRs and main


πŸ–₯️ Client Config (Claude Desktop / Claude Code)

{
  "mcpServers": {
    "servicenow": {
      "type": "streamablehttp",
      "url": "https://your-host:8080/mcp"
    }
  }
}

MCP clients automatically discover the OAuth endpoints via /.well-known/oauth-authorization-server and handle PKCE-based authentication. No manual link-opening required.

See Client Configuration for deployment-specific examples.


πŸ’‘ Using Prompts and Resources

Once connected, the AI agent has access to tools, resources, and prompts.

Prompts are guided workflow templates the agent uses to walk through multi-step operations. In Claude Code, invoke them with a slash command:

/servicenow:incident_triage
/servicenow:change_request_planning
/servicenow:build_catalog_form

In Claude Desktop, use the prompt picker to browse and select from available prompts.

Resources give the agent read-only access to ServiceNow records by URI. The agent reads these automatically when it needs context β€” for example, reading servicenow://me for your profile or servicenow://incident/{sys_id} for an incident record.

See Prompts docs and Resources docs for the full list and SDK usage examples.


πŸ€– Agent Instruction Files

  • AGENTS.md

  • CLAUDE.md

  • .github/copilot-instructions.md

Alignment workflow validates expected consistency.


Built for secure, user-scoped AI operations in ServiceNow.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/windoze95/servicewow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server