キーワード一言で業務システムのデータフロー図が出てきた話
「このシステム、どこから調べればいいですか」と聞かれるたびに、同じ説明をしていました。数百ジョブ、数万ファイルを事前に分析してwebappで確認できる仕組みは作ってありました。でも、分析結果を横断的に組み合わせて答えを出すのは、結局人間の頭の中でした。そこにMCPでAIエージェント向けのフロントエンドを追加したら、AIエージェントがキーワードひとつで分析結果を引き出し、Mermaid図まで生成するようになりました。
「このシステム、どこから調べればいいですか?」という問いに毎回答えていませんか?
新メンバーが入るたびに、同じ説明を繰り返しているチームは多いと思います。
設計書はあるが、3年前のもので現在の実装とは大きく違う
コードを読もうとしても、どのファイルから始めればいいかわからない
詳しい人に聞けば教えてもらえるが、その人が忙しいと手が止まる
これは「ドキュメントが足りない」という問題ではないと、最近気がつきました。正確には、「分析結果はあるのに、それを組み合わせて答えを出す入口がない」という問題です。
まず分析基盤を作り、次にMCPフロントエンドを追加した
私たちのチームでは、保守対象のシステムを事前に静的解析しています。対象は数百のバッチジョブです。ジョブごとに以下をすべて調査済みです。
バッチジョブ定義
ジョブが呼び出すスクリプトのコールスタック(すべての階層)
DB定義
設定ファイル
これらの分析結果から、ジョブフロー、データフロー、シーケンス、CRUDマトリクス、file IOマトリクスなど、保守案件で必要なビューを順次追加しています。分析結果はwebappで確認できる状態でした。
ただ、webappには限界がありました。個別のジョブの分析結果は見られるけれど、複数の分析結果を組み合わせて「このテーブルに影響するジョブは何か」「このフローの上流にある処理は何か」と横断的に答えを出すには、人間が頭の中でつなぎ合わせる必要がありました。
そこで、このwebappに MCP(Model Context Protocol)フロントエンドを追加 しました。AIエージェントが分析結果を直接参照できるようにしたのです。
「督促管理システムのデータフローを見せて」と打ったら
MCPフロントエンドを追加した状態で、チームの勉強会で実演しました。
「督促管理システムのデータフローを見せて」と打ち込みます。AIエージェントがMCPサーバー経由で分析結果を取得し、複数ジョブの分析結果を組み合わせて、Mermaid形式のデータフロー図を生成しました。数分で出てきます。
webappでは得られなかったものも出るようになりました。複数の分析結果を横断したサマリーや、ジョブ間の依存関係の傾向分析です。個別のビューを人間がつなぎ合わせていた作業を、AIエージェントが代行しているのです。
事前分析 + MCP + AIエージェントの役割分担

この仕組みが機能するのは、3つの役割が分離しているからです。
事前分析(重い処理を先に済ませる) : 数百ジョブ・数万ファイルの静的解析は事前に完了。コールスタック、DB定義、設定をすべてジョブ単位で構造化済み。
MCPサーバー(分析結果への窓口) : webappに追加したフロントエンド。AIエージェントが分析結果を取得できるインターフェースとして機能。
AIエージェント(組み合わせと図解の生成) : MCPから取得した分析結果を組み合わせ、Mermaid図やサマリーを生成。webappでは得られなかった横断的な分析も実施。
従来なら、コードを読める担当者を捕まえ、空き時間を確認し、口頭説明をメモに起こすまで半日かかっていました。事前分析のwebappでも、複数ジョブを横断する調査は人間の頭に頼っていました。MCPを追加したことで、キーワードを打ち込んでから数分で横断的な図解が出てきます。
試してみてわかったこと
私が最初に試したとき、「XXシステムについて教えて」と打ったら、対象が広すぎて大量の分析結果が返ってきました。キーワードの粒度が大きすぎると、AIエージェントが扱う情報量が膨らみすぎるのです。「XXシステムの受注確定フローを教えて」のように業務ステップまで絞り込んで打ち直したところ、一気に精度が上がりました。
問いの粒度によって出力が変わるので、最初は「概要を教えて」から始めて、気になる部分を掘り下げる形が使いやすいと感じています。
問いかけるだけで、分析結果が語り始める
この仕組みを使って一番変わったのは、「システムへの問いかけ方」です。
今まで、保守案件の調査は「分析結果を1つずつ開いて頭の中でつなぎ合わせる作業」でした。今は「良い問いを立てる作業」になりつつあります。事前分析で構造化されたデータがあり、MCPでAIエージェントが横断的に参照できる。人間の役割は、何を知りたいかを言葉にすることに変わりました。
あなたのチームで、「詳しい人に聞かないとわからない」システムはどれくらいありますか。
いいなと思ったら応援しよう!
いつも応援していただいている皆さん支えられています。