Skip to main content
Glama
siddhardhan

servicenow-mcp

by siddhardhan

servicenow-mcp

Ein MCP-Server zur Verwaltung von ServiceNow-Vorfällen über die Table-API. Stellt Werkzeuge zum Erstellen, Lesen, Aktualisieren, Durchsuchen, Kommentieren und Lösen von Vorfällen bereit.

Einrichtung

  1. Abhängigkeiten installieren:

    uv sync
  2. Kopieren Sie .env.example in .env und füllen Sie Ihre Anmeldedaten aus:

    cp .env.example .env
    • SERVICENOW_INSTANCE: nur der Instanzname (z. B. dev12345 für dev12345.service-now.com)

    • SERVICENOW_USERNAME / SERVICENOW_PASSWORD: Basisauthentifizierungs-Anmeldedaten für einen Benutzer mit Zugriff auf die Tabelle incident (Lesen/Schreiben über die Table-API)

  3. Führen Sie den Server direkt aus, um zu überprüfen, ob er startet:

    uv run servicenow-mcp

Related MCP server: servicenow-api

Verwendung mit Claude Desktop / Claude Code

Es gibt zwei Möglichkeiten, eine Verbindung herzustellen, je nachdem, ob alle Benutzer des Servers sich ein ServiceNow-Dienstkonto teilen oder jede Person sich selbst authentifiziert. Siehe Authentifizierung unten für das vollständige Bild.

Option A — stdio, gemeinsames Dienstkonto

Der Client startet den Server selbst als Unterprozess; jeder Werkzeugaufruf verwendet die SERVICENOW_USERNAME / SERVICENOW_PASSWORD, die über env übergeben werden.

{
  "mcpServers": {
    "servicenow": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/servicenow-mcp", "run", "servicenow-mcp"],
      "env": {
        "SERVICENOW_INSTANCE": "your-instance",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_PASSWORD": "your-password"
      }
    }
  }
}

Option B — HTTP, clientseitige Anmeldedaten

Starten Sie den Server einmal als langlebigen HTTP-Prozess (er benötigt nur SERVICENOW_INSTANCE, plus SERVICENOW_USERNAME/PASSWORD als Fallback für Anfragen ohne Auth-Header):

uv run servicenow-mcp --transport streamable-http --host 127.0.0.1 --port 8003

Dann verweisen Sie .mcp.json darauf und senden Sie Ihren eigenen ServiceNow-Login als HTTP-Basic-Auth- Header – das macht die Verbindung „clientseitig": Die Anmeldedaten befinden sich in Ihrer Client-Konfiguration, nicht auf dem Server:

{
  "mcpServers": {
    "servicenow": {
      "type": "http",
      "url": "http://127.0.0.1:8003/mcp",
      "headers": {
        "Authorization": "Basic <base64 of your-username:your-password>"
      }
    }
  }
}

Generieren Sie den Base64-Wert von einem Terminal aus (beachten Sie das führende Leerzeichen, das -n bei echo vermeidet):

echo -n "your-username:your-password" | base64

.mcp.json wird nicht von .gitignore abgedeckt, wie es .env ist – committen Sie keine echten Anmeldedaten darin, wenn dieses Verzeichnis jemals ein gemeinsames/Git-Repository wird.

Werkzeuge

  • create_incident — einen neuen Vorfall erstellen

  • get_incident — nach Nummer (z. B. INC0010023) oder sys_id abrufen

  • update_incident — beliebige Felder aktualisieren

  • search_incidents — mit einer ServiceNow-codierten Abfrage (sysparm_query) suchen

  • add_comment — einen für den Kunden sichtbaren Kommentar oder eine interne Arbeitsnotiz hinzufügen

  • resolve_incident — Status auf Gelöst setzen mit Abschlussnotizen/-code

Authentifizierung

Die Authentifizierung erfolgt per Basisauthentifizierung (Benutzername/Passwort). Woher diese Anmeldedaten stammen, hängt vom Transport ab:

  • stdio: verwendet immer die gemeinsamen SERVICENOW_USERNAME / SERVICENOW_PASSWORD aus .env.

  • HTTP (sse / streamable-http): jede Anfrage kann sich als eigener ServiceNow- Benutzer authentifizieren, indem ein standardmäßiger HTTP-Basic-Auth-Header gesendet wird:

    Authorization: Basic base64(username:password)

    SERVICENOW_INSTANCE bleibt serverseitig (es ist eine Instanz für alle Clients), aber die Benutzername/Passwort sind clientseitig – daher spiegeln search_incidents-Ergebnisse, caller_id-Auflösung, usw. die ServiceNow-Berechtigungen dieses einzelnen Benutzers wider, anstatt eines gemeinsamen Dienstkontos. Wenn eine Anfrage keinen Authorization-Header hat, wird auf die gemeinsamen SERVICENOW_USERNAME / SERVICENOW_PASSWORD aus .env zurückgegriffen.

Wenn Sie später OAuth 2.0 benötigen, tauschen Sie die requests.Session.auth-Einrichtung in src/servicenow_mcp/client.py gegen einen tokenbasierten Ablauf aus – der Rest des Clients ist authentifizierungsunabhängig.

Hinweise

  • Das Feld state der Vorfalltabelle ist numerisch (z. B. 6 = Gelöst, 7 = Geschlossen); Werte können abweichen, wenn Ihre Instanz Vorfallstatus anpasst.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • GibsonAI MCP server: manage your databases with natural language

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

View all MCP Connectors

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/siddhardhan/servicenow-mcp'

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