自社の業務システムをMCP対応にする——AIエージェントに全権限を渡さずにDBを操作させる4つの経路
名古屋でAIシステム開発の会社をやっています。自社の買い切り業務システム2製品にMCPサーバーを自作して同梱し、さらに社内で運用中の本番データベースにClaude CodeとCodexの両方を繋ぎました。
MCP(Model Context Protocol)は、AIエージェントに外部の道具を使わせる仕組みです。日本語の解説の多くは「公開されているMCPサーバーを繋いでみた」で止まっていますが、本当に価値があるのは自社のシステムを繋げることだと考えて実装しました。制作の経緯と技術的な裏話はnoteに書きました。
この記事では、同じことを実現する4つの経路を仕分けします。
先に結論——何ができるようになったか
社内の見積データベースに対して、Claude CodeやCodexにこう頼めます。
「コードにKUSNを含む見積を2件探して、品名を教えて」
AIが本番データから答えます。SQLは1行も書いていませんし、ブラウザで管理画面も開いていません。
そして重要なのは、AIに全権限を渡していないことです。設定で宣言した表・列・操作しか通らないので、AIが別のテーブルを覗こうとすれば「その表は許可されていません」と拒否され、削除禁止の表への削除も通りません。実測で確認済みです。
安全設計で外せない3原則
自社システムをAIに繋ぐとき、これだけは守るべきだと考えています。
- 新しい権限の経路を作らない — MCPサーバーは既存の制限を通す薄い橋にする。判定は今までどおり本体にやらせる
- 生SQLを渡す口を作らない — 「好きなSQLを実行する」道具を1つ用意すれば実装は楽だが、それはAIに全権を渡すのと同じ
- 読み取り専用モードを用意する — 参照だけでいい相手には、書き込みの道具をそもそも見せない
「AIに業務システムを触らせるのは怖い」という抵抗は、この3つで実際に下がります。
経路1: 自分で書く(無料・エンジニア向け)
MCPの仕様は公開されています。中身は「標準入出力で1行1メッセージのJSON-RPCを喋る」だけで、答えるべき問い合わせは実質4種類(初期化・疎通確認・道具の一覧・道具の実行)。PHPでもPythonでも書けます。
当社のDB管理ツールはGitHubで公開しており、同梱のMCPサーバー(PHP1枚)もそのまま読めます。
経路2: 作り方の手順書 5,500円(Brain)
実装の全手順を記事にしました。PHPのソース全文、既存システムへの2つの接続方式、サーバー運用中のシステムに後付けするリモートブリッジ、Claude Code / Codex / Claude Desktop それぞれの登録手順、そして実際に踏んだ罠7つの逆引き表が入っています。
罠の例を1つ出しておくと、Codexの非対話実行(codex exec)ではMCP呼び出しが user cancelled MCP tool call で勝手にキャンセルされます。承認設定を変えても直りません(対話モードなら動きます)。私はこれを自作サーバーのバグだと思って探しましたが、サーバー側は0.2秒で正常応答していました。こういう「動かしてみないと分からないこと」が一番時間を食います。
経路3: MCP対応済みの製品を買う 55,000円
自分で書かず、最初からMCPサーバーが同梱された業務システムを使う経路です。
- Kurage DB Agent(DB管理ツール・買い切り55,000円) — 宣言した表・列・操作だけを、人にもAIにも触らせる
- Kurage AI MOM(AI議事録・買い切り) — 確定済みの議事録をAIの調べもの先にする(未承認の下書きは出さない設計)
製品そのものの考え方はBrainの正規販売記事に詳しく書きました。
経路4: 自社システムに合わせて作ってもらう 110,000円〜
「うちの基幹システムをAIから操作したい」「既存の社内ツールに後付けしたい」という場合は当社が開発します。
すでに運用中のシステムには、手元のPCからHTTPS経由で繋ぐブリッジ方式が使えます(手元にDB接続情報を置かずに済みます)。当社は自社の本番システムをこの方法で繋ぎました。
どれを選ぶべきか
- MCPの仕組みを理解していて自分で書ける → 経路1(無料)
- 自分で(またはAIと)実装したいが、罠を踏んで時間を溶かしたくない → 経路2(5,500円)
- 実装せずにMCP対応の業務システムが欲しい → 経路3(55,000円)
- 既存の自社システムを対応させたい → 経路4(開発代行)
「全部できる道具」を渡して事故を祈るより、「これだけできる道具」を渡す。人にもAIにも、そのほうが安全です。