Servicenow Devtools MCP について
ServiceNow Devtools MCP は AI アプリを ServiceNow に接続し、チケット対応、インスタンスの調査、問題の診断、変更のレビューを行います。アクセス範囲は各アカウントのロール、API ポリシー、ACL に従います。
主な機能
- 01ITSM レコードと履歴の読み取り
- 02テーブル、フィールド、スクリプト、フローの調査
- 03エラーとトランザクションの調査
- 04レコードとスクリプトの変更案をレビュー
活用シーン
- 01インシデントとリクエスト回答の要約
- 02スクリプト検索や Flow Designer フローの調査
- 03チケットやスクリプト変更の適用前レビュー
- 04最近のエラーとテーブル状態の調査
MCP 対応
stdio 経由でローカル起動する MCP サーバーで、AI アプリに ServiceNow のレコード、設定、診断ツールを提供します。有効にした書き込みツールでは変更をプレビューできますが、ServiceNow の権限とローカルポリシーが適用されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ServiceNow Platform MCP
AI アプリを ServiceNow に接続し、チケットの読み取り、設定の調査、レコードやスクリプトへの変更の準備ができます。このサーバーは Model Context Protocol(MCP)を使用します。
ServiceNow アカウントでサインインします。読み取りや変更が可能な内容は、ロール、API アクセスポリシー、アクセス制御ルール(ACL)によって決まります。
まずはこちら
サーバーがすでに設定されている場合は、AI アプリに次のように依頼します。
ServiceNow を使って、アクセスできるアクティブなインシデントを5件表示してください。インシデント番号、短い説明、優先度、担当者を含めてください。何も変更しないでください。
サインインが必要な場合、サーバーは実行中のコンピューターでブラウザーを開きます。
ITSM の作業
インシデント、問題、変更、リクエストのレコードを読み取ります。履歴の確認、添付ファイルの調査、ステータス更新用のレコード数の集計ができます。
たとえば、次のように依頼できます。
- 「Service Desk グループに割り当てられたアクティブなインシデントを、優先度順に10件表示してください。」
- 「INC0012345 を要約し、過去30日間のコメントと作業メモを含めてください。」
- 「割り当てグループごとに未解決のインシデント数を集計してください。使用したフィルターも含めてください。」
- 「RITM0012345 とともに送信された回答を表示してください。」
リストや履歴を取得する場合は、インスタンスで使用しているレコード番号とグループ名を指定してください。また、期間と件数の上限も指定してください。
チケットの作成、作業メモの更新、割り当ての変更には、書き込みツールと ServiceNow の権限が必要です。変更を参照してください。
インスタンスの管理と開発
設定を調査し、問題を調べ、変更の準備をします。レコード名や質問から始められます。MCP ツール名を知っておく必要はありません。
| 作業 | 調査できる内容 |
|---|---|
| テーブルとフィールド | フィールドの種類、選択肢のラベル、参照、継承されたフィールド。 |
| スクリプト | ビジネスルール、スクリプトインクルード、クライアントスクリプト、コード検索の一致結果。 |
| Flow Designer | フローとサブフローのトリガー、入力、出力、設定済みのステップ。 |
| トラブルシューティング | 最近のエラー、遅いトランザクション、テーブルの健全性、監査履歴。 |
| 構成管理データベース(CMDB) | 構成アイテム、その関係、クラスのメタデータ。 |
たとえば、次のように依頼できます。
- 「『Validate priority』という名前のビジネスルールを読み取ってください。実行タイミングとスクリプトの動作を説明してください。」
- 「
gs.eventQueueを呼び出すスクリプトを探してください。一致したレコードを表示してください。」 - 「『New starter』フローを調査してください。トリガーと設定済みのステップを説明してください。」
- 「過去24時間のスクリプトエラーを調査してください。各調査結果の根拠を表示してください。」
例にあるルール名やフロー名は、インスタンスで使用している名前に置き換えてください。
診断結果は調査に役立ちますが、根本原因を特定したり、インスタンスを修復したりするものではありません。
flow ツールは設定を調査し、保存された V2 構造をローカルで確認し、ステータスを読み取ります。
フローを変更したり実行したりすることはできません。
書き込みツールが有効な場合は、スクリプトフィールドを含む設定レコードを作成または更新できます。 スクリプトを変更する前に、変更ワークフローに従ってください。
接続の設定
管理者が OAuth を準備します。各ユーザーは、自分の ServiceNow アカウントでアクセスを許可します。AI アプリは stdio を使用してサーバーをローカルで起動します。 Python 3.14 以降、uv、 およびローカル MCP サーバーを起動できる AI アプリが必要です。
1. ServiceNow で OAuth を準備する
OAuth を使うと、ユーザーはブラウザーで接続を認証できます。パブリッククライアント ID はアプリケーションを識別するものであり、パスワードやクライアントシークレットではありません。
System OAuth > Application Registry を開きます。New を選択し、Create an OAuth API endpoint for external clients を選択するか、既存のインバウンドアプリケーションを選択します。 次の要件を満たすようにアプリケーションを設定します。
| 要件 | 値 |
|---|---|
| クライアントタイプ | パブリック、クライアントシークレットなし |
| 認証フロー | PKCE を使用した認証コード |
| PKCE メソッド | S256 |
| スコープ | useraccount |
| リダイレクト URL | http://127.0.0.1:8765/oauth/callback |
アプリケーションを保存し、パブリッククライアント ID をコピーします。OAuth を設定できない場合は、管理者にクライアント ID とインスタンス URL を問い合わせてください。 ユーザーには引き続き、API アクセス権とテーブルおよびフィールドの権限が必要です。
2. AI アプリに接続を追加する
https://your-instance.service-now.com と
your-public-client-id を管理者から提供された値に置き換えます。/nav_to.do のようなページパスを含めず、インスタンスの HTTPS アドレスを使用してください。
これらの例では readonly を選択し、SERVICENOW_ENV=prod で書き込みをブロックします。
環境設定は書き込み保護を制御します。インスタンスの選択や、本番インスタンスかどうかの検出は行いません。
この設定を追加するときは、既存のサーバーエントリを残してください。 パスワード、API キー、クライアントシークレット、トークンは追加しないでください。
GitHub Copilot を使用する VS Code、または Claude Code
AI アプリで開くトップレベルフォルダーに、次の設定を .mcp.json として保存します。
{
"mcpServers": {
"servicenow-platform": {
"command": "uvx",
"args": ["servicenow-platform-mcp"],
"env": {
"SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
"SERVICENOW_OAUTH_CLIENT_ID": "your-public-client-id",
"MCP_TOOL_PACKAGE": "readonly",
"SERVICENOW_ENV": "prod"
}
}
}
}
VS Code では、チャットを開き、ServiceNow ツールを有効にします。 Claude Code では、プロンプトが表示されたらプロジェクトの MCP サーバーを承認します。 ユーザー全体に適用する設定と接続の制御については、 VS Code ガイド または Claude Code ガイドを参照してください。
OpenCode の設定
プロジェクトの opencode.json に次の内容を追加します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servicenow-platform": {
"type": "local",
"command": ["uvx", "servicenow-platform-mcp"],
"enabled": true,
"environment": {
"SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
"SERVICENOW_OAUTH_CLIENT_ID": "your-public-client-id",
"MCP_TOOL_PACKAGE": "readonly",
"SERVICENOW_ENV": "prod"
}
}
}
}
OpenCode を再起動します。その他の設定オプションについては、MCP ガイドを参照してください。
別のローカル MCP アプリでは、同じ 4 つの環境変数を使って、コマンド uvx servicenow-platform-mcp を実行します。設定形式は異なる場合があります。
インストールガイドには、調整して使用できるサーバーエントリが記載されています。
3. サインインしてアクセスを確認する
- 設定を保存した後、AI アプリまたはその ServiceNow MCP サーバーを再起動します。
- 「利用可能な ServiceNow ツールを一覧表示して」と尋ねます。
- 「ServiceNow を使って、アクティブなインシデントを 1 件表示して。番号と概要を含めて」と尋ねます。
- プロンプトが表示されたら、使用する ServiceNow アカウントでブラウザーからサインインします。
レコードが返されれば、そのテーブルへの読み取りアクセスが確認できます。 インシデントを読み取れない場合は、アカウントがアクセスできるテーブルを使用してください。ツールの検出だけでは、接続が機能していることを確認できません。
トークンはデフォルトでサーバーのメモリ内に保持されます。可能な場合、サーバーは有効期限が切れたアクセストークンを更新します。
オプションの SERVICENOW_OAUTH_CACHE=os を設定すると、リフレッシュトークンのみが OS のネイティブ認証情報ストアに保存されるため、新しいローカルプロセスで以前のログインを再利用できます。OAuth キャッシュの設定を参照してください。
変更を行う
開発用またはテスト用のインスタンスから始めてください。管理者に、必要な書き込みツールのみを有効にし、対応する ServiceNow 権限を付与するよう依頼してください。
たとえば、MCP_TOOL_PACKAGE=query,describe,record_read,record_write
を設定すると、レコードの確認と変更が可能になります。本番以外のインスタンスでは
SERVICENOW_ENV=dev を設定してください。設定を変更した後は、サーバーを再起動してください。
レコード、添付ファイル、カタログの変更では、apply_change の前にプレビューが必要です。
サーバーは人による承認を強制しません。適用する前に、変更内容を確認してください。
- アプリに現在のレコードを読み取るよう依頼します。
- 変更案のプレビューを依頼します。
- 対象インスタンス、レコード、フィールド値、スクリプトの差分を確認します。
- 承認した場合に限り、そのプレビューを適用するようアプリに指示します。
- ServiceNow で結果を確認します。変更した動作は、インスタンス上でテストしてください。
チケットを更新する場合:
INC0012345 に次の作業メモを追加するプレビューを表示してください:「修正を確認してもらうため、発信者からの返答を待っています。」変更案を表示し、私の承認を待ってください。
スクリプトを更新する場合:
「Validate priority」という名前の Business Rule を読み取ってください。修正案を提案し、説明してください。置き換え後のスクリプト全体を含むプレビューを表示してください。適用する前に、私の承認を待ってください。
プレビューツールは使い捨てのトークンを返します。apply_change はポリシー、権限、検出可能な状態変更を確認します。トークンは 300 秒後に期限切れとなり、再起動すると消失します。結果が UNKNOWN_OUTCOME の場合は、次のプレビューを行う前に対象の状態を読み取ってください。この操作を自動的に再実行しないでください。
readonly パッケージにはカタログの参照機能が含まれています。カタログの変更には、service_catalog_write グループが必要です。プレビューでは、フルフィルメントのシミュレーションや価格の保証は行われません。
スクリプトの更新では、フィールド値全体が置き換えられます。サーバーは JavaScript の構文を確認しません。スクリプトに依存する前に、内容を確認してテストしてください。
このサーバー経由の書き込みをブロックするには、SERVICENOW_ENV=prod または production を設定してください。レコードへのアクセスは、引き続き ServiceNow の権限によって制御されます。ツールの選択と環境設定により、ローカルでの制御が追加されます。
利用可能なツールを選択する
MCP_TOOL_PACKAGE は、AI アプリから呼び出せるツールを制御します。
| パッケージ | 用途 |
|---|---|
readonly | ITSM の読み取り、メタデータ、添付ファイル、調査、監査、フロー、コード検索、CMDB の確認。 |
core_readonly | クエリ、テーブルの説明、添付ファイルの読み取りのみ。 |
full | 確認済みのレコード、添付ファイル、カタログの変更を含むすべてのツール。 |
none | サーバーの起動確認用の list_tool_packages のみ。 |
パッケージのデフォルトは readonly、環境のデフォルトは prod です。
パッケージによってツールが有効になりますが、ServiceNow の権限が付与されるわけではありません。
list_tool_packages は利用可能なパッケージとグループを一覧表示します。現在有効なパッケージは表示しません。
すべてのツールと入力の一覧については、ツールリファレンスを参照してください。
うまく動作しない場合
| 問題 | 次の対応 |
|---|---|
| AI アプリがサーバーを起動できない | Python、uv、サーバーコマンド、および必須の ServiceNow 設定 2 つを確認してください。 |
| ブラウザーが開かない、または認証がタイムアウトする | サーバーが動作しているコンピューターでブラウザーを使用してください。登録済みのリダイレクト URL が正確か確認してください。 |
| ServiceNow が OAuth を拒否する | 管理者に、パブリッククライアントモード、PKCE S256、クライアント ID、スコープ、リダイレクト URL を確認してもらってください。 |
| サインインは成功するが、レコードのリクエストが 401 または 403 を返す | 管理者に、API ポリシー、ロール、レコードまたはフィールドのアクセスルールを確認してもらってください。 |
| ツールが見つからない、または設定が反映されない | MCP_TOOL_PACKAGE を確認し、MCP サーバーを再起動してください。 |
リクエストが失敗した場合は、操作、レコードまたはテーブル、およびサニタイズしたエラーを 報告に含めてください。パスワード、トークン、生のヘッダー、ブラウザーのコールバック URL は 含めないでください。詳しい確認方法については、インストール時のトラブルシューティング を参照してください。
ツールが返した ServiceNow データは、AI アプリで利用できるようになります。 取り扱うデータに対して承認されたアプリを使用してください。
詳細情報
- ITSM の業務:チケットキュー、履歴、リクエストへの回答、チケットの変更。
- インスタンスの管理と開発:テーブル、スクリプト、フロー、調査、レビュー済みの変更。
- インストールと設定:接続設定、ソースのインストール、トラブルシューティング。
- Wiki 全体:設定、ツールリファレンス、安全上の制限、診断。
- この MCP サーバーへの貢献:ローカル開発、テスト、リリース。
問題を報告 · PyPI パッケージ · MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。