本地 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 对话的应用。
- 顶部的数字是已连接的应用数量。
- 每张卡片是一个应用。卡片上的数字是 那个 应用打开了多少条数据库会话。
- 应用连接、断开,或开始查询数据库时会出现通知,即使面板是关着的。
要断开一个应用:点击卡片上的垃圾桶图标(断开连接)并确认。这会结束该应用的连接。如果另一个应用仍在使用同一数据库,它会留下。如果这是最后一个,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 再贴进客户端一次。