bmc-helix-mcp について
bmc-helix-mcpは、BMC Helix ITSMを用いたSRE運用向けのTypeScript製MCPサーバーです。フォーム、CMDB構成アイテム、変更や問題の関連をREST APIで検索し、HTTPと任意のTLS通信に対応します。
主な機能
- 01フォームレコードの取得とページング
- 02IDまたは名前によるCMDB項目検索
- 03変更要求タスクの取得
- 04インシデントに関連する問題の検索
- 05変更に関連する構成アイテムの確認
- 06HTTPと任意のHTTPS通信
活用シーン
- 01BMC Helixのフォームレコード検索
- 02IDまたは名前によるCMDB項目の検索
- 03変更に関するタスクと構成アイテムの確認
MCP 対応
MCPクライアントがBMC Helix ITSM REST APIを照会できるツールを登録します。フォームデータ、CMDB項目、タスク、インシデントや変更の関連情報を扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y bmc-helix-mcpHELIX_API_URLBMC Helix Entry level REST API URL endpoint.HELIX_TOKEN_URLシークレットBMC Helix JWT Login endpoint URL.HELIX_USERIDBMC Helix API Username/UserID.HELIX_PASSWORDシークレットBMC Helix API User Password.HELIX_CERT_PATHPath to the retrieved BMC Helix TLS certificate chain.MCP_PORTThe port number on which the MCP Server should run.MCP_AUTH_TOKENシークレットOptional Bearer token to secure the MCP Server communication.MCP_TLS_ENABLEDSet to true to run the MCP Server with secure TLS (HTTPS).MCP_TLS_KEYシークレットPath to the TLS private key file.MCP_TLS_CERTPath to the TLS certificate file.MCP_TLS_CAPath to the TLS Certificate Authority (CA) file.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
BMC Helix MCP サーバー
BMC Helix MCP Server は、BMC Helix ITSM REST API を使用する SRE 運用向けの Model Context Protocol(MCP)サーバーです。TypeScript で実装され、Express を使用しており、HTTPS/TLS を任意で設定できます。
リリースや更新の詳細については、変更履歴をご覧ください。
プロジェクトの機能
- Model Context Protocol(MCP)のサポート:
@modelcontextprotocol/sdkを使用して構築されており、LLM やコーディングアシスタントとシームレスに統合できます。 - フォームおよび CI 操作: テーブルデータの取得とページネーション、ID または名前による CMDB CI のクエリ、タスク、関連付け、関係の確認を行うネイティブの BMC Helix ITSM REST API 呼び出しをラップします。
- Express + HTTPS: 標準の HTTP に加え、TLS 証明書の完全な検証設定を備えたセキュアな HTTPS をサポートします。
- Node v24 と最新の ES モジュール構成。
ディレクトリ構成
src/mcp-server.ts:Express トランスポートとツールのマッピングを備えた、完全な型定義とレート制限付きの MCP サーバーアプリケーションです。certs/:セキュアな TLS を有効にするための、ローカルクライアントおよびサーバー CA キー、設定、スクリプトを格納します。tests/:モック Helix サーバーを使用して、サーバーのエンドポイント、認証、ツールスキーマを検証する統合テストです。
登録済み MCP ツール
サーバーは、以下の高価値なツールを登録します。
helix_get_table_data:任意の BMC Helix フォーム(例:HPD:IncidentInterface、CHG:Infrastructure Change)から、任意のクエリフィルターとレコード数の上限を指定してレコードを取得します。helix_get_table_data_paginated:オフセットベースのページネーションを使用して、フォームから複数ページのレコードを自動的に取得し、集約します。helix_get_ci_by_id:一意のエントリー Request ID を指定して、BMC.CORE:BMC_BaseElementから構成アイテムの属性を取得します。helix_get_ci_by_name:名前で CMDB レコードを検索します。helix_get_change_request_tasks:指定された Change ID(CRQ...)の子タスクリストをTMS:Taskから取得します。helix_get_problem_investigation_id:指定されたインシデントチケットに関連付けられた Problem ID を検索します。helix_get_change_configuration_items:Change ID に関連付けられた AST 構成アイテムを検索します。
インストールとセットアップ
.env.exampleを.envにコピーし、詳細を入力します。
cp .env.example .env
.envの設定項目:
HELIX_API_URL:BMC Helix のエントリーレベル URL エンドポイントです。HELIX_TOKEN_URL:JWT ログインペイロードの URL エンドポイントです。HELIX_USERID/HELIX_PASSWORD:Helix API の認証情報です。MCP_PORT:Web サーバーのポートです(デフォルトは 3000)。MCP_AUTH_TOKEN:MCP エンドポイントを外部から保護するための、任意の API 認証用 Bearer トークンです。MCP_TLS_ENABLED:Express リスナーで TLS を有効にするにはtrueを設定します。
- BMC Helix から TLS 証明書を取得します。
BMC Helix インスタンスで自己署名証明書、内部 CA 証明書、またはカスタム CA 証明書を使用している場合は、ヘルパースクリプトを使って証明書チェーンを自動取得できます。
./certs/helix-certs.sh https://your-helix-instance.onbmc.com
これにより、openssl を使って Web サイトの証明書チェーンを取得し、certs/helix-certs.pem に保存します。その後、.env の設定で参照します。
HELIX_CERT_PATH=./certs/helix-certs.pem
- 依存関係をインストールします。
npm install
- アプリケーションをビルドします。
npm run build
- サーバーを起動します(開発/本番)。
- 本番モード:
npm run start - 開発モード:
npm run dev
テスト
このプロジェクトには、Node の組み込みテストランナー(--test 経由)を使用した統合テストスイートが含まれています。モック BMC Helix サーバー環境に対して実行し、次の項目を検証します。
- サーバーの初期化とヘルスステータスの確認。
- API 認証とセキュリティ認可フィルター(例:
MCP_AUTH_TOKENの動作の検証)。 - ツールの定義と構造化クエリ機能。
- ツールの取得に関する一連のエンドツーエンドのフロー実行(
helix_get_table_data、helix_get_table_data_paginated、CI クエリ、Change/Problem の関係)。
テストスイートを実行するには、次のコマンドを実行します。
npm test
このコマンドは、TypeScript コードベースを本番用出力ディレクトリにコンパイルし、統合モックサーバーを起動して、MCP サーバーを分離されたサブプロセスとして立ち上げ、すべての検証アサーションを実行します。
コントリビューション
このプロジェクトへのコントリビューションを歓迎します。コントリビューションを行う際は、Developer Certificate of Origin(DCO)への準拠を証明するため、コミットに署名するようお願いします。
Developer Certificate of Origin 1.1
DCO は、コントリビューターがプロジェクトのオープンソースライセンスに基づいてコードを提出する権利を持つことを保証する、簡潔な法的枠組みです。コミットに署名することで、コードをコントリビュートする権利があり、プロジェクトのライセンス条項に準拠していることを証明できます。
署名方法
DCO への同意を証明するには、すべてのコミットメッセージに Signed-off-by 行を追加します。コミット時に -s または --signoff フラグを付けると、自動で追加できます。
git commit -s -m "Your commit message"
これにより、次のような行がコミットメッセージに追加されます。
Signed-off-by: Jane Doe <[email protected]>
変更履歴
変更履歴については、CHANGELOG.md を参照してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。