mcpField
S
ServiceNow MCP Server

ServiceNow MCP Server

ローカル
github.com/jschullerクラウド・インフラ261 週間前に更新

ServiceNow MCP Server について

ServiceNow MCP ServerはServiceNowのデータと管理機能をMCPクライアントに接続し、プラットフォームのレコード、CMDB、更新セットを扱うチーム向けです。ツールの公開範囲と権限はServiceNowのロールとACLで決まります。

主な機能

  1. 01テーブルレコードの検索と管理
  2. 02スキーマとデータ辞書の参照
  3. 03CMDB項目と関係の管理
  4. 04集計クエリの実行
  5. 05更新セットの確認と管理
  6. 064種類のガイド付きワークフロースキル

活用シーン

  1. 01インシデントと担当グループのデータ確認
  2. 02CMDBデータ品質の分析
  3. 03昇格前の更新セット確認
  4. 04アクセス権やフィールド問題の調査

MCP 対応

MCPクライアントに20種類のツール、5つのリソース、4つのスキルを提供し、Table API、CMDB、集計、更新セットを扱います。読み書きの範囲はServiceNowユーザーの権限に従います。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"jschuller-mcp-server-servicenow": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_AUTH_TYPE": "<SERVICENOW_AUTH_TYPE>",
"SERVICENOW_USERNAME": "<SERVICENOW_USERNAME>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"SERVICENOW_CLIENT_ID": "<SERVICENOW_CLIENT_ID>",
"SERVICENOW_CLIENT_SECRET": "<SERVICENOW_CLIENT_SECRET>",
"SERVICENOW_API_KEY": "<SERVICENOW_API_KEY>",
"SERVICENOW_API_KEY_HEADER": "<SERVICENOW_API_KEY_HEADER>",
"SERVICENOW_TOKEN_URL": "<SERVICENOW_TOKEN_URL>",
"SERVICENOW_TIMEOUT": "<SERVICENOW_TIMEOUT>",
"SERVICENOW_DEBUG": "<SERVICENOW_DEBUG>",
"SERVICENOW_READ_ONLY": "<SERVICENOW_READ_ONLY>",
"SERVICENOW_ALLOW_JS_QUERIES": "<SERVICENOW_ALLOW_JS_QUERIES>",
"SERVICENOW_AUDIT_LOG": "<SERVICENOW_AUDIT_LOG>"
}
}
}
}
起動コマンドuvx mcp-server-servicenow
設定が必要な環境変数
SERVICENOW_INSTANCE_URLServiceNow instance URL
SERVICENOW_AUTH_TYPEシークレットAuth type: basic (default), oauth, or api_key
SERVICENOW_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 secret
SERVICENOW_API_KEYシークレットAPI key for api_key auth
SERVICENOW_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 requests
SERVICENOW_ALLOW_JS_QUERIESPermit arbitrary javascript: in caller queries
SERVICENOW_AUDIT_LOGAudit log target: stderr (default), off, or a file path

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-servicenow0.9.2

ツール

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

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

詳細

ServiceNow MCP サーバー

ServiceNow MCP サーバー

PyPI ダウンロード数 CI ライセンス

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の基本認証が拒否されます(理由)。また、このサーバーに必要な権限ははるかに少なくて済みます。

  1. adminとしてサインインし、All › User Administration › Users › Newに移動します。
  2. User IDにmcp.integrationを入力し、Identity typeでMachineを選択します(これによりWeb service access onlyにチェックが入ります)。さらにInternal Integration Userにもチェックを入れます。フォームにIdentity typeがない場合は、Web service access onlyに手動でチェックを入れてください。Submitを押してから、ユーザーをもう一度開きます。
  3. Set Passwordを選び、手順3で使うパスワードを控えておきます。
  4. 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 にインストール

ボタンをクリックすると、サーバーが 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 JSONPDI がスリープしています。起動してから再試行してください
401ユーザーに Web service access only が設定されていないか、パスワードが間違っています(401)
403ユーザーにそのテーブルまたはツールのロールがありません(ロール)

その他の問題については、--check を実行し(上記)、トラブルシューティングを確認してください。

ツール

20 個のツール、5 個のリソース、4 個のスキルがあります。全リファレンス:ツール、リソース、スキル。

グループツール
Table APIlist_records get_record create_record update_record delete_record aggregate_records
CMDBlist_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を利用するその他のクライアントも動作するはずです。クライアントごとの動作については、クライアントのセットアップをご覧ください。

詳細情報

独自のスキルを作成する方法については、EXTENDING.mdでテンプレート、バリデーター、共有方法を説明しています。次はMCPプロンプトです。

関連項目: sn-app-template — このサーバーと組み合わせて使う、Claude Code + now-sdk向けのServiceNowスコープアプリテンプレートです。

ライセンス

MIT。ServiceNow, Inc.とは無関係の独立したプロジェクトであり、同社による承認も受けていません。ServiceNowはServiceNow, Inc.の商標です。

コメント

MCP は初めてですか?

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

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