Skip to main content
Glama

sn-mcp-bridge

軽量なModel Context Protocol (MCP) サーバーで、AIコーディングアシスタントにServiceNow上での完全な開発機能を提供します — どこにもインストールは不要です。npx 経由でローカル実行し、Table APIを通じてServiceNowに接続します。

ServiceNowはレコードベースの開発プラットフォームです。スクリプトインクルード、ビジネスルール、クライアントスクリプト、UIアクション、ACL — すべての開発成果物はシステムテーブルのレコードです。独立した「コードレイヤー」は存在せず、Table API 開発APIです。つまり、このサーバーを通じたCRUD操作は単なるデータの問い合わせではなく、以下のように構築するための手段です:

  • insert_recordsys_script_include に対して → 新しいスクリプトインクルードを作成

  • update_recordsys_script に対して → ビジネスルールを変更

  • query_datasys_script_client に対して → テーブルの全クライアントスクリプトを読み取り

  • delete_recordsys_ui_action に対して → UIアクションを削除

CRUDを超えたタスク — ロジックのテスト、複雑なGlideRecordクエリの実行、スクリプトインクルードの呼び出し、複数ステップのトランザクション — には、execute_script が完全なサーバーサイドJavaScriptランタイムを提供します。

このサーバーは、認証情報を提供したユーザーアカウントの権限で動作します — そのユーザーがアクセス権を持つテーブルとフィールドのみ読み取り/書き込みが可能です。execute_script ツールは、sys.scripts.do 経由でバックグラウンドスクリプトを実行するため、管理者認証情報が必要です。

認証は Basic認証OAuth 2.0(認可コード) の両方をサポートしています — 認証 を参照してください。

コミュニティでは、多数のオープンソースServiceNow MCPサーバーが共有されています。このサーバーは、シンプルで純粋、そして改善しやすい状態を保つために存在します — プレーンなJSでビルドステップなし(4つのソースファイル、ネイティブ fetch、Node.js 18+)、ツールの追加は server.registerTool() の呼び出し1つです。

ツール

CRUD

ツール

説明

query_data

エンコードされたクエリ、フィールド選択、ページネーションを使用して任意のテーブルからレコードをクエリ

get_record

sys_id で単一のレコードを取得

insert_record

新しいレコードを作成

update_record

既存のレコードを更新

delete_record

sys_id でレコードを削除

スキーマとディスカバリ

ツール

説明

get_table_schema

カラム、タイプ、選択肢、参照、階層を含むテーブルメタデータを取得

get_application_scopes

インスタンス上のすべてのアプリケーションスコープを一覧表示

get_application_tables

指定されたスコープに属するテーブルを一覧表示

get_scoped_app_files

スコープのすべてのアプリケーションファイルをタイプ別にグループ化して一覧表示

分析

ツール

説明

aggregate_data

オプションのグループ化を使用してCOUNT、AVG、MIN、MAX、SUMクエリを実行

get_record_count

テーブルとクエリの単純なレコード数を取得

高度な機能

ツール

説明

search_code

ネイティブのコード検索APIを使用してスクリプトフィールドを横断検索(プラグインが利用できない場合はテーブルクエリにフォールバック)

generate_dbml

インスタンスのテーブルとリレーションシップからDBMLスキーマ図定義を生成

execute_script

sys.scripts.do ¹ を介してインスタンス上でバックグラウンドスクリプトを実行

診断

ツール

説明

explore_syslog

アプリケーションログ(syslog)をクエリ — gs.info/warn/error 出力と例外 ¹

explore_syslog_transaction

単一トランザクションのすべてのログエントリをトレース ¹

explore_node_logs

インスタンスのログファイルブラウザからノードレベルのログを読み取り ¹

¹ これら4つのツールにはユーザー名とパスワードが必要です — 認証 を参照してください。OAuth認証情報のみが設定されている場合、これらは登録されません。

Related MCP server: ServiceNow MCP Server

認証

ブリッジは2つのモードをサポートしています。CLIENT_IDCLIENT_SECRETGRANT_TYPE が設定されている場合はOAuthを選択し、それ以外の場合はBasic認証を使用します。

すべての変数は同じ命名規則に従います:<INSTANCE_NAME>SN_INSTANCE のサブドメインで、大文字に変換されハイフンはアンダースコアに置き換えられます(例:https://mydev01.service-now.comSN_MYDEV01_USERNAME)。プレフィックス付き変数が設定されていない場合、ブリッジはプレフィックスなしの形式(SN_USERNAMESN_CLIENT_ID、…)にフォールバックします。

Basic認証

変数

必須

説明

SN_INSTANCE

はい

インスタンスURL(例:https://mydev01.service-now.com

SN_<INSTANCE_NAME>_USERNAME

はい

Basic認証用のユーザー名

SN_<INSTANCE_NAME>_PASSWORD

はい

Basic認証用のパスワード

警告: 以下の例では、すぐに使い始められるように平文の認証情報を使用しています。これは、パスワードがディスク上のファイルに保存され かつ、LLMプロバイダーへのすべてのAPI呼び出しでAIアシスタントに表示されることを意味します。接続が確認できたら、Secretless AIによる認証情報の保護 の手順に従って、設定ファイルから平文のシークレットを移動することを強くお勧めします!

OAuth 2.0(認可コード)

OAuthは、ServiceNowのパスワードを設定ファイルから完全に排除します。ブリッジはブラウザを通じて一度認証し、その後は短命のアクセストークンを自動的に更新します。

1. ServiceNowでOAuthアプリケーションを登録します。 システムOAuth → アプリケーション登録 に移動し、新規 をクリックして 外部クライアント用のOAuth APIエンドポイントを作成 を選択します。名前を付け、リダイレクトURLhttp://localhost:33380/callback に設定し、保存します。生成された クライアントIDクライアントシークレット をコピーします。

2. ブリッジを設定します:

変数

必須

説明

SN_INSTANCE

はい

インスタンスURL

SN_<INSTANCE_NAME>_CLIENT_ID

はい

アプリケーション登録からのクライアントID

SN_<INSTANCE_NAME>_CLIENT_SECRET

はい

アプリケーション登録からのクライアントシークレット

SN_<INSTANCE_NAME>_GRANT_TYPE

はい

authorization_code(現在サポートされている唯一の付与タイプ)

SN_<INSTANCE_NAME>_REDIRECT_URI

いいえ

デフォルトは http://localhost:33380/callback。OAuthアプリのリダイレクトURLと一致する必要があります

SN_<INSTANCE_NAME>_REFRESH_TOKEN

いいえ

ブラウザステップを完全にスキップするために、別の場所で取得したリフレッシュトークンをシードします

SN_<INSTANCE_NAME>_USE_PKCE

いいえ

S256コードチャレンジを送信するには true に設定します。デフォルトはオフ

CLIENT_ID / CLIENT_SECRET / GRANT_TYPE のいずれか1つだけを設定することは、サイレントにBasic認証にフォールバックするのではなく、起動エラーとなります。

3. 初回実行。 ブリッジはブラウザでインスタンスの同意ページを開きます(URLは、開けない場合にstderrにも出力されます)。承認後、localhost:33380 でリダイレクトをキャプチャし、コードをトークンと交換します。

初回実行は、ブラウザで承認するまで最大3分間ブロックされます。MCPクライアントがタイムアウトしても、通常はトークンはすでに書き込まれています — 再接続するだけでサイレントに起動します。

トークンストレージ。 トークンは ~/.sn-mcp-bridge/tokens.json(ディレクトリ 0700、ファイル 0600)にキャッシュされ、インスタンスホストとクライアントIDでキー付けされるため、複数のインスタンスが1つのファイルに共存できます。以降の実行では、ブラウザ操作なしでキャッシュされたリフレッシュトークンを再利用します。リフレッシュトークンが期限切れになると(ServiceNowではデフォルトで100日)、ブラウザフローが自動的に再トリガーされます。ファイルを削除すると、新しい認証が強制されます。

両方の併用

OAuthはREST/Table APIのみをカバーします。execute_scriptexplore_syslogexplore_syslog_transactionexplore_node_logs は、ベアラートークンでは提供できないフォームログインセッションを必要とするServiceNow UIエンドポイント(sys.scripts.doui_page_process.do)にアクセスします。

OAuth変数 と一緒に USERNAMEPASSWORD を指定した場合、RESTトラフィックはOAuth経由で行われ、これら4つのツールはセッションログインに認証情報を使用します。指定しない場合、これら4つのツールは単に登録されません — アシスタントはそれらを認識しません。

クイックスタート

Claude Code

プロジェクトルートの .mcp.json(そのプロジェクトでのみ利用可能)または ~/.claude/claude_code_config.json(すべてのプロジェクトで利用可能)に追加します:

{
	"mcpServers": {
		"sn_mydev01": {
			"command": "npx",
			"args": ["-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com",
				"SN_MYDEV01_USERNAME": "your_username",
				"SN_MYDEV01_PASSWORD": "your_password"
			}
		}
	}
}

OpenAI Codex

プロジェクトルートの .codex/config.toml(プロジェクトのみ、信頼されたプロジェクトが必要)または ~/.codex/config.toml(すべてのプロジェクトで利用可能)に追加します:

[mcp_servers.sn_mydev01]
command = "npx"
args = ["-y", "sn-mcp-bridge"]

[mcp_servers.sn_mydev01.env]
SN_INSTANCE = "https://mydev01.service-now.com"
SN_MYDEV01_USERNAME = "your_username"
SN_MYDEV01_PASSWORD = "your_password"

VS Code(GitHub Copilot)

プロジェクトの .vscode/mcp.json に追加します:

{
	"servers": {
		"sn_mydev01": {
			"type": "stdio",
			"command": "npx",
			"args": ["-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com",
				"SN_MYDEV01_USERNAME": "your_username",
				"SN_MYDEV01_PASSWORD": "your_password"
			}
		}
	}
}

Cursor

プロジェクトの .cursor/mcp.json に追加します:

{
	"mcpServers": {
		"sn_mydev01": {
			"command": "npx",
			"args": ["-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com",
				"SN_MYDEV01_USERNAME": "your_username",
				"SN_MYDEV01_PASSWORD": "your_password"
			}
		}
	}
}

OAuthの使用

ユーザー名/パスワードのペアをOAuth変数に置き換えます。以下の env ブロックは上記のすべてのエディタに適用されます — 周囲の設定構文のみが異なります:

{
	"mcpServers": {
		"sn_mydev01": {
			"command": "npx",
			"args": ["-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com",
				"SN_MYDEV01_CLIENT_ID": "your_client_id",
				"SN_MYDEV01_CLIENT_SECRET": "your_client_secret",
				"SN_MYDEV01_GRANT_TYPE": "authorization_code"
			}
		}
	}
}

execute_script と診断ツールを利用可能にするには、同じブロックに SN_MYDEV01_USERNAMESN_MYDEV01_PASSWORD を追加します — 両方の併用 を参照してください。

複数インスタンス

インスタンスごとに個別のサーバーエントリを追加します。設定形式は上記と同じです — 異なるサーバー名とインスタンス固有の認証情報でパターンを繰り返すだけです。

Secretless AI による認証情報の保護

Secretless AI は、認証情報を安全なバックエンドに保存し、secretless-ai run を介して実行時に注入します。

以下の例ではユーザー名とパスワードを保護していますが、OAuthを使用している場合は SN_MYDEV01_CLIENT_SECRET にも同じアプローチが機能します。

セットアップ

1. 認証情報を保存します:

npx secretless-ai secret set SN_MYDEV01_USERNAME=your_username

# Omit the value so it prompts interactively — keeps the password out of shell history
npx secretless-ai secret set SN_MYDEV01_PASSWORD

2. MCP設定を更新 して、ラッパーとして secretless-ai run を使用します。--only フラグは、どのシークレットを注入するかを指定します。SN_INSTANCE はシークレットではないため、envブロックに残ります:

{
	"mcpServers": {
		"sn_mydev01": {
			"command": "npx",
			"args": ["-y", "secretless-ai", "run", "--only", "SN_MYDEV01_USERNAME,SN_MYDEV01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com"
			}
		}
	}
}

複数インスタンスの場合は、パターンを繰り返します — 各インスタンスの認証情報をプレフィックス付きの名前で保存し、対応する --only リストを持つサーバーエントリを追加します:

{
	"mcpServers": {
		"sn_mydev01": {
			"command": "npx",
			"args": ["-y", "secretless-ai", "run", "--only", "SN_MYDEV01_USERNAME,SN_MYDEV01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://mydev01.service-now.com"
			}
		},
		"sn_myprod01": {
			"command": "npx",
			"args": ["-y", "secretless-ai", "run", "--only", "SN_MYPROD01_USERNAME,SN_MYPROD01_PASSWORD", "--", "npx", "-y", "sn-mcp-bridge"],
			"env": {
				"SN_INSTANCE": "https://myprod01.service-now.com"
			}
		}
	}
}

他のエディタの設定形式も、Quick Start で示したのと同じパターンに従います。command/args を secretless ラッパーに置き換えるだけです。

サポートされているバックエンド

バックエンド

フラグ

最適な用途

OS Keychain

--backend keychain

macOS(推奨) — 組み込みのキーチェーンを使用し、ログインパスワードとTouch IDで保護されます

Local encrypted file

--backend local

Windows(推奨) — AES-256-GCM暗号化ファイル、追加ソフトウェア不要

1Password

--backend 1password

チームやCI/CD、または1Passwordが既にインストールされているWindowsユーザー向け

HashiCorp Vault

--backend vault

エンタープライズおよびセルフホスト型デプロイメント向け

GCP Secret Manager

--backend gcp-sm

GCPネイティブのワークロード向け

代替手段: protect-mcp

MCP設定がグローバル設定パス(例:~/.vscode/mcp.json~/.cursor/mcp.json)にある場合、protect-mcpを使用して一度に自動スキャンと保護を行うことができます:

npx secretless-ai protect-mcp --backend keychain

mcp-statusmcp-unprotect でステータスを確認したり元に戻したりできます:

npx secretless-ai mcp-status
npx secretless-ai mcp-unprotect

制限事項: protect-mcpmcp-statusmcp-unprotect はグローバル設定ファイルのみを検出します。プロジェクトディレクトリ内の .vscode/mcp.json.mcp.json.codex/config.toml などのワークスペースレベルの設定は検出しません。ワークスペース設定の場合は、上記の secret set + run アプローチを使用してください。

Secretless AIの詳細については、完全なドキュメントを参照してください。

要件

  • Node.js 18+(ネイティブの fetch を使用)

  • REST APIアクセスが可能なServiceNowインスタンス

  • インスタンスの基本認証資格情報、または登録済みのOAuthアプリケーションのいずれか(Authenticationを参照)

ライセンス

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.
    47
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants and development tools to interact with ServiceNow instances, providing comprehensive API coverage for incident management, change management, CMDB, and other ServiceNow modules.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for ServiceNow that provides over 60 pre-built tools for ITSM, ITOM, and App Dev operations, enabling AI agents to manage incidents, changes, users, service catalog, and projects through a unified interface.
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that enables AI assistants to interact with ServiceNow instances, allowing script execution, data querying, ATF tests, and log tailing through natural language commands.
    87
    364
    13
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for AI access to Swagger by SmartBear.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Reecepoulsen/sn-mcp-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server