VWork バイブコーディングフレームワーク

phpMyAdminを社内に置かない——見せる表・列・操作を宣言するDB管理ツールと、その入手経路4つ

2026年8月28日

名古屋でAIシステム開発の会社をやっています。Kurage DB Agent(kdbagent)という買い切りのデータベース管理ツールを作っています。この記事はその設計思想と入手経路の話です。制作の背景はnoteに書きました

解いている問題

昔からある相談と、最近増えた相談が、実は同じ問題でした。

phpMyAdminやAdminerはDB管理者のための万能ツールで、任意のSQLが実行できます。「顧客の電話番号を1件直したいだけ」の相手に渡すと、全テーブルを削除できる権限も一緒に渡すことになります。AIエージェントに対しても構図はまったく同じです。

考え方を逆にした

万能な道具に制限をかけるのではなく、最初から「宣言した範囲だけ」の道具にしました。

'customers' => array(
    'columns'    => array('id','name','email','phone','note'),  // これ以外の列は見えない
    'search'     => array('name','email','phone'),
    'editable'   => array('name','email','phone','note'),        // これ以外は書き換えられない
    'can_delete' => false,                                        // 削除は禁止
),

宣言していない表・列・操作は実行できません。原価や内部フラグのように「見せたくない列」は、書かなければ存在しないのと同じです。

4つの入口が、同じ宣言を通る

入口 使う人
ブラウザ 非エンジニアの担当者(パスワードでログインして検索・編集)
コマンド 自動処理(全部JSONを返す)
HTTP API 外部システム連携(トークン必須)
MCPサーバー Claude Code / Codex / Claude Desktop

2026年8月にMCPサーバーを同梱しました。1行登録すると、AIに日本語で「コードにKUSNを含む見積を2件探して」と頼めます。当社は自社で運用している見積データベースでこれを実測しました。

それでいてAIは範囲外を壊せません。 宣言外のテーブルを覗こうとすれば「その表は許可されていません」、削除禁止の表への削除も拒否されます。参照だけ許したい相手には読み取り専用モードがあり、書き込みの道具がそもそもAIから見えなくなります。

すでにサーバーで運用している場合も、手元のPCからHTTPS経由で繋ぐブリッジを同梱しているので後付けできます(手元にDB接続情報を置かずに済みます)。

動作環境

SQLは全てプリペアドステートメント、表名・列名は使用前に必ず宣言と照合、管理画面はパスワード+CSRF、変更は全て監査ログ(誰が・いつ・どの表のどの行を・どう変えたか)。

入手経路4つ

経路1: 無料(GitHub・MIT)

コード本体は公開しています。設定を自分で書ける方はこれで十分です。

経路2: 手順書 5,500円

MCPサーバーの作り方そのものを知りたい方向けの教材です(PHPソース全文・登録手順・罠の逆引き)。

経路3: 製品として買う 55,000円(買い切り)

手順書・AI用指示書・MCPサーバー同梱のzipが届きます。月額はありません。MITなので改変・商用利用・再販も自由です。

経路4: 自社の要件に合わせて作ってもらう 110,000円〜

権限設計のコツ(有償の手順書にも書いていること)

「AIに触らせるのが不安」という相談を受けたときの正解は、AIの側で制御しようとすることではなく、宣言を狭めることです。設定が最終的な防波堤になります。