MCP Server for ServiceNow について
ServiceNowの操作をClaudeや他のMCPクライアントに公開するMCPサーバーです。ITSM、CMDB、開発、連携、ワークフロー向けのツール群を備え、stdioとHTTPに対応しています。
主な機能
- 01ITSMのインシデント・変更ツール
- 02CMDBとディスカバリー操作
- 03開発・データ管理ツール
- 04ワークフロー・連携ツール
- 05任意で使えるRAGナレッジ検索
- 06stdioとHTTPのトランスポート
活用シーン
- 01インシデントやサービスリクエストの処理
- 02CMDBとディスカバリータスクの管理
- 03ServiceNow開発ツールの利用
- 04ServiceNowナレッジのセマンティック検索
MCP 対応
MCPクライアント向けにServiceNowの機能をツールとして公開します。stdioとHTTPのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
servicenow-mcp
Claude が ServiceNow インスタンスとやり取りできるようにする MCP(Model Context Protocol)サーバーです。ServiceNow の機能を、Claude Desktop または MCP 互換クライアントから Claude が直接呼び出せるツールとして公開します。
要件
- Python 3.10+
- ServiceNow インスタンス(開発者インスタンスでも問題ありません)
- Claude Desktop または別の MCP クライアント
インストール
pip install -r requirements.txt
RAG ベースのナレッジ検索を利用する場合(任意):
pip install chromadb sentence-transformers
設定
以下の環境変数を設定します(または .env.example を .env にコピーします):
SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
# Optional — enables semantic knowledge search
OPENAI_API_KEY=your-openai-key
トランスポートの選択
サーバーは 2 種類のトランスポートに対応しています:
| トランスポート | 使用する場面 |
|---|---|
stdio(デフォルト) | Claude Desktop — 標準的なローカル構成 |
http | Cursor、Cline、LangChain、OpenAI Agents SDK、Web クライアント全般 |
Claude Desktop の設定
claude_desktop_config.json に以下を追加します:
{
"mcpServers": {
"servicenow": {
"command": "python",
"args": ["-m", "servicenow_mcp"],
"env": {
"SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
"SERVICENOW_USERNAME": "your-username",
"SERVICENOW_PASSWORD": "your-password"
}
}
}
}
HTTP トランスポート(Cursor、Cline、LangChain、OpenAI Agents SDK)
HTTP モードでサーバーを起動します:
MCP_TRANSPORT=http python -m servicenow_mcp
MCP エンドポイントは http://localhost:8000/mcp です。
すべてのリクエストで API キーを必須にするには:
MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python -m servicenow_mcp
クライアントは、各リクエストに Authorization: Bearer your-secret-key を含める必要があります。
Cursor / Cline の設定
{
"mcpServers": {
"servicenow": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer your-secret-key"
}
}
}
}
Docker + HTTP モード
docker run -p 8000:8000 \
-e MCP_TRANSPORT=http \
-e MCP_API_KEY=your-secret-key \
-e SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com \
-e SERVICENOW_USERNAME=your-username \
-e SERVICENOW_PASSWORD=your-password \
servicenow-mcp
含まれる機能
ツールはドメインごとにパックにまとめられています:
| カテゴリー | パック |
|---|---|
| コア開発 | scripts、dev、background scripts、senior dev |
| データ/設定 | tables、data import/export、update sets、attachments |
| ITSM | incidents、changes、problems、requests、approvals |
| CMDB/ディスカバリー | CMDB、CSDM、discovery、ITAM、ITOM、SAM/HAM |
| ワークフロー | Flow Designer、pipelines、planner |
| インテグレーション | Scripted REST APIs、integration hub |
| UI | UI Builder、service catalog、UX |
| アプリ開発 | scoped apps、best practices、naming conventions |
| テスト | ATF、トラブルシューティング |
| ナレッジ | docs search、knowledge base、RAG search |
| セキュリティ | governance、impersonation、events |
Docker での実行
Python 環境の設定を避けたい場合は、代わりに Docker 内でサーバーを実行できます。
-
Docker Desktop がインストールされ、起動していることを確認します。
-
.env.exampleを.envにコピーし、ServiceNow の認証情報を入力します:cp .env.example .env # then open .env and set SERVICENOW_INSTANCE_URL, SERVICENOW_USERNAME, SERVICENOW_PASSWORD -
コンテナーをビルドして起動します:
docker-compose up --build初回の実行では、すべてのダウンロードとビルドに 1 分ほどかかります。それ以降はすぐに起動します。
-
停止するには:
docker-compose down
これで完了です。ログはプロジェクトディレクトリ内の logs/ フォルダーに保存されます。
Claude Desktop で使用する場合は、引き続き
python -m servicenow_mcpを使って実行する必要があります(Claude Desktop との連携では HTTP ではなく stdin/stdout を介して通信します)。Docker は、スタンドアロンサービスとして実行する場合や、単独でテストする場合に便利です。
テストの実行
pytest
コントリビューション
CONTRIBUTING.md を参照してください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。