資格情報を渡さずにデータベースで MCP を使うには?

Kerry Studio に設定済みのデータベースへ、パスワード、SSH キー、証明書をモデルに渡さずに AI アシスタントをつなぎます。既定のアクセスは読み取り専用で、どのプロジェクトと環境を使えるかは自分で決めます。

データベースの作業を AI に頼むとき、たいていチャットへ何かをコピーします。テーブルの schema、動かないクエリ、あるいはクエリの結果です。無害に見えます。それでも本番データ、個人情報、共有するつもりがなかった詳細が外へ出ることがあります。

MCP サーバーを使っても、そのリスクは自動では消えません。エージェントがデータベースの資格情報を受け取る必要があるなら、共有の仕方を変えているだけです。

Kerry Studio は別のやり方を取ります。MCP サーバーはローカルで動き、Claude Desktop、ChatGPT、Gemini、Conductor、Cursor のようなデスクトップの AI クライアントが、アプリにすでに設定した接続を使えます。資格情報は Kerry に残り、アシスタントへ渡す必要はありません。

問い合わせたデータが AI に届かない、という意味ではありません。 アシスタントは作業に必要な情報を受け取ります。プロジェクト、環境、データベースの種類、データベース名、schema、クエリ結果です。クラウドのモデルを使っている場合、AI クライアントはその情報をモデル提供者へ送ることがあります。Kerry Studio はそれを Sireeus のサーバーへ送りません。

アシスタントに何を許すかも、自分で決められます。既定のアクセスは読み取り専用です。使えるプロジェクトと環境を絞れます。変更が必要ならフルモードを入れて、挿入、更新、削除を許可します。mcp.log には、アシスタントがサーバーへ送った要求と、Kerry が返した応答が残ります。

重要な限界があります。アシスタントがデータベースを問い合わせると、schema と各結果の最大 500 行は、モデルが分析できるように AI クライアントへ届く必要があります。アシスタントに見せたくない環境やデータへのアクセスは渡さず、信頼できる AI クライアントだけを使ってください。

要点は単純です。接続の資格情報を渡さずに、AI へデータベースへの制御されたアクセスを与える。 パスワードは Kerry Studio に置き、どのデータと操作をアシスタントが使えるかを自分で決めます。

サーバーを有効にするには

MCP パネルは workspace の選択画面には出ません。workspace を開いてください。

  1. 右サイドバーの MCP サーバー アイコンをクリックします。フッター(MCP 有効 / MCP 無効)とパレット(⌘K / CtrlK)→ MCP パネルを開く でも同じです。
  2. MCP サーバーを有効にする をオンにします。
  3. JSON をコピー をクリックし、クライアントの MCP 設定に貼ります。
  4. クライアントがサーバーを自分で読み直さないときは、クライアントを再起動します。

既定のアドレスは http://127.0.0.1:18765/mcp です。127.0.0.1 を使い、localhost は使わないでください。Kerry が受け付けるのは 127.0.0.1 だけです。JSON をコピー は今のポートと本物のトークンを使います。例の YOUR_TOKEN は使わないでください。

json
{
  "mcpServers": {
    "kerry-studio": {
      "url": "http://127.0.0.1:18765/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

既定では、Kerry Studio を閉じて開き直してもサーバーは入り直しません。設定 → MCP の アプリ起動時 → サーバーをオンにして起動 で変えられます。

読み取り専用から始める

既定ではサーバーは 読み取り専用 のままです。アシスタントは接続を一覧し、schema を見、読み取りクエリを走らせます。SELECT、SHOW、DESCRIBE、EXPLAIN(SELECT の ANALYZE を含む)。INSERT、UPDATE、DELETE、SELECT … FOR UPDATE、SELECT INTO、INTO OUTFILE、データを変える WITH は拒否されます。

読み取り専用でも、アシスタントのセッションではデータベースを開きます。それがなければ schema も SELECT もありません。Kerry の SQL タブが接続している必要はありません。

サーバー起動時に読み取り専用を強制する(既定はオン)は、サーバーが起動するたびに 読み取り専用モード をオンのままロックします。

アシスタントが触れる範囲を制限する

制限がなければ、保存済みの接続はどれもアシスタントに使えます。既定はすべてのプロジェクトと環境です。権限 で変えられます。

権限 は MCP パネルの 設定、設定 → MCP、またはパレットの MCP 権限 から開けます。

読み取り専用と読み取りと書き込みは、それぞれ自分のリストを持ちます。読み取りはカタログを見られるようにして、フルモードでは一部のプロジェクトだけを開ける、という使い方ができます。プロジェクトごとに選びたいときは すべてのプロジェクトと環境を許可 をオフにします。

使っているリストにプロジェクトがなければ、Kerry はその接続をアシスタント向けに開きません。@alias を使うクエリ(例: @billing.orders)も、その接続が使えないときはブロックされます。

プロジェクトと環境で依頼する

プロジェクト と 環境 を言ってください。データベースの種類だけにしないでください。そうしないと、アシスタントは別の接続を選ぶか、もう一度聞いてきます。

例:

  • 「billing プロジェクト、開発環境で、テーブルを一覧して」
  • 「Billing / 開発で、public.products の列は?」

@alias のない SQL は別セッションで走ります。タブも エンティティ バーも変わりません。@alias 付きの SQL は、そのプロジェクトと環境に接続したアクティブな SQL タブを使います。

mcp.log に何が書かれたかを確認する

Kerry Studio では、mcp.log がアシスタントとのやり取りを残します。REQUEST はアシスタントが送った内容で、SQL も含みます。RESPONSE は Kerry が返したものです。MCP パネルの 観測 見出しからファイルを開きます。

既定では Kerry は、ファイルと応答の両方でパスワード、トークン、認可、秘密鍵を隠します。メールはファイルの中だけ消えます。接続文字列、ホスト、ユーザー、パスはアシスタントへの応答の中だけ消えます。自分のデータベースの列が RESPONSE に実値のまま出るときは、墨消しする値 にそのフィールドを足してください。

観測 では、各カードが Kerry に繋がっているアプリです。ゴミ箱(接続を切断)はそのアプリを終了します。

各コントロールの説明は ローカル MCP サーバー にあります。