ローカル MCP サーバー
Kerry Studio では、ローカル MCP サーバーがデスクトップ AI アシスタント(Cursor、Claude Desktop など)を、保存済みの接続につなぎます。それがなければ、チャットからテーブルを一覧したり SQL を走らせたりするには、schema や結果を手で貼ることになります。Kerry はあなたのパソコン上だけで待ち受け、パスワード、SSH、証明書をアプリに置き、アシスタントにプロジェクト、環境、データベースの種類、データベース名、schema、走らせたクエリの結果を渡します。Kerry のサーバーはそれを受け取りません。AI クライアントは、MCP が返したものをクラウドのモデルへ送ることがあります。
始める前に
次が必要です。
- Kerry Studio で開いた workspace
- MCP に対応したデスクトップ AI クライアント
パネルを開く
- workspace を開きます。
- 右サイドバーで MCP サーバー アイコンをクリックします。
- または workspace フッター(MCP 有効 / MCP 無効)、またはコマンドパレット(⌘K / CtrlK)で MCP パネルを開く を選びます。
既定では、Kerry Studio を終了して開き直しても、サーバーは再起動しません。起動時の設定は 設定 → MCP にあります(パネルの 設定 ヘッダーの歯車、またはコマンドパレット ⌘K / CtrlK → 設定: MCP)。
- アプリ起動時 → サーバーをオンにして起動:Kerry Studio を開くと MCP サーバーを開始します(既定はオフ)。
- アプリ起動時 → 常に読み取り専用モードで起動:次の起動では、前回がフルモードでも読み取り専用に戻します(既定はオン)。
パネルで、歯車の横の 本 アイコンがドキュメントを開きます(ドキュメントを開く)。
AI クライアントを設定する
- パネルで MCP サーバーを有効にする をオンにします。
- JSON をコピー をクリックします。
- JSON をクライアントの MCP 設定に貼ります(または既にある設定とマージします)。
- クライアントがサーバーを自分で再読み込みしなければ、クライアントを再起動します。
既定のアドレスは http://127.0.0.1:18765/mcp です。パネルの HTTP ポート でこのポートを変えます。サーバーがオンのあいだ、欄はロックされます。JSON をコピー は現在のポートと本物のトークンを使います。サンプルの YOUR_TOKEN は使わないでください。
{
"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 をクライアントに貼り直します。