本地 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 对话的应用。

  • 顶部的数字是已连接的应用数量。
  • 每张卡片是一个应用。卡片上的数字是 那个 应用打开了多少条数据库会话。
  • 应用连接、断开,或开始查询数据库时会出现通知,即使面板是关着的。

要断开一个应用:点击卡片上的垃圾桶图标(断开连接)并确认。这会结束该应用的连接。如果另一个应用仍在使用同一数据库,它会留下。如果这是最后一个,Kerry 会关闭该数据库的 MCP 连接。

故障排查

  • AI 客户端连不上 Kerry:确认 URL 使用的是 127.0.0.1,不是 localhost,并且端口与 HTTP 端口 一致。改端口后请再次 复制 JSON。
  • 粘贴 JSON 后客户端仍连不上:在面板里把服务器关掉再打开,或重启 AI 客户端。
  • 查询被拒绝:服务器处于只读模式。如果这次写入是有意的,打开完整模式。SHOW 和对 SELECT 的 EXPLAIN 是读取。FOR UPDATE 和 SELECT INTO 不是。
  • 找不到数据库:按 项目和环境 来问(名称或 @alias),不要用连接标签。
  • 带 @alias 的 SQL 失败:聚焦已关联到该项目和环境的 SQL 标签页,与 执行查询 一样。

如果在面板里重新生成了令牌,把 JSON 再贴进客户端一次。