mcpField
S
ServiceNow MCP Server

ServiceNow MCP Server

ローカル
github.com/osomaiビジネス・マーケティング30356 週間前に更新

ServiceNow MCP Server について

ServiceNow MCP Server は、ServiceNow 向けの MCP サーバーです。Claude から ServiceNow インスタンスに接続し、レコードの参照、作成、更新を行えます。インシデント、カタログ、変更管理、ナレッジベースを ServiceNow で扱うチーム向けです。

主な機能

  1. 01Basic、OAuth、API Key による認証
  2. 02ServiceNow レコードの参照、作成、更新、削除
  3. 03ServiceNow スクリプトとワークフローの実行
  4. 04ロール別のツールパッケージによる読み込みツールの制限
  5. 05stdio と SSE による通信

活用シーン

  1. 01ServiceNow でのインシデントの作成、更新、解決
  2. 02サービスカタログのアイテム、カテゴリ、変数の管理
  3. 03ナレッジベース記事の作成と管理

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai セキュリティ評価バッジ

ServiceNow MCP サーバー

Claude が ServiceNow インスタンスとやり取りできるようにする、ServiceNow 向けの Model Completion Protocol(MCP)サーバーの実装です。

ServiceNow Server MCP サーバー

概要

このプロジェクトは、Claude が ServiceNow インスタンスに接続し、データを取得して、ServiceNow API を通じて操作を実行できるようにする MCP サーバーを実装します。Claude と ServiceNow の橋渡し役となり、シームレスな統合を実現します。

機能

  • Basic、OAuth、API Key など、さまざまな認証方式を使用して ServiceNow インスタンスに接続
  • ServiceNow のレコードとテーブルをクエリ
  • ServiceNow のレコードを作成、更新、削除
  • ServiceNow のスクリプトとワークフローを実行
  • ServiceNow Service Catalog にアクセスしてクエリ
  • ServiceNow Service Catalog を分析して最適化
  • トラブルシューティング用のデバッグモード
  • stdio と Server-Sent Events(SSE)の両方の通信方式をサポート

インストール

前提条件
  • Python 3.11 以降
  • 適切なアクセス認証情報を持つ ServiceNow インスタンス
セットアップ
  1. このリポジトリをクローンします。

    git clone https://github.com/echelon-ai-labs/servicenow-mcp.git
    cd servicenow-mcp
    
  2. 仮想環境を作成し、パッケージをインストールします。

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -e .
    
  3. ServiceNow の認証情報を含む .env ファイルを作成します。

    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
    

使用方法

標準(stdio)モード

MCP サーバーを起動するには、次を実行します。

python -m servicenow_mcp.cli

または、環境変数を指定して実行します。

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)モード

ServiceNow MCP サーバーは、通信に Server-Sent Events(SSE)を使用する Web サーバーとしても実行できます。これにより、より柔軟な統合が可能になります。

SSE サーバーの起動

付属の CLI を使用して、SSE サーバーを起動できます。

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

デフォルトでは、サーバーは 0.0.0.0:8080 でリッスンします。ホストとポートは変更できます。

servicenow-mcp-sse --host=127.0.0.1 --port=8000
SSE サーバーへの接続

SSE サーバーは、主に次の2つのエンドポイントを公開します。

  • /sse - SSE 接続エンドポイント
  • /messages/ - サーバーにメッセージを送信するためのエンドポイント
例

SSE サーバーのセットアップと実行の完全な例については、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)

ツールのパッケージ化(任意)

LLM に公開するツールの数を管理するため(特に制限のある環境で)、ServiceNow MCP サーバーでは「パッケージ」と呼ばれるツールのサブセットを読み込めます。これは MCP_TOOL_PACKAGE 環境変数で制御します。

設定
  1. 環境変数: MCP_TOOL_PACKAGE 環境変数に、使用するパッケージ名を設定します。
    export MCP_TOOL_PACKAGE=catalog_builder
    
  2. パッケージ定義: 利用可能なパッケージとそれに含まれるツールは、config/tool_packages.yaml で定義されています。このファイルをカスタマイズして、独自のパッケージを作成できます。
動作
  • MCP_TOOL_PACKAGE に config/tool_packages.yaml で定義された有効なパッケージ名を設定すると、そのパッケージに記載されたツールのみが読み込まれます。
  • MCP_TOOL_PACKAGE が未設定または空の場合、デフォルトで full パッケージ(すべてのツールを含む)が読み込まれます。
  • MCP_TOOL_PACKAGE に無効なパッケージ名を設定すると、none パッケージ(list_tool_packages 以外のツールなし)が読み込まれ、警告がログに記録されます。
  • MCP_TOOL_PACKAGE=none を明示的に設定すると、ツールは読み込まれません(list_tool_packages を除く)。
利用可能なパッケージ(デフォルト)

デフォルトのconfig/tool_packages.yamlには、役割ベースの次のパッケージが含まれています。

  • service_desk:インシデントへの対応と、基本的なユーザー/ナレッジ検索に使用するツールです。
  • catalog_builder:サービスカタログ項目、カテゴリ、変数、および関連スクリプト(UI ポリシー、ユーザー条件)の作成と管理に使用するツールです。
  • change_coordinator:タスクや承認を含む、変更リクエストのライフサイクル管理に使用するツールです。
  • knowledge_author:ナレッジベース、カテゴリ、記事の作成と管理に使用するツールです。
  • platform_developer:サーバーサイドスクリプト(スクリプトインクルード)、ワークフローの開発、デプロイ(変更セット)に使用するツールです。
  • system_administrator:ユーザー/グループの管理とシステムログの表示に使用するツールです。
  • agile_management:ユーザーストーリー、エピック、スクラムタスク、プロジェクトの管理に使用するツールです。
  • full:利用可能なすべてのツールを含みます(デフォルト)。
  • none:list_tool_packagesを除くツールを含みません。
内省ツール
  • list_tool_packages:設定で定義されているすべてのツールパッケージ名を一覧表示し、現在読み込まれているパッケージを表示します。このツールはnoneを除くすべてのパッケージで利用できます。

利用可能なツール

**注:**次のツールを利用できるかどうかは、読み込まれているツールパッケージによって異なります(上記の「ツールパッケージ」セクションを参照)。デフォルト(fullパッケージ)では、すべてのツールを利用できます。

インシデント管理ツール
  1. create_incident - ServiceNowで新しいインシデントを作成します
  2. update_incident - ServiceNowで既存のインシデントを更新します
  3. add_comment - ServiceNowのインシデントにコメントを追加します
  4. resolve_incident - ServiceNowのインシデントを解決します
  5. list_incidents - ServiceNowのインシデントを一覧表示します
サービスカタログツール
  1. list_catalog_items - ServiceNowのサービスカタログ項目を一覧表示します
  2. get_catalog_item - ServiceNowの特定のサービスカタログ項目を取得します
  3. list_catalog_categories - ServiceNowのサービスカタログカテゴリを一覧表示します
  4. create_catalog_category - ServiceNowに新しいサービスカタログカテゴリを作成します
  5. update_catalog_category - ServiceNowの既存のサービスカタログカテゴリを更新します
  6. move_catalog_items - ServiceNowでカタログ項目をカテゴリ間で移動します
  7. create_catalog_item_variable - カタログ項目に新しい変数(フォームフィールド)を作成します
  8. list_catalog_item_variables - カタログ項目のすべての変数を一覧表示します
  9. update_catalog_item_variable - カタログ項目の既存の変数を更新します
  10. list_catalogs - ServiceNowのサービスカタログを一覧表示します
カタログ最適化ツール
  1. get_optimization_recommendations - サービスカタログを最適化するための推奨事項を取得します
  2. update_catalog_item - サービスカタログ項目を更新します
変更管理ツール
  1. create_change_request - ServiceNowに新しい変更リクエストを作成します
  2. update_change_request - 既存の変更リクエストを更新します
  3. list_change_requests - フィルタリングオプションを指定して変更リクエストを一覧表示します
  4. get_change_request_details - 特定の変更リクエストの詳細情報を取得します
  5. add_change_task - 変更リクエストにタスクを追加します
  6. submit_change_for_approval - 変更リクエストを承認に提出します
  7. approve_change - 変更リクエストを承認します
  8. reject_change - 変更リクエストを却下します
アジャイル管理ツール
ストーリー管理
  1. create_story - ServiceNowに新しいユーザーストーリーを作成します
  2. update_story - ServiceNowの既存のユーザーストーリーを更新します
  3. list_stories - フィルタリングオプションを指定してユーザーストーリーを一覧表示します
  4. create_story_dependency - 2つのストーリー間に依存関係を作成します
  5. delete_story_dependency - ストーリー間の依存関係を削除します
エピック管理
  1. create_epic - ServiceNowに新しいエピックを作成します
  2. update_epic - ServiceNowの既存のエピックを更新します
  3. list_epics - フィルタリングオプションを指定してServiceNowのエピックを一覧表示します
スクラムタスク管理
  1. create_scrum_task - ServiceNow に新しいスクラムタスクを作成します
  2. update_scrum_task - ServiceNow の既存のスクラムタスクを更新します
  3. list_scrum_tasks - フィルタリングオプションを指定して、ServiceNow のスクラムタスクを一覧表示します
プロジェクト管理
  1. create_project - ServiceNow に新しいプロジェクトを作成します
  2. update_project - ServiceNow の既存のプロジェクトを更新します
  3. list_projects - フィルタリングオプションを指定して、ServiceNow のプロジェクトを一覧表示します
ワークフロー管理ツール
  1. list_workflows - ServiceNow のワークフローを一覧表示します
  2. get_workflow - ServiceNow から特定のワークフローを取得します
  3. create_workflow - ServiceNow に新しいワークフローを作成します
  4. update_workflow - ServiceNow の既存のワークフローを更新します
  5. delete_workflow - ServiceNow のワークフローを削除します
スクリプトインクルード管理ツール
  1. list_script_includes - ServiceNow のスクリプトインクルードを一覧表示します
  2. get_script_include - ServiceNow から特定のスクリプトインクルードを取得します
  3. create_script_include - ServiceNow に新しいスクリプトインクルードを作成します
  4. update_script_include - ServiceNow の既存のスクリプトインクルードを更新します
  5. delete_script_include - ServiceNow のスクリプトインクルードを削除します
変更セット管理ツール
  1. list_changesets - フィルタリングオプションを指定して、ServiceNow の変更セットを一覧表示します
  2. get_changeset_details - 特定の変更セットに関する詳細情報を取得します
  3. create_changeset - ServiceNow に新しい変更セットを作成します
  4. update_changeset - 既存の変更セットを更新します
  5. commit_changeset - 変更セットをコミットします
  6. publish_changeset - 変更セットを公開します
  7. add_file_to_changeset - 変更セットにファイルを追加します
ナレッジベース管理ツール
  1. create_knowledge_base - ServiceNow に新しいナレッジベースを作成します
  2. list_knowledge_bases - フィルタリングオプションを指定して、ナレッジベースを一覧表示します
  3. create_category - ナレッジベースに新しいカテゴリを作成します
  4. create_article - ServiceNow に新しいナレッジ記事を作成します
  5. update_article - ServiceNow の既存のナレッジ記事を更新します
  6. publish_article - ServiceNow のナレッジ記事を公開します
  7. list_articles - フィルタリングオプションを指定して、ナレッジ記事を一覧表示します
  8. get_article - ID を指定して特定のナレッジ記事を取得します
ユーザー管理ツール
  1. create_user - ServiceNow に新しいユーザーを作成します
  2. update_user - ServiceNow の既存のユーザーを更新します
  3. get_user - ID、ユーザー名、またはメールアドレスを指定して特定のユーザーを取得します
  4. list_users - フィルタリングオプションを指定してユーザーを一覧表示します
  5. create_group - ServiceNow に新しいグループを作成します
  6. update_group - ServiceNow の既存のグループを更新します
  7. add_group_members - ServiceNow のグループにメンバーを追加します
  8. remove_group_members - ServiceNow のグループからメンバーを削除します
  9. list_groups - フィルタリングオプションを指定してグループを一覧表示します
UI ポリシーツール
  1. create_ui_policy - ServiceNow の UI ポリシーを作成します。通常はカタログアイテム用です。
  2. create_ui_policy_action - UI ポリシーに関連付けられたアクションを作成し、変数の状態(表示、必須など)を制御します。
MCP CLI の使用

ServiceNow MCP サーバーは MCP CLI を使ってインストールできます。MCP CLI を使用すると、サーバーを Claude に簡単に登録できます。

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

このコマンドは ServiceNow MCP サーバーを Claude に登録し、.env ファイルの環境変数を使用するように設定します。

Claude Desktop との統合

Claude Desktop で ServiceNow MCP サーバーを設定するには、次の手順に従います。

  1. Claude Desktop の設定ファイル ~/Library/Application Support/Claude/claude_desktop_config.json(macOS の場合)、またはお使いの OS に対応するパスにある設定ファイルを編集します。
{
  "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. 変更を適用するため、Claude Desktop を再起動します
Claude での使用例

以下は、MCP サーバーを介して ServiceNow を操作する際に Claude で使用できる、自然言語クエリの例です。

インシデント管理の例
  • 「東部地域のネットワーク障害に関する新しいインシデントを作成する」
  • 「インシデント INC0010001 の優先度を高に更新する」
  • 「問題を調査中であることを示すコメントをインシデント INC0010001 に追加する」
  • 「サーバーを再起動したことをメモに記載して、インシデント INC0010001 を解決する」
  • 「ネットワークチームに割り当てられている優先度が高いインシデントをすべて一覧表示する」
  • 「ネットワークチームに割り当てられているアクティブな P1 インシデントをすべて一覧表示する。」
サービスカタログの例
  • 「サービスカタログのすべてのアイテムを表示する」
  • 「サービスカタログのすべてのカテゴリを一覧表示する」
  • 「ノートパソコンのリクエスト用カタログアイテムの詳細を取得する」
  • 「ハードウェアカテゴリのカタログアイテムをすべて表示する」
  • 「サービスカタログで「software」を検索する」
  • 「サービスカタログに「Cloud Services」という新しいカテゴリを作成する」
  • 「「Hardware」カテゴリの名前を「IT Equipment」に変更する」
  • 「「Virtual Machine」カタログアイテムを「Cloud Services」カテゴリに移動する」
  • 「「IT Equipment」カテゴリの下に「Monitors」というサブカテゴリを作成する」
  • 「すべてのソフトウェアアイテムを「Software」カテゴリに移動して、カタログを再編成する」
  • 「ノートパソコンのリクエスト用カタログアイテムに説明フィールドを作成する」
  • 「カタログアイテムにノートパソコンのモデルを選択するドロップダウンフィールドを追加する」
  • 「VPN アクセスリクエスト用カタログアイテムのフォームフィールドをすべて一覧表示する」
  • 「ソフトウェアリクエストフォームの部門フィールドを必須にする」
  • 「コストセンターフィールドのヘルプテキストを更新する」
  • 「システム内のすべてのサービスカタログを表示する」
  • 「すべてのハードウェアカタログアイテムを一覧表示する。」
  • 「「New Laptop Request」のカタログアイテムを見つける。」
  • 「「New Laptop Request」アイテムの変数を表示する。」
  • 「「New Hire Setup」カタログアイテムに「department_code」という新しい変数を作成する。必須の文字列フィールドにする。」
カタログ最適化の例
  • 「サービスカタログを分析し、改善の機会を特定する」
  • 「説明が不十分で改善が必要なカタログアイテムを見つける」
  • 「利用率が低く、廃止を検討できるカタログアイテムを特定する」
  • 「途中離脱率の高いカタログアイテムを見つける」
  • 「ユーザーエクスペリエンスを向上させるため、ハードウェアカテゴリを最適化する」
変更管理の例
  • 「明日の夜にセキュリティパッチを適用するサーバーメンテナンスの変更リクエストを作成する」
  • 「来週火曜日の午前2時から午前4時までデータベースのアップグレードをスケジュールする」
  • 「サーバーメンテナンスの変更に、実施前チェックのタスクを追加する」
  • 「サーバーメンテナンスの変更を承認に提出する」
  • 「実施計画は十分に詳細である、というコメントを添えてデータベースのアップグレード変更を承認する」
  • 「今週予定されている緊急変更をすべて表示する」
  • 「ネットワークチームに割り当てられている変更をすべて一覧表示する」
  • 「本番データベースサーバーをアップグレードする通常の変更リクエストを作成する。」
  • 「変更 CHG0012345 を更新し、状態を「Implement」に設定する。」
アジャイル管理の例
  • 「新しいレポートダッシュボードを実装するための新しいユーザーストーリーを作成する」
  • 「「Implement a new reporting dashboard」ストーリーを更新し、ブロック中に設定する」
  • 「データ分析チームに割り当てられているユーザーストーリーをすべて一覧表示する」
  • 「「Implement a new reporting dashboard」ストーリーと「Develop data extraction pipeline」ストーリーの間に依存関係を作成する」
  • 「「Implement a new reporting dashboard」ストーリーと「Develop data extraction pipeline」ストーリーの間の依存関係を削除する」
  • 「「Data Analytics Initiatives」という新しいエピックを作成する」
  • 「「Data Analytics Initiatives」エピックを更新し、完了に設定する」
  • 「「Data Analytics」プロジェクトのすべてのエピックを一覧表示する」
  • 「「Implement a new reporting dashboard」ストーリーの新しいスクラムタスクを作成する」
  • 「「Develop data extraction pipeline」スクラムタスクを更新し、完了に設定する」
  • 「「Implement a new reporting dashboard」ストーリーのすべてのスクラムタスクを一覧表示する」
  • 「「Data Analytics Initiatives」という新しいプロジェクトを作成する」
  • 「「Data Analytics Initiatives」プロジェクトを更新し、完了に設定する」
  • 「「Data Analytics」エピックのすべてのプロジェクトを一覧表示する」
ワークフロー管理の例
  • 「ServiceNow のすべてのアクティブなワークフローを表示してください」
  • 「インシデント承認ワークフローの詳細を取得してください」
  • 「変更リクエストワークフローのすべてのバージョンを一覧表示してください」
  • 「サービスカタログリクエストワークフローのすべてのアクティビティを表示してください」
  • 「ソフトウェアライセンスリクエストを処理する新しいワークフローを作成してください」
  • 「インシデントエスカレーションワークフローの説明を更新してください」
  • 「新入社員オンボーディングワークフローを有効にしてください」
  • 「古いパスワードリセットワークフローを無効にしてください」
  • 「ソフトウェアライセンスリクエストワークフローに承認アクティビティを追加してください」
  • 「インシデントエスカレーションワークフローの通知アクティビティを更新してください」
  • 「変更リクエストワークフローから不要なアクティビティを削除してください」
  • 「サービスカタログリクエストワークフローのアクティビティを並べ替えてください」
変更セット管理の例
  • 「ServiceNow のすべての変更セットを一覧表示してください」
  • 「developer 'john.doe' が作成したすべての変更セットを表示してください」
  • 「変更セット 'sys_update_set_123' の詳細を取得してください」
  • 「'HR Portal' アプリケーション用の新しい変更セットを作成してください」
  • 「変更セット 'sys_update_set_123' の説明を更新してください」
  • 「メッセージ 'Fixed login issue' を付けて変更セット 'sys_update_set_123' をコミットしてください」
  • 「変更セット 'sys_update_set_123' を本番環境に公開してください」
  • 「変更セット 'sys_update_set_123' にファイルを追加してください」
  • 「変更セット 'sys_update_set_123' のすべての変更を表示してください」
ナレッジベースの例
  • 「IT 部門用の新しいナレッジベースを作成してください」
  • 「組織内のすべてのナレッジベースを一覧表示してください」
  • 「IT ナレッジベースに「ネットワークのトラブルシューティング」というカテゴリを作成してください」
  • 「ネットワークのトラブルシューティングカテゴリに VPN の設定に関する記事を書いてください」
  • 「モバイルデバイスの手順を含めるように VPN 設定の記事を更新してください」
  • 「すべてのユーザーが閲覧できるように VPN 設定の記事を公開してください」
  • 「ネットワークのトラブルシューティングカテゴリ内のすべての記事を一覧表示してください」
  • 「VPN 設定の記事の詳細を表示してください」
  • 「IT ナレッジベース内で「パスワードリセット」を含むナレッジ記事を検索してください」
  • 「ネットワークのトラブルシューティングカテゴリの下に「ワイヤレスネットワーク」というサブカテゴリを作成してください」
ユーザー管理の例
  • 「Radiology 部門に Dr. Alice Radiology という新しいユーザーを作成してください」
  • 「Bob のユーザーレコードを更新し、Alice のマネージャーにしてください」
  • 「Bob に ITIL ロールを割り当て、変更リクエストを承認できるようにしてください」
  • 「Radiology 部門のすべてのユーザーを一覧表示してください」
  • 「医療機器を管理するための「Biomedical Engineering」という新しいグループを作成してください」
  • 「Biomedical Engineering グループに管理者ユーザーをメンバーとして追加してください」
  • 「Biomedical Engineering グループのマネージャーを変更してください」
  • 「Biomedical Engineering グループからユーザーを削除してください」
  • 「役職に「doctor」を含む、システム内のすべてのアクティブなユーザーを検索してください」
  • 「Radiology 部門の承認者となるユーザーを作成してください」
  • 「システム内のすべての IT サポートグループを一覧表示してください」
UI ポリシーの例
  • 「「ソフトウェアリクエスト」項目(sys_id: abc...)に、「software_cost」が 100 を超える場合に適用される「Show Justification」という名前の UI ポリシーを作成してください。」
  • 「UI ポリシー「Show Justification」(sys_id: def...)に、「business_justification」変数を表示し、必須にするアクションを追加してください。」
  • 「ポリシー「Show Justification」に、「alternative_software」変数を非表示にする別のアクションを作成してください。」
スクリプトの例

リポジトリには、ツールの使用方法を示すスクリプトの例が含まれています。

  • examples/catalog_optimization_example.py: ServiceNow Service Catalog を分析し、改善する方法を示します
  • examples/change_management_demo.py: ServiceNow で変更リクエストを作成および管理する方法を示します

認証方法

基本認証
SERVICENOW_AUTH_TYPE=basic
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
OAuth 認証
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 キー認証
SERVICENOW_AUTH_TYPE=api_key
SERVICENOW_API_KEY=your-api-key

開発

ドキュメント

追加のドキュメントは docs ディレクトリにあります。

トラブルシューティング
変更管理ツールでよくあるエラー
  1. エラー:argument after ** must be a mapping, not CreateChangeRequestParams

    • このエラーは、create_change_request 関数に辞書ではなく CreateChangeRequestParams オブジェクトを渡した場合に発生します。
    • 解決策:Pydantic モデルオブジェクトではなく、パラメーターを含む辞書を渡してください。
    • 注:変更管理ツールは、このエラーを自動的に処理するように更新されています。関数は、パラメーターが誤ってラップされていたり、Pydantic モデルオブジェクトとして渡されたりした場合に、ラップを解除するようになりました。
  2. エラー:Missing required parameter 'type'

    • このエラーは、変更リクエストの作成に必要なパラメーターがすべて指定されていない場合に発生します。
    • 解決策:必須パラメーターをすべて含めてください。create_change_request では、short_description と type の両方が必須です。
  3. エラー:Invalid value for parameter 'type'

    • このエラーは、type パラメーターに無効な値を指定した場合に発生します。
    • 解決策:有効な値のいずれかを使用してください:"normal"、"standard"、"emergency"。
  4. エラー:Cannot find get_headers method in either auth_manager or server_config

    • このエラーは、パラメーターを誤った順序で渡した場合、または必要なメソッドを持たないオブジェクトを使用した場合に発生します。
    • 解決策:auth_manager と server_config のパラメーターを正しい順序で渡してください。関数は、パラメーターの入れ替わりを自動的に処理するように更新されています。
コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します
ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。