コンテンツにスキップ

MFA ServiceNow MCP

AI をスクリプトで縛るな。武器を持たせろ。

必要なことを普通の言葉で AI に伝えるだけ。
あとは MCP Skills が処理します。

mfa-servicenow-mcp

ServiceNow管理者向けにブラウザ認証を使うMCPがなかったので、自分で作りました。

ServiceNow Portalを開発していたことがきっかけです — ウィジェット、ページ、スクリプトインクルードが 絡み合った依存関係グラフ。
本当に難しいのはコードを直すことではなく、何が実際に壊れているのか、触る前に正確に診断することでした。
AIエージェントがその診断を確実にこなせると分かってから、次の疑問は自然に、テストとデプロイまで 安全に任せられるかということになりました。

その診断にはTable APIだけでは不十分でした。
Flow Designerの本当の構造 — トリガー、アクション、フローがなぜ実行された(されなかった)のか — は、通常のREST認証では届かないセッション専用エンドポイントの奥にあります。
そのため、このツールは設定ファイルに埋め込まれたAPIキーではなく、本物のブラウザ認証へと拡張する 必要がありました。
管理者に本当に必要なのは、実際の管理者がすでに持っているもの — MFA/SSO/SAMLで保護された本物の セッションです。
ServiceNowに対してそれをしてくれるMCPがなかったので、それがこのプロジェクトの核となる構造に なりました — エージェントはキーを持つ代わりに、実際のブラウザセッションをそのまま引き継ぎます。

そこから、これは単なるAPIラッパーではなくなりました。
すべての書き込みは、熟練したエンジニアが手作業で行うのと同じ手順を踏みます — ローカルファースト、 プッシュ前にライブサーバーとdiff、競合する変更は静かに上書きされる代わりに検知されるようアンカリング、 そして証明可能であること — デプロイXMLは実際にライブインスタンスから来たことを示す証明書を伴います。

トークンコストも同じ扱いを受けました — すべてのスキーマは圧縮され、すべてのパッケージは エージェントが実際に使える範囲だけに絞られています。
ここでの設計上の選択はすべて、仕様書からではなく、実際のServiceNow Portal業務で実戦検証を重ねて 生まれたものです。

🔎 正確な診断

どのウィジェット、どのスクリプトインクルード、どのフローか — スタックトレースから当てずっぽうで判断する代わりに、実際の依存関係チェーンを追跡します。

🔑 秘密情報ではなくセッション

Flow Designerの本当の構造は、Table APIが届かないセッション専用エンドポイントの奥にあります。エージェントはAPIキーの代わりに、実際の管理者セッション — MFA、SSO、SAML — をそのまま引き継ぎます。

🧭 アンカー同期

すべてのプッシュは、まずライブレコードとdiffされアンカリングされます — 競合する変更は静かに上書きされず検知されます。

🪶 設計段階からトークンを意識

圧縮されたスキーマ、パッケージ単位のツール、必要なフィールドだけの読み取り — コストは後回しではなく設計上の制約です。


これを貼り付けるだけ。それで完了。

下の行を任意の AI コーディングアシスタントにコピーしてください。
uv、Playwright、MCP 設定、スキルまで — すべて自動でインストールします。

Install and configure mfa-servicenow-mcp by following the instructions here:
curl -s https://raw.githubusercontent.com/jshsakura/mfa-servicenow-mcp/main/docs/llm-setup.md

Claude Code、Cursor、Codex、OpenCode、Windsurf、VS Code Copilot、Antigravity、Zed などで動作します。
AI がクライアントと OS を検出し、対話的にセットアップへ導きます。
セットアップ後は、AI クライアントを再起動 して MCP サーバーを読み込んでください。

企業のセキュリティツールによって uvx がブロックされている場合は、下記の uvx がブロックされる場合(pip) セクションへ進んでください。

インストールしてから、クライアント設定に追加する

ターミナル派ですか? uv + Chromium をインストールしてから、サーバーを MCP クライアントの設定ファイルに追加してください(下記スニペット)。インストーラーコマンドも、クライアントごとのフラグも不要です。

# 1. uv をインストール(まだの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. サーバー + Chromium を先に取得(初回のブラウザ認証呼び出しで
#    ~150 MB のダウンロードによるタイムアウトを防ぐため)
uvx --refresh --with playwright --from mfa-servicenow-mcp servicenow-mcp --version
uvx --with playwright playwright install chromium

# 3. MCP クライアント設定にサーバーを追加 — 下記のスニペットをコピー
# 1. uv をインストール(まだの場合)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 2. サーバー + Chromium を先に取得(初回のブラウザ認証呼び出しで
#    ~150 MB のダウンロードによるタイムアウトを防ぐため)
uvx --refresh --with playwright --from mfa-servicenow-mcp servicenow-mcp --version
uvx --with playwright playwright install chromium

# 3. MCP クライアント設定にサーバーを追加 — 下記のスニペットをコピー

pip でインストールする

Windows の Smart App Control は uvx をブロックします。uvx は実行のたびに署名のない一時実行ファイルを展開するためです。少し前まで動いていた uvx が Windows Update の直後に動かなくなったなら、原因はこれです。pip でインストールし、サーバーはモジュールとして起動してください — servicenow-mcp コンソールスクリプトは pip が生成する署名のない .exe ラッパーなので、同じ理由でブロックされます。

# Homebrew やディストリ標準の Python はグローバルな pip インストールを拒否します (PEP 668)。
# python.org 版の Python を使うか、上の uvx のままでも構いません。
pip install mfa-servicenow-mcp playwright
python -m playwright install chromium

# 確認:
python -m servicenow_mcp --version

# 後で更新する場合:
pip install --upgrade mfa-servicenow-mcp playwright
python -m playwright install chromium
# python.org の Python 3.10+ は署名済みで Smart App Control を通過します。
pip install mfa-servicenow-mcp playwright
python -m playwright install chromium

# 確認:
python -m servicenow_mcp --version

# 後で更新する場合:
pip install --upgrade mfa-servicenow-mcp playwright
python -m playwright install chromium

env ブロックはどちらでも同じで、変わるのは commandargs だけです。下記の 手動フォールバック セクションのスニペットを貼り付け、commandpythonargs[“-m”, “servicenow_mcp”] に設定してください。

クライアント設定を手動で修復または検査する

インストーラーが推奨される方法です。下記の生の設定例は、クライアント設定を手作業で検査または修復する必要がある場合にのみ使用してください。

4 つの異なる形が、サポートされているすべてのクライアントをカバーします。env ブロックはどこでも同一です — 外側のラッパーだけが異なります。

{
"mcpServers": {
  "servicenow": {
    "command": "uvx",
    "args": ["--with", "playwright", "--from", "mfa-servicenow-mcp", "servicenow-mcp"],
    "env": {
      "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_AUTH_TYPE": "browser",
        "SERVICENOW_BROWSER_HEADLESS": "false",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_PASSWORD": "your-password"
    }
  }
}
}
{
"servicenow": {
  "command": "uvx",
  "args": ["--with", "playwright", "--from", "mfa-servicenow-mcp", "servicenow-mcp"],
  "env": {
    "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_AUTH_TYPE": "browser",
        "SERVICENOW_BROWSER_HEADLESS": "false",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_PASSWORD": "your-password"
  }
}
}
[mcp_servers.servicenow]
command = "uvx"
args = ["--with", "playwright", "--from", "mfa-servicenow-mcp", "servicenow-mcp"]
enabled = true

[mcp_servers.servicenow.env]
SERVICENOW_INSTANCE_URL = "https://your-instance.service-now.com"
SERVICENOW_AUTH_TYPE = "browser"
SERVICENOW_BROWSER_HEADLESS = "false"
SERVICENOW_USERNAME = "your-username"
SERVICENOW_PASSWORD = "your-password"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
  "servicenow": {
    "type": "local",
    "command": [
      "uvx", "--with", "playwright",
      "--from", "mfa-servicenow-mcp", "servicenow-mcp"
    ],
    "enabled": true,
    "environment": {
      "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_AUTH_TYPE": "browser",
        "SERVICENOW_BROWSER_HEADLESS": "false",
        "SERVICENOW_USERNAME": "your-username",
        "SERVICENOW_PASSWORD": "your-password"
    }
  }
}
}

読み取り専用の standard パッケージがデフォルトで読み込まれます — MCP_TOOL_PACKAGE は不要です。 書き込みアクセスには、高度なパッケージ(service_deskportal_developerplatform_developer、または full)に設定してください — ツールパッケージ(高度)ガイド を参照。

LLM 最適化スキルを追加する

ツールだけでは生の API 呼び出しにすぎません。スキルこそが LLM を実際に役立つものにします —
安全ゲート、ロールバック、コンテキスト対応の委譲を備えた検証済みパイプライン。
今日は 4 スキル、リリースのたびに増えていきます。

uvx --from mfa-servicenow-mcp servicenow-mcp-skills claude
uvx --from mfa-servicenow-mcp servicenow-mcp-skills codex
uvx --from mfa-servicenow-mcp servicenow-mcp-skills opencode
uvx --from mfa-servicenow-mcp servicenow-mcp-skills antigravity

🔍 analyze/

1 スキル — ローカルソース監査: 相互参照、デッドコード、実行順序、HTML レポート

🧭 explore/

1 スキル — フロートリガートレース: テーブル変更時にどのワークフロー/フローが発火するか

📦 manage/

2 スキル — アプリソースダウンロード、ローカル同期(diff → 競合検出付きプッシュ)

常に最新バージョンを実行する

uvx は最後にダウンロードしたバージョンをキャッシュします — 自動更新は されません
uv 経由でアップグレードして最新リリースを取得してください:

uvx --refresh --from mfa-servicenow-mcp servicenow-mcp --version

その後、MCP クライアント(Claude Code、Cursor など)を再起動して新しいバージョンを読み込んでください。

75登録済みツール
MFAネイティブ対応
3スキルカテゴリ
0共有されたクレデンシャル

本番までの 3 ステップ

設定する API キーも、設定ファイル内のパスワードもありません。
ブラウザで一度認証すれば、AI エージェントがライブセッションを引き継ぎます。

1

インストール

uvx による 1 コマンドですべてをセットアップ。設定ゼロ。

2

認証

MFA、SSO、SAML — 組織が要求するものは何でも、実ブラウザが開きます。

3

接続

Claude、Cursor、Zed、または任意の MCP クライアントを向けるだけ。75 個の登録済みツールがアクティブなパッケージプロファイルを通じて読み込まれます。


エンタープライズ向けに構築

AI エージェントと ServiceNow を、安全かつ大規模に橋渡しするために必要なすべて。

🔒 ゼロトラストセキュリティ

ブラウザベースの認証により、クレデンシャルがマシンから出ることはありません。MFA、SSO、SAML、そして組織が使う任意のログインフローに対応します。

⚡ トークン効率の高いパフォーマンス

遅延ツール検出、パッケージスコープのスキーマ、コンパクトな JSON、レスポンスキャッシュ、バッチ読み取りにより、起動と LLM のコンテキストコストを抑えます。

🧩 安全なデータ比較

任意の名前付きインスタンスは、読み取り専用の dev/test ドリフトチェックに限定されます。通常のツールは 1 つのアクティブなインスタンスに固定されたままです。

🤖 幅広いクライアント対応

Claude、Codex、Cursor、Zed、Antigravity、OpenCode、Windsurf、VS Code Copilot、そして stdio または Streamable HTTP 経由の MCP クライアントで動作します。


AI を ServiceNow に接続する準備はできましたか?

ステップバイステップのガイドで、5 分以内にセットアップできます。

セットアップガイドを読む