mcpField
B
business-app-insights

business-app-insights

github.com/happy-technologies-llcデータ・データベース4141 回インストール2 日前に更新
リポジトリ

business-app-insights について

ServiceNow の CMDB と Enterprise Architecture に登録されたビジネスアプリケーションを分析するスキルです。エンタープライズアーキテクトやアプリケーションポートフォリオ担当者向けに、健全性、依存関係、技術標準、ライフサイクル、設計判断をレポートにまとめます。

主な機能

  1. 01ビジネスアプリケーションとポートフォリオの検索
  2. 02上流・下流の依存関係のマッピング
  3. 03技術標準とライフサイクルの照合
  4. 04インシデントと変更データの分析
  5. 05設計判断とアーキテクチャ図の関連付け

活用シーン

  1. 01アプリケーションの健全性と運用リスクの評価
  2. 02モダナイズや廃止の候補の特定
  3. 03アプリケーションポートフォリオの概要作成
  4. 04M&A の調査に向けた依存関係の把握

MCP 対応

ServiceNow の MCP ツールを使用して、ビジネスアプリケーション、CMDB の関係、技術標準、インシデント、変更、設計判断レコード、図を検索します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill business-app-insights

インストール後、Claude Code で/business-app-insightsを入力して読み込まれたか確認します。

詳細

ビジネスアプリケーションのインサイト

概要

このスキルでは、ServiceNow の CMDB およびエンタープライズアーキテクチャモジュールに登録されているビジネスアプリケーションについて、包括的なインサイトを生成します。

  • インシデント、変更、停止のデータを通じてアプリケーションの健全性を評価する
  • CMDB の関係を通じて上流および下流の依存関係をマッピングする
  • テクノロジースタックとエンタープライズ標準との整合性を分析する
  • ライフサイクル段階、リスク、コストに基づいてモダナイゼーション候補を特定する
  • エグゼクティブダッシュボード向けにアプリケーションポートフォリオの概要を生成する
  • アプリケーションとアーキテクチャ決定記録を関連付ける

使用するタイミング: アプリケーションポートフォリオの合理化、テクノロジー刷新計画、M&A のデューデリジェンス、リスク評価の際や、アーキテクトがアプリケーションの状況を包括的に把握する必要がある場合に使用します。

前提条件

  • ロール: ea_admin、ea_viewer、itil、cmdb_read、または admin
  • アクセス: cmdb_ci_business_app、cmdb_rel_ci、sn_ea_tech_standard、sn_ea_architecture_decision_record テーブル
  • 知識: CMDB データモデル、アプリケーションライフサイクル管理、エンタープライズアーキテクチャの概念
  • プラグイン: Enterprise Architecture(com.sn_ea)、CMDB(com.snc.cmdb)が有効化されている必要があります
  • 関連スキル: 意思決定の履歴を把握するため、ea/adr-summarization を完了してください

手順

ステップ 1:ビジネスアプリケーションのデータモデルを理解する
cmdb_ci_business_app (Business Application)
├── cmdb_rel_ci (Relationships) ── upstream/downstream CIs
├── sn_ea_tech_standard (Technology Standards)
├── sn_ea_architecture_decision_record (ADRs)
├── sn_ea_diagram (Architecture Diagrams)
├── incident (Related Incidents)
├── change_request (Related Changes)
└── sys_user / sys_user_group (Owners / Support Groups)

主要なテーブル:

テーブル目的
cmdb_ci_business_appライフサイクル、重要度、所有者を含むビジネスアプリケーションのレコード
cmdb_rel_ci依存関係のマッピングに使用する CI 間の関係
sn_ea_tech_standardテクノロジー標準とライフサイクル状況
sn_ea_diagramアプリケーションにリンクされたアーキテクチャ図
sn_ea_architecture_decision_recordアプリケーションに影響するアーキテクチャ上の決定
ステップ 2:ビジネスアプリケーションの詳細を取得する

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: name=[app_name]
  fields: sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor,cost_center,support_group,managed_by
  limit: 10

REST を使用する方法:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=name=[app_name]&sysparm_fields=sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor&sysparm_limit=10" \
  -H "Accept: application/json"
ステップ 3:アプリケーションポートフォリオの概要を照会する

主要な指標とともにすべてのビジネスアプリケーションを取得します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: operational_status=1^ORoperational_status=2
  fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor,used_for
  limit: 200

REST を使用する方法:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=operational_status=1^ORoperational_status=2&sysparm_fields=sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor&sysparm_limit=200" \
  -H "Accept: application/json"
ステップ 4:アプリケーションの依存関係をマッピングする

上流の依存関係(このアプリが依存する対象)を照会します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: child=[app_sys_id]
  fields: sys_id,parent,child,type,connection_strength
  limit: 100

下流の依存関係(このアプリに依存する対象)を照会します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[app_sys_id]
  fields: sys_id,parent,child,type,connection_strength
  limit: 100

REST を使用する方法:

# Upstream
curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=child=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
  -H "Accept: application/json"

# Downstream
curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=parent=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
  -H "Accept: application/json"
ステップ 5:テクノロジースタックとの整合性を分析する

テクノロジー標準を取得します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_tech_standard
  query: active=true
  fields: sys_id,name,description,status,lifecycle_stage,standard_type,category
  limit: 200

アプリケーションがどの標準に準拠しているかを確認します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_tech_standard
  query: related_business_appLIKE[app_sys_id]
  fields: sys_id,name,status,lifecycle_stage,standard_type
  limit: 50
ステップ 6:インシデントを通じてアプリケーションの健全性を評価する

アプリケーションの最近のインシデントを照会します。

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)
  fields: sys_id,number,short_description,priority,state,resolved_at,sys_created_on
  limit: 100

REST を使用する方法:

curl -u "$SN_USER:$SN_PASS" \
  "$SN_INSTANCE/api/now/table/incident?sysparm_query=cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)&sysparm_fields=sys_id,number,short_description,priority,state&sysparm_limit=100" \
  -H "Accept: application/json"
ステップ 7:変更頻度を評価する

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(180)
  fields: sys_id,number,short_description,type,state,risk,sys_created_on
  limit: 100
ステップ 8:関連するアーキテクチャ上の決定を取得する

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_architecture_decision_record
  query: business_application=[app_sys_id]
  fields: sys_id,number,title,state,decision,consequences,sys_created_on
  limit: 50
ステップ 9:アーキテクチャ図を取得する

MCP を使用する方法:

Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_diagram
  query: related_record=[app_sys_id]
  fields: sys_id,name,description,diagram_type,sys_updated_on
  limit: 20
ステップ 10:アプリケーションインサイトレポートを作成する

次のテンプレートを使用して、構造化されたレポートを生成します。

Application Insight Report: [App Name]
================================================
Business Criticality: [Level]
Lifecycle Stage: [Stage]
Operational Status: [Status]
Owner: [Owner Name]
Vendor: [Vendor]

HEALTH SUMMARY:
- Incidents (last 90 days): [Count] ([P1]: X, [P2]: Y, [P3]: Z)
- Changes (last 180 days): [Count]
- Availability: [Derived metric]

DEPENDENCY MAP:
Upstream (depends on):
  - [CI Name] (Type: [Rel Type])
Downstream (depended on by):
  - [CI Name] (Type: [Rel Type])

TECHNOLOGY STACK:
- [Standard Name] - Status: [Approved/Retiring/Prohibited]

ARCHITECTURE DECISIONS:
- [ADR Number]: [Title] - [State]

MODERNIZATION ASSESSMENT:
- Lifecycle Risk: [Low/Medium/High]
- Technical Debt Indicators: [List]
- Recommended Actions: [List]

DIAGRAMS:
- [Diagram Name] (Type: [Type])

ツールの使用方法

アクションMCP ツールREST エンドポイント
アプリケーションの詳細を取得SN-Get-RecordGET /api/now/table/cmdb_ci_business_app/{sys_id}
アプリケーションを照会SN-Query-TableGET /api/now/table/cmdb_ci_business_app
依存関係をマッピングSN-Query-TableGET /api/now/table/cmdb_rel_ci
テクノロジー標準を取得SN-Query-TableGET /api/now/table/sn_ea_tech_standard
インシデントを取得SN-Query-TableGET /api/now/table/incident
変更を取得SN-Query-TableGET /api/now/table/change_request
ADR を取得SN-Query-TableGET /api/now/table/sn_ea_architecture_decision_record
図を取得SN-Query-TableGET /api/now/table/sn_ea_diagram

ベストプラクティス

  • 重要度から始める: まずビジネスクリティカルなアプリケーション(重要度 1 または 2)に分析対象を絞ります
  • ライフサイクルの段階を活用する: lifecycle_stage フィールドを使って、廃止またはモダナイズの候補を特定します
  • インシデントと変更を相互参照する: インシデント件数が多い場合は、最近の変更と関連付けて根本原因のパターンを探ります
  • 依存関係の連鎖全体をマッピングする: 依存関係グラフを 2~3 レベルたどり、影響範囲を把握します
  • コストデータを含める: 利用可能な場合は、cost_center と TCO のデータを取り入れて財務面の分析に役立てます
  • 標準と比較する: ライフサイクル段階が「Retiring」または「Prohibited」のテクノロジーを使用しているアプリケーションにフラグを立てます
  • インシデント分析の期間を限定する: ノイズを抑えながら現在の傾向を把握するため、ヘルスメトリクスには 90 日間の期間を使用します
  • ポートフォリオビュー向けに集約する: 個々のアプリケーションの分析結果を、ドメインまたはケイパビリティレベルの概要にまとめます
  • オーナーに確認する: 自動分析の結果を公開する前に、必ずアプリケーションオーナーに確認します

トラブルシューティング

依存関係が見つからない

症状: アプリケーションに対して cmdb_rel_ci を実行しても結果が返されない 原因:

  1. CMDB に関係が登録されていない
  2. アプリケーションが別の CI クラスとして登録されている
  3. 関係の方向が逆になっている 解決策:
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[app_sys_id]^ORchild=[app_sys_id]
  fields: sys_id,parent,child,type
  limit: 50
ビジネスアプリケーションが見つからない

症状: アプリケーション名でクエリを実行しても結果が返されない 原因: アプリケーションが別の名前または CI クラスで登録されている可能性があります 解決策:

Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: nameLIKE[partial_name]^ORshort_descriptionLIKE[partial_name]
  fields: sys_id,name,short_description,sys_class_name
  limit: 20
テクノロジー標準へのリンクがない

症状: アプリケーションにリンクされたテクノロジー標準がない 原因: 標準が別の関係またはカスタムテーブルを介してリンクされている可能性があります 解決策: 関係フィールドについてはデータディクショナリを確認します:

Tool: SN-Query-Table
Parameters:
  table_name: sys_dictionary
  query: name=sn_ea_tech_standard^elementLIKEapplication
  fields: element,column_label,internal_type
  limit: 20
インシデント件数が多すぎるように見える

症状: 1 つのアプリケーションに対して数百件のインシデントが返される 原因: CMDB 階層を介して、親 CI が子 CI のインシデントを取り込んでいる可能性があります 解決策: CI との直接的な関連付けのみを対象に絞り込みます:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=[app_sys_id]^cmdb_ci.sys_class_name=cmdb_ci_business_app
  fields: sys_id,number,priority
  limit: 200

例

例 1:アプリケーションの包括的な健全性評価
# Step 1: Get application details
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: name=SAP ERP
  fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor
  limit: 1
# Result: sys_id = "app123"

# Step 2: Get dependencies
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=app123^ORchild=app123
  fields: sys_id,parent,child,type
  limit: 100

# Step 3: Get recent incidents
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ci=app123^sys_created_on>=javascript:gs.daysAgo(90)
  fields: sys_id,number,priority,state
  limit: 200

# Step 4: Get architecture decisions
Tool: SN-Query-Table
Parameters:
  table_name: sn_ea_architecture_decision_record
  query: business_application=app123
  fields: sys_id,number,title,state,decision
  limit: 20
例 2:モダナイズ対象となるポートフォリオの候補
# Find applications in "End of Life" or "Retiring" lifecycle stages
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: lifecycle_stage=end_of_life^ORlifecycle_stage=retiring^operational_status=1
  fields: sys_id,name,business_criticality,lifecycle_stage,owner,vendor
  limit: 100
例 3:重要なアプリケーションの依存関係レポート
# Find all critical applications
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_ci_business_app
  query: business_criticality=1^operational_status=1
  fields: sys_id,name,owner,lifecycle_stage
  limit: 50

# For each, query dependency count
Tool: SN-Query-Table
Parameters:
  table_name: cmdb_rel_ci
  query: parent=[each_app_sys_id]
  fields: sys_id,child
  limit: 500

関連スキル

  • ea/adr-summarization - アーキテクチャ決定記録の要約
  • cmdb/ci-discovery - CMDB 構成アイテムの管理
  • cmdb/relationship-mapping - 依存関係の詳細な分析
  • reporting/analytics-generation - ポートフォリオビュー向けのダッシュボード作成
  • spm/project-insights - プロジェクトおよびポートフォリオ管理に関する分析

コメント