ローカル MCP サーバー

ローカル MCP サーバー

Kerry Studio では、ローカル MCP サーバーがデスクトップ AI アシスタント(Cursor、Claude Desktop など)を、保存済みの接続につなぎます。それがなければ、チャットからテーブルを一覧したり SQL を走らせたりするには、schema や結果を手で貼ることになります。Kerry はあなたのパソコン上だけで待ち受け、パスワード、SSH、証明書をアプリに置き、アシスタントにプロジェクト、環境、データベースの種類、データベース名、schema、走らせたクエリの結果を渡します。Kerry のサーバーはそれを受け取りません。AI クライアントは、MCP が返したものをクラウドのモデルへ送ることがあります。

始める前に

次が必要です。

  • Kerry Studio で開いた workspace
  • MCP に対応したデスクトップ AI クライアント

パネルを開く

  1. workspace を開きます。
  2. 右サイドバーで MCP サーバー アイコンをクリックします。
  3. または workspace フッター(MCP 有効 / MCP 無効)、またはコマンドパレット(⌘K / CtrlK)で MCP パネルを開く を選びます。

既定では、Kerry Studio を終了して開き直しても、サーバーは再起動しません。起動時の設定は 設定 → MCP にあります(パネルの 設定 ヘッダーの歯車、またはコマンドパレット ⌘K / CtrlK → 設定: MCP)。

  • アプリ起動時 → サーバーをオンにして起動:Kerry Studio を開くと MCP サーバーを開始します(既定はオフ)。
  • アプリ起動時 → 常に読み取り専用モードで起動:次の起動では、前回がフルモードでも読み取り専用に戻します(既定はオン)。

パネルで、歯車の横の 本 アイコンがドキュメントを開きます(ドキュメントを開く)。

AI クライアントを設定する

  1. パネルで MCP サーバーを有効にする をオンにします。
  2. JSON をコピー をクリックします。
  3. JSON をクライアントの MCP 設定に貼ります(または既にある設定とマージします)。
  4. クライアントがサーバーを自分で再読み込みしなければ、クライアントを再起動します。

既定のアドレスは http://127.0.0.1:18765/mcp です。パネルの HTTP ポート でこのポートを変えます。サーバーがオンのあいだ、欄はロックされます。JSON をコピー は現在のポートと本物のトークンを使います。サンプルの YOUR_TOKEN は使わないでください。

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

読み取り専用とフルモード

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

読み取り専用でもデータベースは開きます。それがなければ schema も SELECT もありません。セッションを開くのは Kerry であり、あなたのパソコン上で、アプリ内の資格情報を使います。タブが接続している必要はありません。

パネルでのモード切り替えはすぐに効きます。Kerry Studio を再起動する必要はありません。

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

アシスタントが触れるもの

パスワード、SSH、証明書は Kerry に留まります。データベースセッションを開くのは Kerry であり、あなたのパソコン上です。接続エラーはユーザー名、ホスト、パスワード、ファイルパスを返しません。アシスタントが受け取る SQL 結果も、ファイルパス、ホスト、接続 URI、キーを省きます。Kerry のタブグリッドはそのままです。

接続一覧はプロジェクト、環境、データベースの種類、データベース名を示します(ローカルファイルではパスではなくファイル名)。

サーバーがオンなら、アシスタントは次も受け取ります。

  • テーブル名とビュー名
  • 列とテーブルの詳細
  • アシスタントが走らせた各 SQL 結果から最大 500 行

Kerry はそれを Kerry のサーバーへ送りません。AI クライアントはあなたのパソコン上で受け取り、モデルがクラウドなら、受け取ったものをプロバイダーへ送ることがあります。

チャットでの頼み方

技術的な接続ラベル(postgres など)だけではなく、プロジェクト と 環境 を名前で言ってください。

例:

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

アシスタントは Kerry に保存した接続を使います。@alias のない SQL は別セッションで走ります。タブも エンティティ サイドバーも切り替えません。@alias 付きの SQL、例は @billing.orders は、クエリを実行 と同じくアクティブな SQL タブを使います。@プロジェクト.テーブル はタブの環境に従います。アクティブなタブは SQL で、そのプロジェクトと環境に紐づいている必要があります。エンティティ に出るのは保存済みプロジェクトだけです。

アシスタントができること

モードアシスタントができること
読み取り専用接続を一覧する、プロジェクトと環境を探す、テーブルと列を調べる、schema を検索する、読み取り SQL を走らせる
フル上のすべてに加え、書き込み SQL

誰がつながっているかを見る

パネルの 観測 セクションは、Kerry と話しているアプリを一覧します。

  • 上部の数は、つながっているアプリの数です。
  • 各カードは 1 つのアプリです。カード上の数は、そのアプリが開いたデータベースセッションの数です。
  • アプリが接続する、切れる、データベースへのクエリを始めると、パネルが閉じていても通知が出ます。

アプリを落とす:カードのゴミ箱アイコン(接続を切断)をクリックして確認します。そのアプリの接続が終わります。別のアプリが同じデータベースをまだ使っていれば、それは残ります。最後の 1 つなら、Kerry はそのデータベースの MCP 接続を閉じます。

トラブルシューティング

  • AI クライアントが Kerry に届かない:URL が localhost ではなく 127.0.0.1 か、ポートが HTTP ポート と一致するかを確認します。ポートを変えたら JSON をコピー し直します。
  • JSON を貼ってもクライアントがつながらない:パネルでサーバーをオフにしてオンにするか、AI クライアントを再起動します。
  • クエリが拒否された:サーバーは読み取り専用です。書き込みが意図どおりならフルモードをオンにします。SHOW と SELECT の EXPLAIN は読み取りです。FOR UPDATE と SELECT INTO は違います。
  • データベースが見つからない:接続ラベルではなく、プロジェクトと環境(名前または @alias)で頼んでください。
  • @alias 付き SQL が失敗した:そのプロジェクトと環境に紐づいた SQL タブをフォーカスします。クエリを実行 と同じです。

パネルでトークンを再生成したら、JSON をクライアントに貼り直します。