MCPで、いま動いている業務システムをAI-native化する
「業務システムをAI-nativeにする」と聞くと、いま使っているシステムを廃棄して一から作り直すイメージを持たれるかもしれません。しかし実際には、既存のシステムを稼働させたまま、その手前に「AIとの橋渡し役」を追加するだけでAI-native化できるケースが多くあります。この記事では、AIと外部システムを安全に接続するための技術規格「MCP(Model Context Protocol)」を使い、既存のWEBシステムをAIから操作できるようにする具体的な構築例を紹介します。これは特別な研究開発を必要とせず、すでに確立された技術要素の組み合わせで実現できる方法です。
MCPとは何か
MCPは、AIが外部のツールやデータに安全にアクセスするための、オープンな技術規格です。「ホスト」(AIを使うアプリケーション)・「クライアント」(ホストとサーバーの通信を仲介する部分)・「サーバー」(AIから呼び出せる操作を定義する部分)という3つの要素で構成されます。
MCPサーバー側で「この操作をAIに公開する」というツールを定義しておくと、ホスト側のAIはそのツールの説明を読み取り、必要に応じて呼び出せるようになります。AIが直接システムのデータベースやAPIに触れるのではなく、MCPサーバーという定義済みの窓口を経由することで、AIに与える操作範囲を明確にコントロールできる点がポイントです。
新しく作り直す必要はない
既存の業務システムがすでにAPIを持っている場合、AI-native化のためにやるべきことは、そのAPIをMCPサーバーとしてラップし、AIから呼び出せるツールとして公開することです。システム本体のロジックやデータベースには手を入れず、AIとの接点だけを新たに追加する、という考え方になります。
構築例:Dify → MCP → 既存WEBシステム
実現方法の一つとして、ノーコードのAIアプリ開発プラットフォーム「Dify」と組み合わせた構築例を紹介します。
- APIを用意する(すでにある場合はAPIを洗い出す): 顧客検索、受注登録、在庫照会といった操作のAPIがすでにある場合は、それらを棚卸しします。まだAPI化されていない操作であれば、この段階でMCPサーバーの実装に合わせてAPIを新設します。
- AIに公開する操作を選び、MCPサーバーのツールとして定義する: すべてのAPIを公開する必要はありません。「在庫を照会する」「受注を登録する」など、AIに任せても安全な操作を選び、1操作=1ツールとして、入力パラメータと処理内容を明記します。
- MCPサーバーを実装する: 定義したツールが呼び出されたときに、既存システムのAPIを呼び出す薄いラッパーとして機能させます。既存APIがそのまま画面操作を前提にした形で、AIから使うには情報が過不足している場合は、このタイミングでAI向けに整理したAPIを新設することもあります。
- Dify側でこのMCPサーバーをツールとして接続する: DifyはMCPクライアントとしての機能を持っており、エージェントの設定画面からMCPサーバーを登録するだけで、そのサーバーが公開するツールをエージェントが使えるようになります。
- チャットから既存システムを操作する: Difyで作ったチャットUIに「〇〇社の在庫を確認して」のように自然文で指示すると、エージェントが該当するツールを判断し、MCP経由で既存システムのAPIを呼び出し、結果を回答として返します。
在庫確認・受注登録・顧客検索・出荷状況照会・請求書発行の5つ程度のAPIをツール化するだけで、チャットから既存システムの主要な操作をひととおり呼び出せる状態を作れます。ゼロから新しいAI-nativeなシステムを構築するのに比べて、着手のハードルは大幅に下がります。
既存APIがそのまま使えるとは限らない
注意したいのは、既存のAPIが必ずしもそのままAIから使いやすい形をしているとは限らない点です。画面操作を前提に設計されたAPIは、人間が入力する検索フォームに合わせて細かく条件を分けたパラメータになっていることが多く、AIが自然文の指示から直接組み立てるには不向きな場合があります。
こうしたケースでは、「検索条件を自然文で受け取り、内部で構造化して既存の検索APIに渡す」といった、AI向けのラッパーAPIをMCPサーバーの裏側に一段追加します。既存システムの改修を最小限にとどめながら、AIとの相性が悪い部分だけを新設APIで吸収する、という進め方です。
注意すべき点:権限とガードレール
MCP経由でAIに操作を許可するということは、AIの誤判断がそのまま既存システムへの実操作につながるリスクを意味します。導入時には次のようなガードレールを設計段階で組み込む必要があります。
- ツールごとに実行できる操作と権限の範囲を絞る(照会は自由に許可し、登録・更新は確認ステップを挟む、など)
- 金額や件数の大きい操作には、実行前に人の承認を挟む
- どのツールがいつ・誰の指示で呼び出されたかを、実行ログとして必ず残す
これらはMCP固有の話ではなく、AIに実操作を任せる際に共通して必要な設計ですが、既存システムに接続する場合は「すでに本番データが動いている」分、より慎重に設計する必要があります。
また見落とされがちですが、MCPサーバーとのやり取りに使われるデータそのものも、AIを経由します。「MCPサーバーを介しているのだから実質的にはAPI連携で、AIにはデータが渡っていない」と誤解されることがありますが、実際にはAIがMCPサーバーの応答を読み取った上で次の判断や回答を組み立てるため、そのデータはAIに渡っています。個人情報や機密情報を含む操作をツール化する際は、この前提を踏まえた上で公開する範囲を検討する必要があります。
まとめ
業務システムのAI-native化は、必ずしもゼロからの作り直しを意味しません。MCPという規格を使って既存システムの手前にAIとの窓口を追加するだけで、稼働中のシステムをそのままAIから操作できるようになります。Dify→MCP→既存WEBシステムという構成はその実現方法の一例であり、既存APIの整理やガードレールの設計さえ押さえれば、特別な研究開発を要さずに着手できる現実的な選択肢です。