ServiceNow MCP Server について
ServiceNow MCP ServerはServiceNowのデータと管理機能をMCPクライアントに接続し、プラットフォームのレコード、CMDB、更新セットを扱うチーム向けです。ツールの公開範囲と権限はServiceNowのロールとACLで決まります。
主な機能
- 01テーブルレコードの検索と管理
- 02スキーマとデータ辞書の参照
- 03CMDB項目と関係の管理
- 04集計クエリの実行
- 05更新セットの確認と管理
- 064種類のガイド付きワークフロースキル
活用シーン
- 01インシデントと担当グループのデータ確認
- 02CMDBデータ品質の分析
- 03昇格前の更新セット確認
- 04アクセス権やフィールド問題の調査
MCP 対応
MCPクライアントに20種類のツール、5つのリソース、4つのスキルを提供し、Table API、CMDB、集計、更新セットを扱います。読み書きの範囲はServiceNowユーザーの権限に従います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx mcp-server-servicenowSERVICENOW_INSTANCE_URLServiceNow instance URLSERVICENOW_AUTH_TYPEシークレットAuth type: basic (default), oauth, or api_keySERVICENOW_USERNAMEUsername for basic auth or the OAuth password grant (omit for OAuth client credentials)SERVICENOW_PASSWORDシークレットPassword for basic auth or the OAuth password grant (omit for OAuth client credentials)SERVICENOW_CLIENT_IDOAuth client ID (client credentials grant unless a username and password are set)SERVICENOW_CLIENT_SECRETシークレットOAuth client secretSERVICENOW_API_KEYシークレットAPI key for api_key authSERVICENOW_API_KEY_HEADERシークレットHeader name for api_key auth (default x-sn-apikey, ServiceNow's default auth parameter)SERVICENOW_TOKEN_URLシークレットOAuth token URL (default <instance>/oauth_token.do)SERVICENOW_TIMEOUTHTTP timeout in seconds (default 30)SERVICENOW_DEBUGDebug logging (default false)SERVICENOW_READ_ONLYHide write tools and refuse non-GET requestsSERVICENOW_ALLOW_JS_QUERIESPermit arbitrary javascript: in caller queriesSERVICENOW_AUDIT_LOGAudit log target: stderr (default), off, or a file pathローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ServiceNow MCP サーバー
Claude Code、GitHub Copilot、Codex、opencode、Antigravity、または任意のMCPクライアントをServiceNowに接続できます。
任意のテーブルのクエリ、スキーマとCMDBの読み取り、更新セットのレビューが可能です。無料、MITライセンスで、無料の開発者インスタンスで動作します。
uvx mcp-server-servicenow を使うと、AIアシスタントからServiceNowの開発者向けデータプレーン(Table API、データディクショナリ、Stats APIの集計、CMDB、更新セット)を、Tokyo以降のすべてのリリースで利用できます。ServiceNow独自のMCPサーバーと併用できます(相違点)。
できること
- 「継承されたフィールドも含めて、
cmdb_ci_serverにはどのフィールドがありますか?」 - 「誰がadmin権限を持っていますか。また、グループ経由ではなく直接付与されているロールはどれですか?」
- 「更新セット『Q3 fixes』を昇格する前にレビューしてください。」
- 「IPアドレスまたは担当者が設定されていないサーバーCIはどれですか?」
- 「各割り当てグループには、未解決のインシデントがいくつありますか?」(プラットフォームのテーブルに限らず、どのテーブルでも利用できます)
クイックスタート
無料の開発者インスタンスで、およそ10分でセットアップできます。会社のインスタンスを使う場合は、手順2で使用するユーザーについてServiceNow管理者に問い合わせてください。
1. ServiceNowインスタンスを取得する
無料のPersonal Developer Instance(PDI)に登録します。デモ用のインシデント、変更、CIが用意されています。PDIは数時間操作がないと休止状態になります。開始前に開発者ポータルから起動してください。
2. 統合ユーザーを作成する
adminとして接続しないでください。新しいインスタンスでは、このユーザーによるRESTの基本認証が拒否されます(理由)。また、このサーバーに必要な権限ははるかに少なくて済みます。
- adminとしてサインインし、All › User Administration › Users › Newに移動します。
- User IDに
mcp.integrationを入力し、Identity typeでMachineを選択します(これによりWeb service access onlyにチェックが入ります)。さらにInternal Integration Userにもチェックを入れます。フォームにIdentity typeがない場合は、Web service access onlyに手動でチェックを入れてください。Submitを押してから、ユーザーをもう一度開きます。 - Set Passwordを選び、手順3で使うパスワードを控えておきます。
- Roles › Editで
itilとsnc_read_onlyを追加し、保存します。
このユーザーはインシデント、変更、問題、CMDB、集計を読み取れますが、何も変更できません。スキーマ、更新セット、書き込みには追加の権限が必要です。ロールを参照してください。
3. サーバーをクライアントに追加する
uv が必要です(uvx を使うと、インストールせずにサーバーを実行できます)。Claude Code では次のようにします。
read -rs SERVICENOW_PASSWORD # paste the password; it is not shown or kept in your history
claude mcp add servicenow \
-e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com \
-e SERVICENOW_USERNAME=mcp.integration \
-e SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" \
-- uvx mcp-server-servicenow
または、4 つのスキルをスラッシュコマンドとして追加する Claude Code プラグインをインストールします。プラグインは、Claude Code の起動元シェルに設定された同じ SERVICENOW_* 変数を読み取ります(詳細)。
claude plugin marketplace add jschuller/mcp-server-servicenow
claude plugin install servicenow@mcp-server-servicenow
Windows(PowerShell)
winget install astral-sh.uv で uv をインストールし、次を実行します。
$s = Read-Host 'Password' -AsSecureString
$p = [Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($s))
claude mcp add servicenow -e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com -e SERVICENOW_USERNAME=mcp.integration -e "SERVICENOW_PASSWORD=$p" -- uvx mcp-server-servicenow
VS Code(GitHub Copilot)
ボタンをクリックすると、サーバーが VS Code のユーザープロファイルに追加されます。初回起動時にインスタンス URL、ユーザー名、パスワードの入力を求められ、パスワードは安全に保存されます。または、.vscode/mcp.json に次の設定を追加します。Copilot Chat は Agent モードで使用してください。
{
"inputs": [
{ "type": "promptString", "id": "servicenow-url", "description": "ServiceNow instance URL, e.g. https://devNNNNNN.service-now.com" },
{ "type": "promptString", "id": "servicenow-password", "description": "Password for mcp.integration", "password": true }
],
"servers": {
"servicenow": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-servicenow"],
"env": {
"SERVICENOW_INSTANCE_URL": "${input:servicenow-url}",
"SERVICENOW_USERNAME": "mcp.integration",
"SERVICENOW_PASSWORD": "${input:servicenow-password}"
}
}
}
}
Claude Desktop
claude_desktop_config.json を編集します(macOS:~/Library/Application Support/Claude/、Windows:%APPDATA%\Claude\)。
{
"mcpServers": {
"servicenow": {
"command": "uvx",
"args": ["mcp-server-servicenow"],
"env": {
"SERVICENOW_INSTANCE_URL": "https://devNNNNNN.service-now.com",
"SERVICENOW_USERNAME": "mcp.integration",
"SERVICENOW_PASSWORD": "your-password"
}
}
}
}
Codex、opencode、Antigravity、Cursor、pi、Claude Code プラグイン、および設定ファイルにパスワードを記載しない方法については、クライアントのセットアップをご覧ください。
4. 動作を確認する
*「最新のインシデントを 5 件一覧表示してください」*と尋ねます。最初に設定するユーザーには snc_read_only ロールが付与されているため、サーバーには読み取り専用の 13 個のツールだけが表示されます。ユーザーに書き込みロールを付与して(snc_read_only は削除してください)、7 個の書き込みツールを表示します。書き込みのたびにクライアントが確認を求めます。
応答がありませんか?同じ設定に --check を付けて実行してください。読み取り専用のリクエストを実行し、各チェック(インスタンスへの接続、ユーザー情報、ロール、テーブルの読み取り、スキーマ、集計)について 1 行ずつ出力します。シークレットは出力されません。
SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com SERVICENOW_USERNAME=mcp.integration \
SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" uvx mcp-server-servicenow --check
応答がありましたか?Show and tell で、使用しているクライアントと ServiceNow のリリースをお知らせください。どの環境で動作するかの確認に役立ちます。質問はQ&Aへお寄せください。
動作しない場合
| 表示される内容 | 対処方法 |
|---|---|
Got HTML instead of JSON | PDI がスリープしています。起動してから再試行してください |
401 | ユーザーに Web service access only が設定されていないか、パスワードが間違っています(401) |
403 | ユーザーにそのテーブルまたはツールのロールがありません(ロール) |
その他の問題については、--check を実行し(上記)、トラブルシューティングを確認してください。
ツール
20 個のツール、5 個のリソース、4 個のスキルがあります。全リファレンス:ツール、リソース、スキル。
| グループ | ツール |
|---|---|
| Table API | list_records get_record create_record update_record delete_record aggregate_records |
| CMDB | list_ci get_ci create_ci update_ci get_ci_relationships |
| システム | get_table_schema get_current_user get_system_properties find_references |
| 更新セット | list_update_sets get_update_set create_update_set set_current_update_set list_update_set_changes |
リソース: テーブルスキーマ、インスタンス情報、現在の更新セット、CMDB クラス階層、エンコード済みクエリのリファレンスを、ツール呼び出しなしで読み取れます。
スキル: Now Platform 向けの4つのガイド付きワークフローを、skill:// リソースとして MCP 経由で提供します。プラグインがなくても、すべてのクライアントで利用できます。
exploring-tables:スキーマ、選択肢リスト、レコードの履歴、テーブルやフィールドに影響するもの、エンコード済みクエリのリファレンス。analyzing-access:どのユーザーがどのロールを持つか、チーム名簿とグループメンバー、403 エラーやフィールドの欠落が意味すること。reviewing-update-sets:リスクカテゴリと昇格前のチェックリスト。servicenow-cmdb:CMDB のデータ品質と CSDM への準拠。
コミュニティスキル: ITSM などのアプリケーション向けスキルや、独自の規約に合わせたスキルは、作成者のリポジトリで、それぞれの評価結果とともに公開されています。
- EXTENDING.md では、スキルの作成、検証、モックツールを使ったテスト、共有について説明しています。
- スキルを探すには、
servicenow-mcp-skillトピックと Discussions › Skills をご覧ください。このプロジェクトでは、それらのスキルを審査していません。
0.9.0 までこのプロジェクトに同梱されていたインシデントのトリアージスキルは、現在はサンプルとして公開されています。
ロール
ServiceNow の ACL によってユーザーが実行できる操作が決まります。サーバー側でそれ以上の制限を加えることはありません。
| 目的 | ロール | 実行方法 |
|---|---|---|
| ITSM と CMDB のデータを読み取る(まずはこちらのユーザー) | itil + snc_read_only | フラグなし:snc_read_only では書き込みツールは非表示になります |
| …インシデントと CI を作成または更新する | itil(snc_read_only なし) | フラグなし:クライアントが書き込み前に確認します(確認を行わないクライアントでは --read-only を指定) |
| …インシデント、問題、変更を削除する | itil_admin を追加 | |
| テーブルスキーマ | personalize_dictionary を追加 | |
| 更新セット、システムプロパティ | admin — PDI のみ |
ツールごとの詳細:ツールごとのロール。会社のインスタンスの設定方法:推奨される統合 ID。
安全性とガバナンス
- 読み取り専用モード —
--read-onlyは7つの書き込みツールを非表示にし、GET以外のリクエストをすべて拒否します。 - 読み取り専用のIDには読み取り専用ツールが表示されます — ユーザーが
snc_read_onlyを保持している場合、フラグを指定しなくても書き込みツールは非表示になります。これは利便性のためのものであり、制御機能ではありません。ServiceNowはどのみちそれらの書き込みを拒否します。 - テーブルのスコープはServiceNow側で決まります — 統合ユーザーが読み取り可能なテーブルとフィールド(ドットウォークを含む)は、ACLとREST APIのアクセス ポリシーによって決まります。
- 監査ログ — ツールの呼び出しまたはリソースの読み取りごとにJSONを1行記録します。記録内容は、実行者、対象テーブル、結果です。書き込みフィールドは名前のみを記録し、値は記録しません。また、クエリ内のシークレットらしき値はマスキングされます。
- 書き込みはクライアントが承認します — 各ツールには読み取り専用または破壊的操作の注釈が付いているため、Claude Code、Copilot、Codexでは書き込み前に確認を求められます。確認を求めないクライアント(デフォルトのopencode、pi)では、読み取り専用のIDを使うか、書き込み可能なIDの場合は
--read-onlyを指定してください。
フラグと環境変数:設定。
対応クライアント
2026-10-11にServiceNow Brazilで0.8.0を検証済みです。また、Claude CodeとCodexで0.9.0のスキルを再確認済みです。Claude Code 2.1.296、GitHub Copilotを搭載したVS Code 1.140、Codex CLI 0.162.1、opencode 1.19.0、Antigravity CLI 1.1.20、pi 1.1.0で確認しました。Claude Desktop、Cursor、およびstdioまたはStreamable HTTP経由でMCPを利用するその他のクライアントも動作するはずです。クライアントごとの動作については、クライアントのセットアップをご覧ください。
詳細情報
- クライアントのセットアップ — 各クライアント、Claude Codeプラグイン、Windows
- 設定 — 推奨ID、OAuthクライアント認証情報(ヘッドレス)、APIキー、複数インスタンス、シークレット、すべての設定項目
- リモートデプロイ — ソースからのデプロイ、Streamable HTTP、OAuth 2.1 + PKCE、Docker、Cloud Run
- ServiceNow独自のMCPサーバーとの併用
- アーキテクチャと組み込み — 独自のFastMCPサーバーにマウントする方法
- 独自のスキルを作成する — テンプレート、バリデーター、GitHub Action、共有方法
- プライバシー — サーバーが通信するのはお客様のインスタンスのみです。テレメトリはありません
- コントリビューション · 変更履歴 · サポート · セキュリティ
独自のスキルを作成する方法については、EXTENDING.mdでテンプレート、バリデーター、共有方法を説明しています。次はMCPプロンプトです。
関連項目: sn-app-template — このサーバーと組み合わせて使う、Claude Code + now-sdk向けのServiceNowスコープアプリテンプレートです。
ライセンス
MIT。ServiceNow, Inc.とは無関係の独立したプロジェクトであり、同社による承認も受けていません。ServiceNowはServiceNow, Inc.の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。