如何在不暴露凭据的情况下把 MCP 用于数据库?

把 AI 助手接到 Kerry Studio 里已配置的数据库,不必把密码、SSH 密钥或证书交给模型。默认以只读方式访问,由你决定助手能用哪些项目和环境。

请 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。

  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 服务器。