ServiceNow MCP Server

by osomai

Integrations

  • Supports loading environment variables from .env files for configuring ServiceNow connection parameters and authentication credentials.

  • Uses Pydantic for parameter validation and data modeling in the ServiceNow MCP server, ensuring type safety when handling ServiceNow API requests and responses.

ServiceNow MCP-Server

Eine Model Completion Protocol (MCP)-Serverimplementierung für ServiceNow, die Claude die Interaktion mit ServiceNow-Instanzen ermöglicht.

Überblick

Dieses Projekt implementiert einen MCP-Server, der es Claude ermöglicht, sich mit ServiceNow-Instanzen zu verbinden, Daten abzurufen und Aktionen über die ServiceNow-API auszuführen. Er dient als Brücke zwischen Claude und ServiceNow und ermöglicht eine nahtlose Integration.

Merkmale

  • Stellen Sie mithilfe verschiedener Authentifizierungsmethoden (Basic, OAuth, API-Schlüssel) eine Verbindung zu ServiceNow-Instanzen her.
  • Abfragen von ServiceNow-Datensätzen und -Tabellen
  • Erstellen, Aktualisieren und Löschen von ServiceNow-Datensätzen
  • Ausführen von ServiceNow-Skripten und -Workflows
  • Zugriff auf den ServiceNow-Servicekatalog und Abfragen
  • Analysieren und optimieren Sie den ServiceNow Service Catalog
  • Debug-Modus zur Fehlerbehebung
  • Unterstützung für Standard- und Server-Sent Events (SSE)-Kommunikation

Installation

Voraussetzungen

  • Python 3.11 oder höher
  • Eine ServiceNow-Instanz mit entsprechenden Zugangsdaten

Aufstellen

  1. Klonen Sie dieses Repository:
    git clone https://github.com/yourusername/servicenow-mcp.git cd servicenow-mcp
  2. Erstellen Sie eine virtuelle Umgebung und installieren Sie das Paket:
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e .
  3. Erstellen Sie eine .env Datei mit Ihren ServiceNow-Anmeldeinformationen:
    SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password SERVICENOW_AUTH_TYPE=basic # or oauth, api_key

Verwendung

Standardmodus (stdio)

So starten Sie den MCP-Server:

python -m servicenow_mcp.cli

Oder mit Umgebungsvariablen:

SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password SERVICENOW_AUTH_TYPE=basic python -m servicenow_mcp.cli

Server-Sent Events (SSE)-Modus

Der ServiceNow MCP-Server kann auch als Webserver ausgeführt werden und verwendet Server-Sent Events (SSE) zur Kommunikation, was flexiblere Integrationsoptionen ermöglicht.

Starten des SSE-Servers

Sie können den SSE-Server mit der bereitgestellten CLI starten:

servicenow-mcp-sse --instance-url=https://your-instance.service-now.com --username=your-username --password=your-password

Standardmäßig lauscht der Server auf 0.0.0.0:8080 . Sie können Host und Port anpassen:

servicenow-mcp-sse --host=127.0.0.1 --port=8000
Herstellen einer Verbindung zum SSE-Server

Der SSE-Server stellt zwei Hauptendpunkte bereit:

  • /sse – Der SSE-Verbindungsendpunkt
  • /messages/ - Der Endpunkt zum Senden von Nachrichten an den Server
Beispiel

Ein vollständiges Beispiel zum Einrichten und Ausführen des SSE-Servers finden Sie in der Datei examples/sse_server_example.py .

from servicenow_mcp.server import ServiceNowMCP from servicenow_mcp.server_sse import create_starlette_app from servicenow_mcp.utils.config import ServerConfig, AuthConfig, AuthType, BasicAuthConfig import uvicorn # Create server configuration config = ServerConfig( instance_url="https://your-instance.service-now.com", auth=AuthConfig( type=AuthType.BASIC, config=BasicAuthConfig( username="your-username", password="your-password" ) ), debug=True, ) # Create ServiceNow MCP server servicenow_mcp = ServiceNowMCP(config) # Create Starlette app with SSE transport app = create_starlette_app(servicenow_mcp, debug=True) # Start the web server uvicorn.run(app, host="0.0.0.0", port=8080)

Werkzeugverpackung (optional)

Um die Anzahl der für das Sprachmodell verfügbaren Tools zu verwalten (insbesondere in Umgebungen mit Einschränkungen), unterstützt der ServiceNow MCP-Server das Laden von Tool-Teilmengen, sogenannten „Paketen“. Dies wird über die Umgebungsvariable MCP_TOOL_PACKAGE gesteuert.

Konfiguration

  1. Umgebungsvariable: Setzen Sie die Umgebungsvariable MCP_TOOL_PACKAGE auf den Namen des gewünschten Pakets.
    export MCP_TOOL_PACKAGE=catalog_builder
  2. Paketdefinitionen: Die verfügbaren Pakete und die darin enthaltenen Tools sind in config/tool_packages.yaml definiert. Sie können diese Datei anpassen, um eigene Pakete zu erstellen.

Verhalten

  • Wenn MCP_TOOL_PACKAGE auf einen gültigen Paketnamen gesetzt ist, der in config/tool_packages.yaml definiert ist, werden nur die in diesem Paket aufgeführten Tools geladen.
  • Wenn MCP_TOOL_PACKAGEnicht festgelegt oder leer ist, wird standardmäßig das full Paket (mit allen Tools) geladen.
  • Wenn MCP_TOOL_PACKAGE auf einen ungültigen Paketnamen gesetzt ist, wird das Paket none geladen (keine Tools außer list_tool_packages ) und eine Warnung protokolliert.
  • Durch die Einstellung MCP_TOOL_PACKAGE=none werden explizit keine Tools geladen (außer list_tool_packages ).

Verfügbare Pakete (Standard)

Die Standarddatei config/tool_packages.yaml enthält die folgenden rollenbasierten Pakete:

  • service_desk : Tools zur Vorfallbehandlung und grundlegenden Benutzer-/Wissenssuche.
  • catalog_builder : Tools zum Erstellen und Verwalten von Servicekatalogelementen, Kategorien, Variablen und zugehörigen Skripts (UI-Richtlinien, Benutzerkriterien).
  • change_coordinator : Tools zum Verwalten des Lebenszyklus von Änderungsanforderungen, einschließlich Aufgaben und Genehmigungen.
  • knowledge_author : Tools zum Erstellen und Verwalten von Wissensdatenbanken, Kategorien und Artikeln.
  • platform_developer : Tools für serverseitiges Scripting (Script Includes), Workflow-Entwicklung und Bereitstellung (Changesets).
  • system_administrator : Tools zur Benutzer-/Gruppenverwaltung und zum Anzeigen von Systemprotokollen.
  • full : Schließt alle verfügbaren Tools ein (Standard).
  • none : Enthält keine Tools (außer list_tool_packages ).

Introspektionstool

  • list_tool_packages : Listet alle in der Konfiguration definierten Tool-Paketnamen auf und zeigt das aktuell geladene Paket an. Dieses Tool ist in allen Paketen außer none verfügbar.

Verfügbare Tools

Hinweis: Die Verfügbarkeit der folgenden Werkzeuge hängt vom geladenen Werkzeugpaket ab (siehe Abschnitt „Werkzeugpaketierung“ oben). Standardmäßig ( full ) sind alle Werkzeuge verfügbar.

Tools für das Vorfallmanagement
  1. create_incident – Einen neuen Vorfall in ServiceNow erstellen
  2. update_incident – Aktualisieren Sie einen vorhandenen Vorfall in ServiceNow
  3. add_comment – Einen Kommentar zu einem Vorfall in ServiceNow hinzufügen
  4. resolve_incident – Einen Vorfall in ServiceNow lösen
  5. list_incidents – Vorfälle von ServiceNow auflisten
Servicekatalog-Tools
  1. list_catalog_items – Servicekatalogelemente von ServiceNow auflisten
  2. get_catalog_item – Holen Sie sich ein bestimmtes Servicekatalogelement von ServiceNow
  3. list_catalog_categories – Servicekatalogkategorien von ServiceNow auflisten
  4. create_catalog_category – Erstellen Sie eine neue Servicekatalogkategorie in ServiceNow
  5. update_catalog_category – Aktualisieren Sie eine vorhandene Servicekatalogkategorie in ServiceNow
  6. move_catalog_items – Katalogelemente zwischen Kategorien in ServiceNow verschieben
  7. create_catalog_item_variable – Erstellen Sie eine neue Variable (Formularfeld) für ein Katalogelement
  8. list_catalog_item_variables – Alle Variablen für ein Katalogelement auflisten
  9. update_catalog_item_variable – Aktualisieren einer vorhandenen Variable für ein Katalogelement
  10. list_catalogs – Servicekataloge von ServiceNow auflisten
Tools zur Katalogoptimierung
  1. get_optimization_recommendations - Empfehlungen zur Optimierung des Servicekatalogs erhalten
  2. update_catalog_item – Aktualisieren eines Servicekatalogelements
Änderungsmanagement-Tools
  1. create_change_request – Erstellen Sie eine neue Änderungsanforderung in ServiceNow
  2. update_change_request - Aktualisieren einer vorhandenen Änderungsanforderung
  3. list_change_requests - Änderungsanfragen mit Filteroptionen auflisten
  4. get_change_request_details - Erhalten Sie detaillierte Informationen zu einer bestimmten Änderungsanforderung
  5. add_change_task - Eine Aufgabe zu einer Änderungsanforderung hinzufügen
  6. submit_change_for_approval – Senden Sie eine Änderungsanforderung zur Genehmigung
  7. approve_change - Genehmigen Sie eine Änderungsanforderung
  8. reject_change - Eine Änderungsanforderung ablehnen
Workflow-Management-Tools
  1. list_workflows – Workflows von ServiceNow auflisten
  2. get_workflow – Holen Sie sich einen bestimmten Workflow von ServiceNow
  3. create_workflow – Erstellen Sie einen neuen Workflow in ServiceNow
  4. update_workflow – Aktualisieren Sie einen vorhandenen Workflow in ServiceNow
  5. delete_workflow – Einen Workflow aus ServiceNow löschen
Tools zur Skripteinbindungsverwaltung
  1. list_script_includes – Listet Skripteinbindungen von ServiceNow auf
  2. get_script_include – Holen Sie sich ein bestimmtes Skript-Include von ServiceNow
  3. create_script_include – Erstellen Sie ein neues Skript-Include in ServiceNow
  4. update_script_include – Aktualisieren Sie ein vorhandenes Skript-Include in ServiceNow
  5. delete_script_include – Löscht einen Skript-Include aus ServiceNow
Tools zur Änderungssatzverwaltung
  1. list_changesets – Listet Changesets von ServiceNow mit Filteroptionen auf
  2. get_changeset_details - Erhalten Sie detaillierte Informationen zu einem bestimmten Änderungssatz
  3. create_changeset – Erstellen Sie ein neues Changeset in ServiceNow
  4. update_changeset - Aktualisieren eines vorhandenen Changesets
  5. commit_changeset - Einen Changeset festschreiben
  6. publish_changeset - Einen Changeset veröffentlichen
  7. add_file_to_changeset - Eine Datei zu einem Changeset hinzufügen
Tools zur Wissensdatenbankverwaltung
  1. create_knowledge_base – Erstellen Sie eine neue Wissensdatenbank in ServiceNow
  2. list_knowledge_bases – Wissensdatenbanken mit Filteroptionen auflisten
  3. create_category – Erstellen Sie eine neue Kategorie in einer Wissensdatenbank
  4. create_article – Erstellen Sie einen neuen Wissensartikel in ServiceNow
  5. update_article – Aktualisieren Sie einen vorhandenen Wissensartikel in ServiceNow
  6. publish_article – Veröffentlichen Sie einen Wissensartikel in ServiceNow
  7. list_articles – Wissensartikel mit Filteroptionen auflisten
  8. get_article - Holen Sie sich einen bestimmten Wissensartikel nach ID
Benutzerverwaltungstools
  1. create_user – Erstellen Sie einen neuen Benutzer in ServiceNow
  2. update_user – Aktualisieren Sie einen vorhandenen Benutzer in ServiceNow
  3. get_user - Rufen Sie einen bestimmten Benutzer per ID, Benutzernamen oder E-Mail ab
  4. list_users – Benutzer mit Filteroptionen auflisten
  5. create_group – Erstellen Sie eine neue Gruppe in ServiceNow
  6. update_group – Aktualisieren Sie eine vorhandene Gruppe in ServiceNow
  7. add_group_members – Mitglieder zu einer Gruppe in ServiceNow hinzufügen
  8. remove_group_members – Mitglieder aus einer Gruppe in ServiceNow entfernen
  9. list_groups – Gruppen auflisten mit Filteroptionen
UI-Richtlinientools
  1. create_ui_policy – Erstellt eine ServiceNow-UI-Richtlinie, normalerweise für ein Katalogelement.
  2. create_ui_policy_action – Erstellt eine mit einer UI-Richtlinie verknüpfte Aktion zur Steuerung variabler Zustände (Sichtbarkeit, obligatorisch usw.).

Verwenden der MCP-CLI

Der ServiceNow MCP-Server kann mit der MCP-CLI installiert werden, die eine bequeme Möglichkeit bietet, den Server bei Claude zu registrieren.

# Install the ServiceNow MCP server with environment variables from .env file mcp install src/servicenow_mcp/server.py -f .env

Dieser Befehl registriert den ServiceNow MCP-Server bei Claude und konfiguriert ihn so, dass er die Umgebungsvariablen aus der .env-Datei verwendet.

Integration mit Claude Desktop

So konfigurieren Sie den ServiceNow MCP-Server in Claude Desktop:

  1. Bearbeiten Sie die Claude Desktop-Konfigurationsdatei unter ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder dem entsprechenden Pfad für Ihr Betriebssystem:
{ "mcpServers": { "ServiceNow": { "command": "/Users/yourusername/dev/servicenow-mcp/.venv/bin/python", "args": [ "-m", "servicenow_mcp.cli" ], "env": { "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com", "SERVICENOW_USERNAME": "your-username", "SERVICENOW_PASSWORD": "your-password", "SERVICENOW_AUTH_TYPE": "basic" } } } }
  1. Starten Sie Claude Desktop neu, um die Änderungen zu übernehmen

Beispielverwendung mit Claude

Nachfolgend finden Sie einige Beispiele für Abfragen in natürlicher Sprache, die Sie mit Claude verwenden können, um über den MCP-Server mit ServiceNow zu interagieren:

Beispiele für Incident Management
  • „Erstellen Sie einen neuen Vorfall für einen Netzwerkausfall in der Region Ost“
  • „Aktualisieren Sie die Priorität des Vorfalls INC0010001 auf hoch.“
  • „Fügen Sie dem Vorfall INC0010001 einen Kommentar hinzu, in dem Sie angeben, dass das Problem untersucht wird.“
  • „Vorfall INC0010001 mit dem Hinweis lösen, dass der Server neu gestartet wurde“
  • „Listen Sie alle Vorfälle mit hoher Priorität auf, die dem Netzwerkteam zugewiesen sind.“
  • „Listen Sie alle aktiven P1-Vorfälle auf, die dem Netzwerkteam zugewiesen sind.“
Beispiele für Servicekataloge
  • „Zeige mir alle Artikel im Servicekatalog“
  • „Alle Servicekatalogkategorien auflisten“
  • „Details zum Katalogartikel „Laptop anfordern“ erhalten“
  • „Zeige mir alle Katalogartikel in der Kategorie Hardware“
  • „Suchen Sie im Servicekatalog nach ‚Software‘“
  • „Erstellen Sie im Servicekatalog eine neue Kategorie mit dem Namen ‚Cloud-Dienste‘.“
  • „Aktualisieren Sie die Kategorie ‚Hardware‘, indem Sie sie in ‚IT-Ausrüstung‘ umbenennen.“
  • „Verschieben Sie das Katalogelement ‚Virtuelle Maschine‘ in die Kategorie ‚Cloud-Dienste‘.“
  • „Erstellen Sie eine Unterkategorie namens ‚Monitore‘ unter der Kategorie ‚IT-Ausrüstung‘.“
  • „Reorganisieren Sie unseren Katalog, indem Sie alle Softwareelemente in die Kategorie ‚Software‘ verschieben.“
  • „Erstellen Sie ein Beschreibungsfeld für den Katalogartikel „Laptop-Anforderung““
  • „Fügen Sie dem Katalogelement ein Dropdown-Feld zur Auswahl von Laptop-Modellen hinzu.“
  • „Listen Sie alle Formularfelder für das Katalogelement „VPN-Zugriffsanforderung“ auf.“
  • „Machen Sie das Abteilungsfeld im Softwareanforderungsformular zum Pflichtfeld.“
  • „Aktualisieren Sie den Hilfetext für das Feld Kostenstelle“
  • „Zeige mir alle Servicekataloge im System“
  • "Listet alle Hardwarekatalogelemente auf."
  • „Suchen Sie den Katalogeintrag für ‚Neuen Laptop anfordern‘.“
  • „Zeigen Sie mir die Variablen für das Element ‚Anforderung eines neuen Laptops‘.“
  • „Erstellen Sie eine neue Variable mit dem Namen ‚department_code‘ für das Katalogelement ‚New Hire Setup‘. Machen Sie es zu einem obligatorischen Zeichenfolgenfeld.“
Beispiele für Katalogoptimierung
  • „Analysieren Sie unseren Servicekatalog und identifizieren Sie Verbesserungsmöglichkeiten“
  • „Finden Sie Katalogartikel mit schlechten Beschreibungen, die verbessert werden müssen.“
  • „Identifizieren Sie Katalogelemente mit geringer Nutzung, die wir möglicherweise ausmustern möchten.“
  • „Katalogartikel mit hohen Abbruchraten finden“
  • „Optimieren Sie unsere Hardware-Kategorie, um das Benutzererlebnis zu verbessern.“
Beispiele für Änderungsmanagement
  • „Erstellen Sie eine Änderungsanforderung für die Serverwartung, um morgen Abend Sicherheitspatches anzuwenden.“
  • „Planen Sie ein Datenbank-Upgrade für nächsten Dienstag von 2 bis 4 Uhr.“
  • „Fügen Sie der Serverwartungsänderung eine Aufgabe für Prüfungen vor der Implementierung hinzu.“
  • „Senden Sie die Serverwartungsänderung zur Genehmigung“
  • „Genehmigen Sie die Änderung des Datenbank-Upgrades mit dem Kommentar: Der Implementierungsplan sieht gründlich aus.“
  • „Zeigen Sie mir alle für diese Woche geplanten Notfalländerungen.“
  • „Listen Sie alle dem Netzwerkteam zugewiesenen Änderungen auf“
  • „Erstellen Sie eine normale Änderungsanforderung, um den Produktionsdatenbankserver zu aktualisieren.“
  • „Änderung CHG0012345 aktualisieren, Status auf ‚Implementieren‘ setzen.“
Beispiele für Workflow-Management
  • „Zeigen Sie mir alle aktiven Workflows in ServiceNow“
  • „Erhalten Sie Details zum Workflow zur Vorfallgenehmigung.“
  • „Alle Versionen des Änderungsanforderungs-Workflows auflisten“
  • „Zeigen Sie mir alle Aktivitäten im Servicekatalog-Anforderungsworkflow“
  • „Erstellen Sie einen neuen Workflow für die Bearbeitung von Softwarelizenzanfragen.“
  • „Aktualisieren Sie die Beschreibung des Workflows zur Vorfalleskalation.“
  • „Onboarding-Workflow für neue Mitarbeiter aktivieren“
  • „Deaktivieren Sie den alten Workflow zum Zurücksetzen des Passworts“
  • „Fügen Sie dem Workflow für Softwarelizenzanforderungen eine Genehmigungsaktivität hinzu.“
  • „Aktualisieren Sie die Benachrichtigungsaktivität im Incident-Eskalations-Workflow.“
  • „Löschen Sie die unnötige Aktivität aus dem Änderungsanforderungs-Workflow.“
  • „Aktivitäten im Servicekatalog-Anforderungsworkflow neu anordnen“
Beispiele für die Änderungssatzverwaltung
  • „Alle Änderungssätze in ServiceNow auflisten“
  • „Zeigen Sie mir alle Änderungssätze, die vom Entwickler ‚john.doe‘ erstellt wurden.“
  • "Details zum Änderungssatz 'sys_update_set_123' abrufen"
  • „Erstellen Sie ein neues Änderungsset für die Anwendung ‚HR-Portal‘“
  • „Aktualisieren Sie die Beschreibung des Änderungssatzes ‚sys_update_set_123‘.“
  • „Changeset ‚sys_update_set_123‘ mit der Meldung ‚Anmeldeproblem behoben‘ festschreiben“
  • „Änderungssatz ‚sys_update_set_123‘ in der Produktion veröffentlichen“
  • „Fügen Sie eine Datei zum Änderungssatz ‚sys_update_set_123‘ hinzu.“
  • „Zeige mir alle Änderungen im Changeset ‚sys_update_set_123‘“
Beispiele für Wissensdatenbanken
  • „Erstellen Sie eine neue Wissensbasis für die IT-Abteilung“
  • „Listen Sie alle Wissensdatenbanken in der Organisation auf“
  • „Erstellen Sie in der IT-Wissensdatenbank eine Kategorie mit dem Namen ‚Netzwerk-Fehlerbehebung‘.“
  • „Schreiben Sie einen Artikel über die VPN-Einrichtung in der Kategorie Netzwerk-Fehlerbehebung.“
  • „Aktualisieren Sie den VPN-Setup-Artikel, um Anweisungen für Mobilgeräte einzuschließen.“
  • „Veröffentlichen Sie den Artikel zur VPN-Einrichtung, damit er für alle Benutzer sichtbar ist.“
  • „Alle Artikel in der Kategorie „Netzwerk-Fehlerbehebung“ auflisten“
  • „Zeigen Sie mir die Details des VPN-Setup-Artikels“
  • „Finden Sie Wissensartikel mit dem Thema ‚Passwort zurücksetzen‘ in der IT-Wissensdatenbank.“
  • „Erstellen Sie eine Unterkategorie namens ‚Drahtlose Netzwerke‘ unter der Kategorie ‚Netzwerk-Fehlerbehebung‘.“
Beispiele für die Benutzerverwaltung
  • „Erstellen Sie einen neuen Benutzer Dr. Alice Radiology in der Radiologieabteilung“
  • „Aktualisieren Sie Bobs Benutzerdatensatz, um ihn zum Manager von Alice zu machen.“
  • „Weisen Sie Bob die ITIL-Rolle zu, damit er Änderungsanforderungen genehmigen kann.“
  • „Liste aller Benutzer in der Radiologieabteilung auf“
  • „Erstellen Sie eine neue Gruppe mit dem Namen ‚Biomedizintechnik‘ zur Verwaltung medizinischer Geräte.“
  • „Fügen Sie der Gruppe „Biomedizintechnik“ einen Administratorbenutzer als Mitglied hinzu.“
  • „Aktualisieren Sie die Gruppe für Biomedizintechnik, um ihren Manager zu ändern.“
  • „Einen Benutzer aus der Gruppe „Biomedizintechnik“ entfernen“
  • „Finden Sie alle aktiven Benutzer im System mit ‚Arzt‘ im Titel“
  • „Erstellen Sie einen Benutzer, der als Genehmiger für die Radiologieabteilung fungiert.“
  • „Alle IT-Supportgruppen im System auflisten“
Beispiele für UI-Richtlinien
  • „Erstellen Sie eine UI-Richtlinie für das Element ‚Softwareanforderung‘ (sys_id: abc...) mit dem Namen ‚Begründung anzeigen‘, die gilt, wenn ‚software_cost‘ größer als 100 ist.“
  • „Fügen Sie für die UI-Richtlinie ‚Begründung anzeigen‘ (sys_id: def …) eine Aktion hinzu, um die Variable ‚business_justification‘ sichtbar und obligatorisch zu machen.“
  • „Erstellen Sie eine weitere Aktion für die Richtlinie ‚Begründung anzeigen‘, um die Variable ‚alternative_software‘ auszublenden.“

Beispielskripte

Das Repository enthält Beispielskripte, die die Verwendung der Tools demonstrieren:

  • examples/catalog_optimization_example.py : Zeigt, wie der ServiceNow-Servicekatalog analysiert und verbessert wird
  • examples/change_management_demo.py : Zeigt, wie Änderungsanforderungen in ServiceNow erstellt und verwaltet werden

Authentifizierungsmethoden

Grundlegende Authentifizierung

SERVICENOW_AUTH_TYPE=basic SERVICENOW_USERNAME=your-username SERVICENOW_PASSWORD=your-password

OAuth-Authentifizierung

SERVICENOW_AUTH_TYPE=oauth SERVICENOW_CLIENT_ID=your-client-id SERVICENOW_CLIENT_SECRET=your-client-secret SERVICENOW_TOKEN_URL=https://your-instance.service-now.com/oauth_token.do

API-Schlüsselauthentifizierung

SERVICENOW_AUTH_TYPE=api_key SERVICENOW_API_KEY=your-api-key

Entwicklung

Dokumentation

Weitere Dokumentation ist im Verzeichnis docs verfügbar:

Fehlerbehebung

Häufige Fehler bei Änderungsmanagement-Tools
  1. Fehler: argument after ** must be a mapping, not CreateChangeRequestParams
    • Dieser Fehler tritt auf, wenn Sie der Funktion create_change_request ein CreateChangeRequestParams -Objekt anstelle eines Wörterbuchs übergeben.
    • Lösung: Stellen Sie sicher, dass Sie mit den Parametern ein Wörterbuch und kein Pydantic-Modellobjekt übergeben.
    • Hinweis: Die Änderungsverwaltungstools wurden aktualisiert, um diesen Fehler automatisch zu behandeln. Die Funktionen versuchen nun, Parameter zu entpacken, wenn sie falsch verpackt oder als Pydantic-Modellobjekt übergeben wurden.
  2. Fehler: Missing required parameter 'type'
    • Dieser Fehler tritt auf, wenn Sie nicht alle erforderlichen Parameter zum Erstellen einer Änderungsanforderung angeben.
    • Lösung: Stellen Sie sicher, dass Sie alle erforderlichen Parameter angeben. Für create_change_request sind sowohl short_description als auch type erforderlich.
  3. Fehler: Invalid value for parameter 'type'
    • Dieser Fehler tritt auf, wenn Sie für den type einen ungültigen Wert angeben.
    • Lösung: Verwenden Sie einen der gültigen Werte: „normal“, „Standard“ oder „Notfall“.
  4. Fehler: Cannot find get_headers method in either auth_manager or server_config
    • Dieser Fehler tritt auf, wenn die Parameter in der falschen Reihenfolge übergeben werden oder wenn Objekte verwendet werden, die nicht über die erforderlichen Methoden verfügen.
    • Lösung: Stellen Sie sicher, dass Sie die Parameter auth_manager und server_config in der richtigen Reihenfolge übergeben. Die Funktionen wurden aktualisiert, um den Parameteraustausch automatisch durchzuführen.

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

  1. Forken Sie das Repository
  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )
  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )
  4. Pushen zum Zweig ( git push origin feature/amazing-feature )
  5. Öffnen einer Pull-Anfrage

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Connects Claude to Portkey's API for managing AI configurations, workspaces, analytics, and user access, providing comprehensive control over API usage and settings.
    Last updated -
    9
    TypeScript
    MIT License
  • A
    security
    F
    license
    A
    quality
    A server that enables Claude Desktop users to access the Claude API directly, allowing them to bypass Professional Plan limitations and use advanced features like custom system prompts and conversation management.
    Last updated -
    1
    5
    Python
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables Claude to interact with the ConnectWise Manage API to perform operations like retrieving, creating, updating, and deleting tickets, companies, contacts, and other entities.
    Last updated -
    JavaScript
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    Enables Claude to interact with Webflow's APIs, allowing access to site information, collections, and other Webflow resources.
    Last updated -
    TypeScript
    MIT License
    • Apple

View all related MCP servers

ID: wfdzusqbvb